summaryrefslogtreecommitdiff
path: root/inc/MgtBRep_TranslateTool.hxx
blob: 744aff3209fbc02a2d3a57893e58a1f5a87390f5 (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
// 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 _MgtBRep_TranslateTool_HeaderFile
#define _MgtBRep_TranslateTool_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_MgtBRep_TranslateTool_HeaderFile
#include <Handle_MgtBRep_TranslateTool.hxx>
#endif

#ifndef _MgtBRep_TriangleMode_HeaderFile
#include <MgtBRep_TriangleMode.hxx>
#endif
#ifndef _MgtTopoDS_TranslateTool_HeaderFile
#include <MgtTopoDS_TranslateTool.hxx>
#endif
#ifndef _Handle_PGeom_Curve_HeaderFile
#include <Handle_PGeom_Curve.hxx>
#endif
#ifndef _Handle_Geom_Curve_HeaderFile
#include <Handle_Geom_Curve.hxx>
#endif
#ifndef _Handle_PGeom2d_Curve_HeaderFile
#include <Handle_PGeom2d_Curve.hxx>
#endif
#ifndef _Handle_Geom2d_Curve_HeaderFile
#include <Handle_Geom2d_Curve.hxx>
#endif
#ifndef _Handle_PGeom_Surface_HeaderFile
#include <Handle_PGeom_Surface.hxx>
#endif
#ifndef _Handle_Geom_Surface_HeaderFile
#include <Handle_Geom_Surface.hxx>
#endif
#ifndef _Handle_PTopoDS_HShape_HeaderFile
#include <Handle_PTopoDS_HShape.hxx>
#endif
class Standard_TypeMismatch;
class PGeom_Curve;
class Geom_Curve;
class PTColStd_TransientPersistentMap;
class PTColStd_PersistentTransientMap;
class PGeom2d_Curve;
class Geom2d_Curve;
class PGeom_Surface;
class Geom_Surface;
class TopoDS_Shape;
class PTopoDS_HShape;


//! The TranslateTool class is provided to support the <br>
//!          translation of BRep topological data structures. <br>
class MgtBRep_TranslateTool : public MgtTopoDS_TranslateTool {

public:

  //! Creates a new TranslateTool <br>
  Standard_EXPORT   MgtBRep_TranslateTool(const MgtBRep_TriangleMode aTriMode);
  
  Standard_EXPORT     void Add(TopoDS_Shape& S1,const TopoDS_Shape& S2) const;
  
  Standard_EXPORT     void MakeVertex(TopoDS_Shape& S) const;
  
  Standard_EXPORT     void MakeVertex(const Handle(PTopoDS_HShape)& S) const;
  
  Standard_EXPORT     void MakeEdge(TopoDS_Shape& S) const;
  
  Standard_EXPORT     void MakeEdge(const Handle(PTopoDS_HShape)& S) const;
  
  Standard_EXPORT     void MakeWire(TopoDS_Shape& S) const;
  
  Standard_EXPORT     void MakeWire(const Handle(PTopoDS_HShape)& S) const;
  
  Standard_EXPORT     void MakeFace(TopoDS_Shape& S) const;
  
  Standard_EXPORT     void MakeFace(const Handle(PTopoDS_HShape)& S) const;
  
  Standard_EXPORT     void MakeShell(TopoDS_Shape& S) const;
  
  Standard_EXPORT     void MakeShell(const Handle(PTopoDS_HShape)& S) const;
  
  Standard_EXPORT     void MakeSolid(TopoDS_Shape& S) const;
  
  Standard_EXPORT     void MakeSolid(const Handle(PTopoDS_HShape)& S) const;
  
  Standard_EXPORT     void MakeCompSolid(TopoDS_Shape& S) const;
  
  Standard_EXPORT     void MakeCompSolid(const Handle(PTopoDS_HShape)& S) const;
  
  Standard_EXPORT     void MakeCompound(TopoDS_Shape& S) const;
  
  Standard_EXPORT     void MakeCompound(const Handle(PTopoDS_HShape)& S) const;
  
  Standard_EXPORT   virtual  void UpdateVertex(const TopoDS_Shape& S1,const Handle(PTopoDS_HShape)& S2,PTColStd_TransientPersistentMap& M) const;
  
  Standard_EXPORT   virtual  void UpdateVertex(const Handle(PTopoDS_HShape)& S1,TopoDS_Shape& S2,PTColStd_PersistentTransientMap& M) const;
  
  Standard_EXPORT   virtual  void UpdateEdge(const TopoDS_Shape& S1,const Handle(PTopoDS_HShape)& S2,PTColStd_TransientPersistentMap& M) const;
  
  Standard_EXPORT   virtual  void UpdateEdge(const Handle(PTopoDS_HShape)& S1,TopoDS_Shape& S2,PTColStd_PersistentTransientMap& M) const;
  
  Standard_EXPORT   virtual  void UpdateFace(const TopoDS_Shape& S1,const Handle(PTopoDS_HShape)& S2,PTColStd_TransientPersistentMap& M) const;
  
  Standard_EXPORT   virtual  void UpdateFace(const Handle(PTopoDS_HShape)& S1,TopoDS_Shape& S2,PTColStd_PersistentTransientMap& M) const;




  DEFINE_STANDARD_RTTI(MgtBRep_TranslateTool)

protected:

  //! Translates a Transient Curve onto a Persistent Curve <br>
  Standard_EXPORT     Handle_PGeom_Curve Translate(const Handle(Geom_Curve)& TC,PTColStd_TransientPersistentMap& M) const;
  //! Translates a Persistent Curve onto a Transient Curve <br>
  Standard_EXPORT     Handle_Geom_Curve Translate(const Handle(PGeom_Curve)& PC,PTColStd_PersistentTransientMap& M) const;
  //! Translates a Transient Curve2d onto a Persistent Curve <br>
  Standard_EXPORT     Handle_PGeom2d_Curve Translate(const Handle(Geom2d_Curve)& TC,PTColStd_TransientPersistentMap& M) const;
  //! Translates a Persistent Curve2d onto a Transient Curve <br>
  Standard_EXPORT     Handle_Geom2d_Curve Translate(const Handle(PGeom2d_Curve)& PC,PTColStd_PersistentTransientMap& M) const;
  //! Translates a Transient Surface onto a Persistent Curve <br>
  Standard_EXPORT     Handle_PGeom_Surface Translate(const Handle(Geom_Surface)& TS,PTColStd_TransientPersistentMap& M) const;
  //! Translates a Persistent Surface onto a Transient Curve <br>
  Standard_EXPORT     Handle_Geom_Surface Translate(const Handle(PGeom_Surface)& PS,PTColStd_PersistentTransientMap& M) const;



private: 


MgtBRep_TriangleMode myTriangleMode;


};





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


#endif