summaryrefslogtreecommitdiff
path: root/inc/BRepPrim_Builder.hxx
blob: e67a2c69d9639697a9bda9683dfa759255ef7ece (plain)
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
// 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 _BRepPrim_Builder_HeaderFile
#define _BRepPrim_Builder_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif

#ifndef _BRep_Builder_HeaderFile
#include <BRep_Builder.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
class BRep_Builder;
class TopoDS_Shell;
class TopoDS_Face;
class gp_Pln;
class TopoDS_Wire;
class TopoDS_Edge;
class gp_Lin;
class gp_Circ;
class gp_Lin2d;
class gp_Circ2d;
class TopoDS_Vertex;
class gp_Pnt;


//! implements the abstract Builder with the BRep Builder <br>
class BRepPrim_Builder  {
public:

  void* operator new(size_t,void* anAddress) 
  {
    return anAddress;
  }
  void* operator new(size_t size) 
  {
    return Standard::Allocate(size); 
  }
  void  operator delete(void *anAddress) 
  {
    if (anAddress) Standard::Free((Standard_Address&)anAddress); 
  }

  //! Creates an empty, useless  Builder. Necesseray for <br>
//!          compilation. <br>
  Standard_EXPORT   BRepPrim_Builder();
  //! Creates from a Builder. <br>
  Standard_EXPORT   BRepPrim_Builder(const BRep_Builder& B);
  
       const BRep_Builder& Builder() const;
  //! Make a empty Shell. <br>
  Standard_EXPORT     void MakeShell(TopoDS_Shell& S) const;
  //! Returns in   <F> a  Face  built  with   the  plane <br>
//!          equation <P>. Used by all primitives. <br>
  Standard_EXPORT     void MakeFace(TopoDS_Face& F,const gp_Pln& P) const;
  //! Returns in <W> an empty Wire. <br>
  Standard_EXPORT     void MakeWire(TopoDS_Wire& W) const;
  //! Returns in <E> a degenerated edge. <br>
  Standard_EXPORT     void MakeDegeneratedEdge(TopoDS_Edge& E) const;
  //! Returns   in <E>  an  Edge  built  with  the  line <br>
//!          equation  <L>. <br>
  Standard_EXPORT     void MakeEdge(TopoDS_Edge& E,const gp_Lin& L) const;
  //! Returns  in <E>   an  Edge  built  with the circle <br>
//!          equation  <C>. <br>
  Standard_EXPORT     void MakeEdge(TopoDS_Edge& E,const gp_Circ& C) const;
  //! Sets the line <L> to be the curve representing the <br>
//!          edge <E> in the parametric space of the surface of <br>
//!          <F>. <br>
  Standard_EXPORT     void SetPCurve(TopoDS_Edge& E,const TopoDS_Face& F,const gp_Lin2d& L) const;
  //! Sets the    lines  <L1,L2>  to   be     the curves <br>
//!          representing the edge <E>  in the parametric space <br>
//!          of the closed surface of <F>. <br>
  Standard_EXPORT     void SetPCurve(TopoDS_Edge& E,const TopoDS_Face& F,const gp_Lin2d& L1,const gp_Lin2d& L2) const;
  //! Sets the  circle <C> to  be the curve representing <br>
//!          the  edge <E>  in   the  parametric  space of  the <br>
//!          surface of <F>. <br>
  Standard_EXPORT     void SetPCurve(TopoDS_Edge& E,const TopoDS_Face& F,const gp_Circ2d& C) const;
  //! Returns in <V> a Vertex built with the point <P>. <br>
  Standard_EXPORT     void MakeVertex(TopoDS_Vertex& V,const gp_Pnt& P) const;
  //! Reverses the Face <F>. <br>
  Standard_EXPORT     void ReverseFace(TopoDS_Face& F) const;
  //! Adds the Vertex <V> in the Edge <E>.  <P> is the <br>
//!          parameter of the vertex on the  edge.  If direct <br>
//!          is False the Vertex is reversed. <br>
  Standard_EXPORT     void AddEdgeVertex(TopoDS_Edge& E,const TopoDS_Vertex& V,const Standard_Real P,const Standard_Boolean direct) const;
  //! Adds  the Vertex <V>  in the Edge <E>.   <P1,P2> <br>
//!          are the  parameters of the  vertex on the closed <br>
//!          edge. <br>
  Standard_EXPORT     void AddEdgeVertex(TopoDS_Edge& E,const TopoDS_Vertex& V,const Standard_Real P1,const Standard_Real P2) const;
  //! <P1,P2> are the parameters of the  vertex on the <br>
//!          edge.  The edge is a closed curve. <br>
  Standard_EXPORT     void SetParameters(TopoDS_Edge& E,const TopoDS_Vertex& V,const Standard_Real P1,const Standard_Real P2) const;
  //! Adds the Edge <E> in the  Wire <W>, if direct is <br>
//!          False the Edge is reversed. <br>
  Standard_EXPORT     void AddWireEdge(TopoDS_Wire& W,const TopoDS_Edge& E,const Standard_Boolean direct) const;
  //! Adds the Wire <W> in  the Face <F>. <br>
  Standard_EXPORT     void AddFaceWire(TopoDS_Face& F,const TopoDS_Wire& W) const;
  //! Adds the Face <F>  in the Shell <Sh>. <br>
  Standard_EXPORT     void AddShellFace(TopoDS_Shell& Sh,const TopoDS_Face& F) const;
  //! This is called once an edge is completed. It gives <br>
//!          the opportunity to perform any post treatment. <br>
  Standard_EXPORT     void CompleteEdge(TopoDS_Edge& E) const;
  //! This is called once a wire is  completed. It gives <br>
//!          the opportunity to perform any post treatment. <br>
  Standard_EXPORT     void CompleteWire(TopoDS_Wire& W) const;
  //! This is called once a face is  completed. It gives <br>
//!          the opportunity to perform any post treatment. <br>
  Standard_EXPORT     void CompleteFace(TopoDS_Face& F) const;
  //! This is called once a shell is  completed. It gives <br>
//!          the opportunity to perform any post treatment. <br>
  Standard_EXPORT     void CompleteShell(TopoDS_Shell& S) const;





protected:





private:



BRep_Builder myBuilder;


};


#include <BRepPrim_Builder.lxx>



// other Inline functions and methods (like "C++: function call" methods)


#endif