File: BRepFeat_MakeDPrism.hxx

package info (click to toggle)
oce 0.18.3-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 301,548 kB
  • sloc: cpp: 1,190,609; ansic: 67,225; sh: 11,630; tcl: 7,954; cs: 5,221; python: 2,867; java: 1,522; makefile: 342; xml: 292; perl: 37
file content (157 lines) | stat: -rw-r--r-- 5,876 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _BRepFeat_MakeDPrism_HeaderFile
#define _BRepFeat_MakeDPrism_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>

#include <TopoDS_Face.hxx>
#include <TopTools_DataMapOfShapeListOfShape.hxx>
#include <Standard_Real.hxx>
#include <TColGeom_SequenceOfCurve.hxx>
#include <Handle_Geom_Curve.hxx>
#include <TopTools_ListOfShape.hxx>
#include <BRepFeat_StatusError.hxx>
#include <BRepFeat_Form.hxx>
#include <Standard_Integer.hxx>
#include <Standard_Boolean.hxx>
class Geom_Curve;
class Standard_ConstructionError;
class TopoDS_Shape;
class TopoDS_Face;
class TopoDS_Edge;
class TColGeom_SequenceOfCurve;
class TopTools_ListOfShape;


//! Describes functions to build draft
//! prism topologies from basis shape surfaces. These can be depressions or protrusions.
//! The semantics of draft prism feature creation is based on the
//! construction of shapes:
//! -          along a length
//! -          up to a limiting face
//! -          from a limiting face to a height.
//! The shape defining construction of the draft prism feature can be
//! either the supporting edge or the concerned area of a face.
//! In case of the supporting edge, this contour can be attached to a
//! face of the basis shape by binding. When the contour is bound to this
//! face, the information that the contour will slide on the face
//! becomes available to the relevant class methods.
//! In case of the concerned area of a face, you could, for example, cut
//! it out and move it to a different height which will define the
//! limiting face of a protrusion or depression.
class BRepFeat_MakeDPrism  : public BRepFeat_Form
{
public:

  DEFINE_STANDARD_ALLOC

  
  //! A face Pbase is selected in the shape
  //! Sbase to serve as the basis for the draft prism. The
  //! draft will be defined by the angle Angle and Fuse offers a choice between:
  //! - removing matter with a Boolean cut using the setting 0
  //! - adding matter with Boolean fusion using the setting 1.
  //! The sketch face Skface serves to determine the type of
  //! operation. If it is inside the basis shape, a local
  //! operation such as glueing can be performed.
  //! Initializes the draft prism class
    BRepFeat_MakeDPrism(const TopoDS_Shape& Sbase, const TopoDS_Face& Pbase, const TopoDS_Face& Skface, const Standard_Real Angle, const Standard_Integer Fuse, const Standard_Boolean Modify);
  
  Standard_EXPORT BRepFeat_MakeDPrism();
  
  //! Initializes this algorithm for building draft prisms along surfaces.
  //! A face Pbase is selected in the basis shape Sbase to
  //! serve as the basis from the draft prism. The draft will be
  //! defined by the angle Angle and Fuse offers a choice between:
  //! -   removing matter with a Boolean cut using the setting 0
  //! -   adding matter with Boolean fusion using the setting  1.
  //! The sketch face Skface serves to determine the type of
  //! operation. If it is inside the basis shape, a local
  //! operation such as glueing can be performed.
  Standard_EXPORT   void Init (const TopoDS_Shape& Sbase, const TopoDS_Face& Pbase, const TopoDS_Face& Skface, const Standard_Real Angle, const Standard_Integer Fuse, const Standard_Boolean Modify) ;
  
  //! Indicates that the edge <E> will slide on the face
  //! <OnFace>.
  //! Raises ConstructionError if the  face does not belong to the
  //! basis shape, or the edge to the prismed shape.
  Standard_EXPORT   void Add (const TopoDS_Edge& E, const TopoDS_Face& OnFace) ;
  
  Standard_EXPORT   void Perform (const Standard_Real Height) ;
  
  Standard_EXPORT   void Perform (const TopoDS_Shape& Until) ;
  
  //! Assigns one of the following semantics
  //! -   to a height Height
  //! -   to a face Until
  //! -   from a face From to a height Until.
  //! Reconstructs the feature topologically according to the semantic option chosen.
  Standard_EXPORT   void Perform (const TopoDS_Shape& From, const TopoDS_Shape& Until) ;
  
  //! Realizes a semi-infinite prism, limited by the position of the prism base.
  Standard_EXPORT   void PerformUntilEnd() ;
  
  //! Realizes a semi-infinite prism, limited by the face Funtil.
  Standard_EXPORT   void PerformFromEnd (const TopoDS_Shape& FUntil) ;
  
  //! Builds an infinite prism. The infinite descendants will not be kept in the result.
  Standard_EXPORT   void PerformThruAll() ;
  
  //! Assigns both a limiting shape, Until from
  //! TopoDS_Shape, and a height, Height at which to stop
  //! generation of the prism feature.
  Standard_EXPORT   void PerformUntilHeight (const TopoDS_Shape& Until, const Standard_Real Height) ;
  
  Standard_EXPORT   void Curves (TColGeom_SequenceOfCurve& S) ;
  
  Standard_EXPORT   Handle(Geom_Curve) BarycCurve() ;
  
  //! Determination of TopEdges and LatEdges.
  //! sig = 1 -> TopEdges = FirstShape of the DPrism
  //! sig = 2 -> TOpEdges = LastShape of the DPrism
  Standard_EXPORT   void BossEdges (const Standard_Integer sig) ;
  
  //! Returns the list of TopoDS Edges of the top of the boss.
  Standard_EXPORT  const  TopTools_ListOfShape& TopEdges() ;
  
  //! Returns the list of TopoDS Edges of the bottom of the boss.
  Standard_EXPORT  const  TopTools_ListOfShape& LatEdges() ;




protected:





private:



  TopoDS_Face myPbase;
  TopTools_DataMapOfShapeListOfShape mySlface;
  Standard_Real myAngle;
  TColGeom_SequenceOfCurve myCurves;
  Handle(Geom_Curve) myBCurve;
  TopTools_ListOfShape myTopEdges;
  TopTools_ListOfShape myLatEdges;
  BRepFeat_StatusError myStatusError;


};


#include <BRepFeat_MakeDPrism.lxx>





#endif // _BRepFeat_MakeDPrism_HeaderFile