summaryrefslogtreecommitdiff
path: root/inc/BRepTools_ShapeSet.hxx
blob: 9fe53c0021a0b90255266cedb95ddde1890ca177 (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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
// 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 _BRepTools_ShapeSet_HeaderFile
#define _BRepTools_ShapeSet_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 _GeomTools_SurfaceSet_HeaderFile
#include <GeomTools_SurfaceSet.hxx>
#endif
#ifndef _GeomTools_CurveSet_HeaderFile
#include <GeomTools_CurveSet.hxx>
#endif
#ifndef _GeomTools_Curve2dSet_HeaderFile
#include <GeomTools_Curve2dSet.hxx>
#endif
#ifndef _TColStd_IndexedMapOfTransient_HeaderFile
#include <TColStd_IndexedMapOfTransient.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _TopTools_ShapeSet_HeaderFile
#include <TopTools_ShapeSet.hxx>
#endif
#ifndef _Standard_OStream_HeaderFile
#include <Standard_OStream.hxx>
#endif
#ifndef _Standard_IStream_HeaderFile
#include <Standard_IStream.hxx>
#endif
#ifndef _TopAbs_ShapeEnum_HeaderFile
#include <TopAbs_ShapeEnum.hxx>
#endif
class BRep_Builder;
class TopoDS_Shape;


//! Contains a Shape and all  its subshapes, locations <br>
//!          and geometries. <br>
//! <br>
//!          The topology is inherited from TopTools. <br>
class BRepTools_ShapeSet  : public TopTools_ShapeSet {
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); 
  }

  //! Builds an empty ShapeSet. <br>
//!          Parameter <isWithTriangles> is added for XML Persistence <br>
  Standard_EXPORT   BRepTools_ShapeSet(const Standard_Boolean isWithTriangles = Standard_True);
  //! Builds an empty ShapeSet. <br>
//!          Parameter <isWithTriangles> is added for XML Persistence <br>
  Standard_EXPORT   BRepTools_ShapeSet(const BRep_Builder& B,const Standard_Boolean isWithTriangles = Standard_True);
  //! Clears the content of the set. <br>
  Standard_EXPORT   virtual  void Clear() ;
  //! Stores the goemetry of <S>. <br>
  Standard_EXPORT   virtual  void AddGeometry(const TopoDS_Shape& S) ;
  //! Dumps the geometry of me on the stream <OS>. <br>
  Standard_EXPORT   virtual  void DumpGeometry(Standard_OStream& OS) const;
  //! Writes the geometry of  me  on the stream <OS> in a <br>
//!          format that can be read back by Read. <br>
  Standard_EXPORT   virtual  void WriteGeometry(Standard_OStream& OS) ;
  //! Reads the geometry of me from the  stream  <IS>. <br>
  Standard_EXPORT   virtual  void ReadGeometry(Standard_IStream& IS) ;
  //! Dumps the geometry of <S> on the stream <OS>. <br>
  Standard_EXPORT   virtual  void DumpGeometry(const TopoDS_Shape& S,Standard_OStream& OS) const;
  //! Writes the geometry of <S>  on the stream <OS> in a <br>
//!          format that can be read back by Read. <br>
  Standard_EXPORT   virtual  void WriteGeometry(const TopoDS_Shape& S,Standard_OStream& OS) const;
  //! Reads the geometry of a shape of type <T> from the <br>
//!          stream <IS> and returns it in <S>. <br>
  Standard_EXPORT   virtual  void ReadGeometry(const TopAbs_ShapeEnum T,Standard_IStream& IS,TopoDS_Shape& S) ;
  //! Inserts  the shape <S2> in  the  shape <S1>.  This <br>
//!          method must be   redefined  to  use   the  correct <br>
//!          builder. <br>
  Standard_EXPORT   virtual  void AddShapes(TopoDS_Shape& S1,const TopoDS_Shape& S2) ;
  
  Standard_EXPORT   virtual  void Check(const TopAbs_ShapeEnum T,TopoDS_Shape& S) ;
  //! Reads the 3d polygons  of me <br>
//!          from the  stream  <IS>. <br>
  Standard_EXPORT     void ReadPolygon3D(Standard_IStream& IS) ;
  //! Writes the 3d polygons <br>
//!          on the stream <OS> in a format that can <br>
//!          be read back by Read. <br>
  Standard_EXPORT     void WritePolygon3D(Standard_OStream& OS,const Standard_Boolean Compact = Standard_True) const;
  //! Dumps the 3d polygons <br>
//!          on the stream <OS>. <br>
  Standard_EXPORT     void DumpPolygon3D(Standard_OStream& OS) const;
  //! Reads the triangulation of me <br>
//!          from the  stream  <IS>. <br>
  Standard_EXPORT     void ReadTriangulation(Standard_IStream& IS) ;
  //! Writes the triangulation <br>
//!          on the stream <OS> in a format that can <br>
//!          be read back by Read. <br>
  Standard_EXPORT     void WriteTriangulation(Standard_OStream& OS,const Standard_Boolean Compact = Standard_True) const;
  //! Dumps the triangulation <br>
//!          on the stream <OS>. <br>
  Standard_EXPORT     void DumpTriangulation(Standard_OStream& OS) const;
  //! Reads the polygons on triangulation of me <br>
//!          from the  stream  <IS>. <br>
  Standard_EXPORT     void ReadPolygonOnTriangulation(Standard_IStream& IS) ;
  //! Writes the polygons on triangulation <br>
//!          on the stream <OS> in a format that can <br>
//!          be read back by Read. <br>
  Standard_EXPORT     void WritePolygonOnTriangulation(Standard_OStream& OS,const Standard_Boolean Compact = Standard_True) const;
  //! Dumps the polygons on triangulation <br>
//!          on the stream <OS>. <br>
  Standard_EXPORT     void DumpPolygonOnTriangulation(Standard_OStream& OS) const;





protected:





private:



BRep_Builder myBuilder;
GeomTools_SurfaceSet mySurfaces;
GeomTools_CurveSet myCurves;
GeomTools_Curve2dSet myCurves2d;
TColStd_IndexedMapOfTransient myPolygons2D;
TColStd_IndexedMapOfTransient myPolygons3D;
TColStd_IndexedMapOfTransient myTriangulations;
TColStd_IndexedMapOfTransient myNodes;
Standard_Boolean myWithTriangles;


};





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


#endif