0030686: Visualization, SelectMgr_ViewerSelector - sorting issues of transformation...
[occt.git] / src / ShapePersistent / ShapePersistent.cxx
CommitLineData
7ed7467d 1// Copyright (c) 2015 OPEN CASCADE SAS
2//
3// This file is part of Open CASCADE Technology software library.
4//
5// This library is free software; you can redistribute it and/or modify it under
6// the terms of the GNU Lesser General Public License version 2.1 as published
7// by the Free Software Foundation, with special exception defined in the file
8// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
9// distribution for complete text of the license and disclaimer of any warranty.
10//
11// Alternatively, this file may be used under the terms of Open CASCADE
12// commercial license or contractual agreement.
13
14#include <ShapePersistent.hxx>
0f57ab75 15#include <ShapePersistent_Geom.hxx>
16#include <ShapePersistent_Geom2d.hxx>
7ed7467d 17#include <StdObjMgt_MapOfInstantiators.hxx>
18
ff205346 19#include <StdLPersistent_HArray1.hxx>
45d8465e 20#include <StdLPersistent_HArray2.hxx>
ff205346 21#include <StdPersistent_TopoDS.hxx>
22#include <ShapePersistent_TopoDS.hxx>
23#include <ShapePersistent_HArray1.hxx>
24#include <ShapePersistent_HArray2.hxx>
25#include <ShapePersistent_HSequence.hxx>
26#include <ShapePersistent_Geom2d.hxx>
27#include <ShapePersistent_Geom2d_Curve.hxx>
28#include <ShapePersistent_Geom.hxx>
29#include <ShapePersistent_Geom_Curve.hxx>
30#include <ShapePersistent_Geom_Surface.hxx>
31#include <ShapePersistent_Poly.hxx>
32#include <ShapePersistent_BRep.hxx>
33
34
7ed7467d 35//=======================================================================
36//function : BindTypes
37//purpose : Register types
38//=======================================================================
ff205346 39void ShapePersistent::BindTypes (StdObjMgt_MapOfInstantiators& theMap)
7ed7467d 40{
ff205346 41 theMap.Bind <StdLPersistent_HArray1::Persistent> ("PTopoDS_HArray1OfHShape");
45d8465e 42 theMap.Bind <StdLPersistent_HArray1::Persistent> ("PColPGeom_HArray1OfCurve");
43 theMap.Bind <StdLPersistent_HArray1::Persistent> ("PColPGeom_HArray1OfBoundedCurve");
44 theMap.Bind <StdLPersistent_HArray1::Persistent> ("PColPGeom_HArray1OfBezierCurve");
45 theMap.Bind <StdLPersistent_HArray1::Persistent> ("PColPGeom_HArray1OfBSplineCurve");
46 theMap.Bind <StdLPersistent_HArray1::Persistent> ("PColPGeom_HArray1OfSurface");
47 theMap.Bind <StdLPersistent_HArray1::Persistent> ("PColPGeom_HArray1OfBoundedSurface");
48 theMap.Bind <StdLPersistent_HArray2::Persistent> ("PColPGeom_HArray2OfSurface");
49 theMap.Bind <StdLPersistent_HArray2::Persistent> ("PColPGeom_HArray2OfBoundedSurface");
50 theMap.Bind <StdLPersistent_HArray2::Persistent> ("PColPGeom_HArray2OfBezierSurface");
51 theMap.Bind <StdLPersistent_HArray2::Persistent> ("PColPGeom_HArray2OfBSplineSurface");
52 theMap.Bind <StdLPersistent_HArray1::Persistent> ("PColPGeom2d_HArray1OfCurve");
53 theMap.Bind <StdLPersistent_HArray1::Persistent> ("PColPGeom2d_HArray1OfBoundedCurve");
54 theMap.Bind <StdLPersistent_HArray1::Persistent> ("PColPGeom2d_HArray1OfBezierCurve");
55 theMap.Bind <StdLPersistent_HArray1::Persistent> ("PColPGeom2d_HArray1OfBSplineCurve");
ff205346 56
45d8465e 57 theMap.Bind <StdLPersistent_HArray2::Real> ("PColStd_HArray2OfReal");
58
59 theMap.Bind <ShapePersistent_TopoDS::HShape> ("PTopoDS_HShape");
60 theMap.Bind <ShapePersistent_TopoDS::HShape> ("PTopoDS_Vertex");
61 theMap.Bind <ShapePersistent_TopoDS::HShape> ("PTopoDS_Edge");
62 theMap.Bind <ShapePersistent_TopoDS::HShape> ("PTopoDS_Wire");
63 theMap.Bind <ShapePersistent_TopoDS::HShape> ("PTopoDS_Face");
64 theMap.Bind <ShapePersistent_TopoDS::HShape> ("PTopoDS_Shell");
65 theMap.Bind <ShapePersistent_TopoDS::HShape> ("PTopoDS_Solid");
66 theMap.Bind <ShapePersistent_TopoDS::HShape> ("PTopoDS_CompSolid");
67 theMap.Bind <ShapePersistent_TopoDS::HShape> ("PTopoDS_Compound");
ff205346 68
69 theMap.Bind <StdPersistent_TopoDS::TShape> ("PTopoDS_TShape");
70
71 theMap.Bind <StdPersistent_TopoDS::TShape> ("PTopoDS_TVertex");
72 theMap.Bind <StdPersistent_TopoDS::TShape> ("PTopoDS_TVertex1");
73 theMap.Bind <StdPersistent_TopoDS::TShape> ("PTopoDS_TEdge");
74 theMap.Bind <StdPersistent_TopoDS::TShape> ("PTopoDS_TEdge1");
75 theMap.Bind <StdPersistent_TopoDS::TShape> ("PTopoDS_TFace");
76 theMap.Bind <StdPersistent_TopoDS::TShape> ("PTopoDS_TFace1");
77
78 theMap.Bind <ShapePersistent_TopoDS::TWire> ("PTopoDS_TWire");
79 theMap.Bind <ShapePersistent_TopoDS::TWire1> ("PTopoDS_TWire1");
80 theMap.Bind <ShapePersistent_TopoDS::TShell> ("PTopoDS_TShell");
81 theMap.Bind <ShapePersistent_TopoDS::TShell1> ("PTopoDS_TShell1");
82 theMap.Bind <ShapePersistent_TopoDS::TSolid> ("PTopoDS_TSolid");
83 theMap.Bind <ShapePersistent_TopoDS::TSolid1> ("PTopoDS_TSolid1");
84 theMap.Bind <ShapePersistent_TopoDS::TCompSolid> ("PTopoDS_TCompSolid");
85 theMap.Bind <ShapePersistent_TopoDS::TCompSolid1> ("PTopoDS_TCompSolid1");
86 theMap.Bind <ShapePersistent_TopoDS::TCompound> ("PTopoDS_TCompound");
87 theMap.Bind <ShapePersistent_TopoDS::TCompound1> ("PTopoDS_TCompound1");
88
89 theMap.Bind <ShapePersistent_HArray1::XYZ> ("PColgp_HArray1OfXYZ");
90 theMap.Bind <ShapePersistent_HArray1::Pnt> ("PColgp_HArray1OfPnt");
91 theMap.Bind <ShapePersistent_HArray1::Dir> ("PColgp_HArray1OfDir");
92 theMap.Bind <ShapePersistent_HArray1::Vec> ("PColgp_HArray1OfVec");
93 theMap.Bind <ShapePersistent_HArray1::XY> ("PColgp_HArray1OfXY");
94 theMap.Bind <ShapePersistent_HArray1::Pnt2d> ("PColgp_HArray1OfPnt2d");
95 theMap.Bind <ShapePersistent_HArray1::Dir2d> ("PColgp_HArray1OfDir2d");
96 theMap.Bind <ShapePersistent_HArray1::Vec2d> ("PColgp_HArray1OfVec2d");
97 theMap.Bind <ShapePersistent_HArray1::Lin2d> ("PColgp_HArray1OfLin2d");
98 theMap.Bind <ShapePersistent_HArray1::Circ2d> ("PColgp_HArray1OfCirc2d");
99 theMap.Bind <ShapePersistent_HArray1::Triangle> ("PPoly_HArray1OfTriangle");
100
101 theMap.Bind <ShapePersistent_HArray2::XYZ> ("PColgp_HArray2OfXYZ");
102 theMap.Bind <ShapePersistent_HArray2::Pnt> ("PColgp_HArray2OfPnt");
103 theMap.Bind <ShapePersistent_HArray2::Dir> ("PColgp_HArray2OfDir");
104 theMap.Bind <ShapePersistent_HArray2::Vec> ("PColgp_HArray2OfVec");
105 theMap.Bind <ShapePersistent_HArray2::XY> ("PColgp_HArray2OfXY");
106 theMap.Bind <ShapePersistent_HArray2::Pnt2d> ("PColgp_HArray2OfPnt2d");
107 theMap.Bind <ShapePersistent_HArray2::Dir2d> ("PColgp_HArray2OfDir2d");
108 theMap.Bind <ShapePersistent_HArray2::Vec2d> ("PColgp_HArray2OfVec2d");
109 theMap.Bind <ShapePersistent_HArray2::Lin2d> ("PColgp_HArray2OfLin2d");
110 theMap.Bind <ShapePersistent_HArray2::Circ2d> ("PColgp_HArray2OfCirc2d");
111
112 theMap.Bind <ShapePersistent_HSequence::XYZ> ("PColgp_HSequenceOfXYZ");
113 theMap.Bind <ShapePersistent_HSequence::Pnt> ("PColgp_HSequenceOfPnt");
114 theMap.Bind <ShapePersistent_HSequence::Dir> ("PColgp_HSequenceOfDir");
115 theMap.Bind <ShapePersistent_HSequence::Vec> ("PColgp_HSequenceOfVec");
116
117 theMap.Bind <ShapePersistent_HSequence::XYZ::Node>
118 ("PColgp_SeqNodeOfHSequenceOfXYZ");
119
120 theMap.Bind <ShapePersistent_HSequence::Pnt::Node>
121 ("PColgp_SeqNodeOfHSequenceOfPnt");
122
123 theMap.Bind <ShapePersistent_HSequence::Dir::Node>
124 ("PColgp_SeqNodeOfHSequenceOfDir");
125
126 theMap.Bind <ShapePersistent_HSequence::Vec::Node>
127 ("PColgp_SeqNodeOfHSequenceOfVec");
128
129 theMap.Bind <ShapePersistent_Geom2d::Transformation>
130 ("PGeom2d_Transformation");
131
132 theMap.Bind <ShapePersistent_Geom2d::Geometry>
133 ("PGeom2d_Geometry");
134
135 theMap.Bind <ShapePersistent_Geom2d::Point>
136 ("PGeom2d_Point");
137
138 theMap.Bind <ShapePersistent_Geom2d::CartesianPoint>
139 ("PGeom2d_CartesianPoint");
140
141 theMap.Bind <ShapePersistent_Geom2d::Vector>
142 ("PGeom2d_Vector");
143
144 theMap.Bind <ShapePersistent_Geom2d::Direction>
145 ("PGeom2d_Direction");
146
147 theMap.Bind <ShapePersistent_Geom2d::VectorWithMagnitude>
148 ("PGeom2d_VectorWithMagnitude");
149
150 theMap.Bind <ShapePersistent_Geom2d::AxisPlacement>
151 ("PGeom2d_AxisPlacement");
152
153 theMap.Bind <ShapePersistent_Geom2d::Curve>
154 ("PGeom2d_Curve");
155
156 theMap.Bind <ShapePersistent_Geom2d_Curve::Line>
157 ("PGeom2d_Line");
158
159 theMap.Bind <ShapePersistent_Geom2d_Curve::Conic>
160 ("PGeom2d_Conic");
161
162 theMap.Bind <ShapePersistent_Geom2d_Curve::Circle>
163 ("PGeom2d_Circle");
164
165 theMap.Bind <ShapePersistent_Geom2d_Curve::Ellipse>
166 ("PGeom2d_Ellipse");
167
168 theMap.Bind <ShapePersistent_Geom2d_Curve::Hyperbola>
169 ("PGeom2d_Hyperbola");
170
171 theMap.Bind <ShapePersistent_Geom2d_Curve::Parabola>
172 ("PGeom2d_Parabola");
173
174 theMap.Bind <ShapePersistent_Geom2d_Curve::Bounded>
175 ("PGeom2d_BoundedCurve");
176
177 theMap.Bind <ShapePersistent_Geom2d_Curve::Bezier>
178 ("PGeom2d_BezierCurve");
179
180 theMap.Bind <ShapePersistent_Geom2d_Curve::BSpline>
181 ("PGeom2d_BSplineCurve");
182
183 theMap.Bind <ShapePersistent_Geom2d_Curve::Trimmed>
184 ("PGeom2d_TrimmedCurve");
185
186 theMap.Bind <ShapePersistent_Geom2d_Curve::Offset>
187 ("PGeom2d_OffsetCurve");
188
189 theMap.Bind <ShapePersistent_Geom::Transformation>
190 ("PGeom_Transformation");
191
192 theMap.Bind <ShapePersistent_Geom::Geometry>
193 ("PGeom_Geometry");
194
195 theMap.Bind <ShapePersistent_Geom::Point>
196 ("PGeom_Point");
197
198 theMap.Bind <ShapePersistent_Geom::CartesianPoint>
199 ("PGeom_CartesianPoint");
200
201 theMap.Bind <ShapePersistent_Geom::Vector>
202 ("PGeom_Vector");
203
204 theMap.Bind <ShapePersistent_Geom::Direction>
205 ("PGeom_Direction");
206
207 theMap.Bind <ShapePersistent_Geom::VectorWithMagnitude>
208 ("PGeom_VectorWithMagnitude");
209
210 theMap.Bind <ShapePersistent_Geom::AxisPlacement>
211 ("PGeom_AxisPlacement");
212
213 theMap.Bind <ShapePersistent_Geom::Axis1Placement>
214 ("PGeom_Axis1Placement");
215
216 theMap.Bind <ShapePersistent_Geom::Axis2Placement>
217 ("PGeom_Axis2Placement");
218
219 theMap.Bind <ShapePersistent_Geom::Curve>
220 ("PGeom_Curve");
221
222 theMap.Bind <ShapePersistent_Geom_Curve::Line>
223 ("PGeom_Line");
224
225 theMap.Bind <ShapePersistent_Geom_Curve::Conic>
226 ("PGeom_Conic");
227
228 theMap.Bind <ShapePersistent_Geom_Curve::Circle>
229 ("PGeom_Circle");
230
231 theMap.Bind <ShapePersistent_Geom_Curve::Ellipse>
232 ("PGeom_Ellipse");
233
234 theMap.Bind <ShapePersistent_Geom_Curve::Hyperbola>
235 ("PGeom_Hyperbola");
236
237 theMap.Bind <ShapePersistent_Geom_Curve::Parabola>
238 ("PGeom_Parabola");
239
240 theMap.Bind <ShapePersistent_Geom_Curve::Bounded>
241 ("PGeom_BoundedCurve");
242
243 theMap.Bind <ShapePersistent_Geom_Curve::Bezier>
244 ("PGeom_BezierCurve");
245
246 theMap.Bind <ShapePersistent_Geom_Curve::BSpline>
247 ("PGeom_BSplineCurve");
248
249 theMap.Bind <ShapePersistent_Geom_Curve::Trimmed>
250 ("PGeom_TrimmedCurve");
251
252 theMap.Bind <ShapePersistent_Geom_Curve::Offset>
253 ("PGeom_OffsetCurve");
254
255 theMap.Bind <ShapePersistent_Geom::Surface>
256 ("PGeom_Surface");
257
258 theMap.Bind <ShapePersistent_Geom_Surface::Elementary>
259 ("PGeom_ElementarySurface");
260
261 theMap.Bind <ShapePersistent_Geom_Surface::Plane>
262 ("PGeom_Plane");
263
264 theMap.Bind <ShapePersistent_Geom_Surface::Conical>
265 ("PGeom_ConicalSurface");
266
267 theMap.Bind <ShapePersistent_Geom_Surface::Cylindrical>
268 ("PGeom_CylindricalSurface");
269
270 theMap.Bind <ShapePersistent_Geom_Surface::Spherical>
271 ("PGeom_SphericalSurface");
272
273 theMap.Bind <ShapePersistent_Geom_Surface::Toroidal>
274 ("PGeom_ToroidalSurface");
275
276 theMap.Bind <ShapePersistent_Geom_Surface::Swept>
277 ("PGeom_SweptSurface");
278
279 theMap.Bind <ShapePersistent_Geom_Surface::LinearExtrusion>
280 ("PGeom_SurfaceOfLinearExtrusion");
281
282 theMap.Bind <ShapePersistent_Geom_Surface::Revolution>
283 ("PGeom_SurfaceOfRevolution");
284
285 theMap.Bind <ShapePersistent_Geom_Surface::Bounded>
286 ("PGeom_BoundedSurface");
287
288 theMap.Bind <ShapePersistent_Geom_Surface::Bezier>
289 ("PGeom_BezierSurface");
290
291 theMap.Bind <ShapePersistent_Geom_Surface::BSpline>
292 ("PGeom_BSplineSurface");
293
294 theMap.Bind <ShapePersistent_Geom_Surface::RectangularTrimmed>
295 ("PGeom_RectangularTrimmedSurface");
296
297 theMap.Bind <ShapePersistent_Geom_Surface::Offset>
298 ("PGeom_OffsetSurface");
299
300 theMap.Bind <ShapePersistent_Poly::Polygon2D>
301 ("PPoly_Polygon2D");
302
303 theMap.Bind <ShapePersistent_Poly::Polygon3D>
304 ("PPoly_Polygon3D");
305
306 theMap.Bind <ShapePersistent_Poly::PolygonOnTriangulation>
307 ("PPoly_PolygonOnTriangulation");
308
309 theMap.Bind <ShapePersistent_Poly::Triangulation>
310 ("PPoly_Triangulation");
311
312 theMap.Bind <ShapePersistent_BRep::PointRepresentation>
313 ("PBRep_PointRepresentation");
314
315 theMap.Bind <ShapePersistent_BRep::PointOnCurve>
316 ("PBRep_PointOnCurve");
317
318 theMap.Bind <ShapePersistent_BRep::PointsOnSurface>
319 ("PBRep_PointsOnSurface");
320
321 theMap.Bind <ShapePersistent_BRep::PointOnCurveOnSurface>
322 ("PBRep_PointOnCurveOnSurface");
323
324 theMap.Bind <ShapePersistent_BRep::PointOnSurface>
325 ("PBRep_PointOnSurface");
326
327 theMap.Bind <ShapePersistent_BRep::CurveRepresentation>
328 ("PBRep_CurveRepresentation");
329
330 theMap.Bind <ShapePersistent_BRep::GCurve>
331 ("PBRep_GCurve");
332
333 theMap.Bind <ShapePersistent_BRep::Curve3D>
334 ("PBRep_Curve3D");
335
336 theMap.Bind <ShapePersistent_BRep::CurveOnSurface>
337 ("PBRep_CurveOnSurface");
338
339 theMap.Bind <ShapePersistent_BRep::CurveOnClosedSurface>
340 ("PBRep_CurveOnClosedSurface");
341
342 theMap.Bind <ShapePersistent_BRep::Polygon3D>
343 ("PBRep_Polygon3D");
344
345 theMap.Bind <ShapePersistent_BRep::PolygonOnTriangulation>
346 ("PBRep_PolygonOnTriangulation");
347
348 theMap.Bind <ShapePersistent_BRep::PolygonOnClosedTriangulation>
349 ("PBRep_PolygonOnClosedTriangulation");
350
351 theMap.Bind <ShapePersistent_BRep::PolygonOnSurface>
352 ("PBRep_PolygonOnSurface");
353
354 theMap.Bind <ShapePersistent_BRep::PolygonOnClosedSurface>
355 ("PBRep_PolygonOnClosedSurface");
356
357 theMap.Bind <ShapePersistent_BRep::CurveOn2Surfaces>
358 ("PBRep_CurveOn2Surfaces");
359
360 theMap.Bind <ShapePersistent_BRep::TVertex> ("PBRep_TVertex");
361 theMap.Bind <ShapePersistent_BRep::TVertex1> ("PBRep_TVertex1");
362 theMap.Bind <ShapePersistent_BRep::TEdge> ("PBRep_TEdge");
363 theMap.Bind <ShapePersistent_BRep::TEdge1> ("PBRep_TEdge1");
364 theMap.Bind <ShapePersistent_BRep::TFace> ("PBRep_TFace");
365 theMap.Bind <ShapePersistent_BRep::TFace1> ("PBRep_TFace1");
7ed7467d 366}