0031336: Modeling data - extend BRepPrimAPI_MakeBox with planar shape creation
[occt.git] / src / BRepPrim / BRepPrim_Wedge.hxx
1 // Created on: 1995-01-09
2 // Created by: Modelistation
3 // Copyright (c) 1995-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
5 //
6 // This file is part of Open CASCADE Technology software library.
7 //
8 // This library is free software; you can redistribute it and/or modify it under
9 // the terms of the GNU Lesser General Public License version 2.1 as published
10 // by the Free Software Foundation, with special exception defined in the file
11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 // distribution for complete text of the license and disclaimer of any warranty.
13 //
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
16
17 #ifndef _BRepPrim_Wedge_HeaderFile
18 #define _BRepPrim_Wedge_HeaderFile
19
20 #include <Standard.hxx>
21 #include <Standard_DefineAlloc.hxx>
22 #include <Standard_Handle.hxx>
23
24 #include <BRepPrim_GWedge.hxx>
25 #include <Standard_Real.hxx>
26 class Standard_DomainError;
27 class gp_Ax2;
28
29
30 //! Provides constructors without Builders.
31 class BRepPrim_Wedge  : public BRepPrim_GWedge
32 {
33 public:
34
35   DEFINE_STANDARD_ALLOC
36
37   //! Default constructor
38   BRepPrim_Wedge() {}
39
40   //! Creates a  Wedge  algorithm.   <Axes> is  the axis
41   //! system for the primitive.
42   //!
43   //! XMin, YMin, ZMin are set to 0
44   //! XMax, YMax, ZMax are set to dx, dy, dz
45   //! Z2Min = ZMin
46   //! Z2Max = ZMax
47   //! X2Min = XMin
48   //! X2Max = XMax
49   //! The result is a box
50   //! dx,dy,dz should be positive
51   Standard_EXPORT BRepPrim_Wedge(const gp_Ax2& Axes, const Standard_Real dx, const Standard_Real dy, const Standard_Real dz);
52   
53   //! Creates  a Wedge  primitive. <Axes> is   the  axis
54   //! system for the primitive.
55   //!
56   //! XMin, YMin, ZMin are set to 0
57   //! XMax, YMax, ZMax are set to dx, dy, dz
58   //! Z2Min = ZMin
59   //! Z2Max = ZMax
60   //! X2Min = ltx
61   //! X2Max = ltx
62   //! The result is a STEP right angular wedge
63   //! dx,dy,dz should be positive
64   //! ltx should not be negative
65   Standard_EXPORT BRepPrim_Wedge(const gp_Ax2& Axes, const Standard_Real dx, const Standard_Real dy, const Standard_Real dz, const Standard_Real ltx);
66   
67   //! Create  a Wedge primitive.   <Axes>  is  the  axis
68   //! system for the primitive.
69   //!
70   //! all the fields are set to the corresponding value
71   //! XYZMax - XYZMin should be positive
72   //! ZX2Max - ZX2Min should not be negative
73   Standard_EXPORT BRepPrim_Wedge(const gp_Ax2& Axes, const Standard_Real xmin, const Standard_Real ymin, const Standard_Real zmin, const Standard_Real z2min, const Standard_Real x2min, const Standard_Real xmax, const Standard_Real ymax, const Standard_Real zmax, const Standard_Real z2max, const Standard_Real x2max);
74
75
76
77
78 protected:
79
80
81
82
83
84 private:
85
86
87
88
89
90 };
91
92
93
94
95
96
97
98 #endif // _BRepPrim_Wedge_HeaderFile