Version: 9.16.0
GEOMImpl_IShapesOperations.hxx
Go to the documentation of this file.
1// Copyright (C) 2007-2026 CEA, EDF, OPEN CASCADE
2//
3// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5//
6// This library is free software; you can redistribute it and/or
7// modify it under the terms of the GNU Lesser General Public
8// License as published by the Free Software Foundation; either
9// version 2.1 of the License, or (at your option) any later version.
10//
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14// Lesser General Public License for more details.
15//
16// You should have received a copy of the GNU Lesser General Public
17// License along with this library; if not, write to the Free Software
18// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19//
20// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21//
22
23//=============================================================================
24// File : GEOMImpl_IShapesOperations.hxx
25// Created :
26// Author : modified by Lioka RAZAFINDRAZAKA (CEA) 22/06/2007
27// Project : SALOME
28//=============================================================================
29
30#ifndef _GEOMImpl_IShapesOperations_HXX_
31#define _GEOMImpl_IShapesOperations_HXX_
32
33#include "GEOM_IOperations.hxx"
34
35#include "GEOMAlgo_State.hxx"
36#include "GEOMUtils.hxx"
37
38#include <TColStd_HSequenceOfTransient.hxx>
39#include <TColStd_HSequenceOfInteger.hxx>
40#include <TColStd_HArray1OfInteger.hxx>
41
42#include <Geom_Surface.hxx>
43
44#include <list>
45#include <vector>
46
47class GEOM_Engine;
48class GEOM_Object;
49class TopoDS_Shape;
50
55};
56
58{
59 public:
60
62 None = 0x00,
63 Groups = 0x01,
64 Fields = 0x02,
65 SubShapes = 0x04,
67 };
68
73 {
77 };
78
83 {
85 std::list<Standard_Integer> indices;
86 };
87
88 Standard_EXPORT GEOMImpl_IShapesOperations(GEOM_Engine* theEngine);
89 Standard_EXPORT ~GEOMImpl_IShapesOperations();
90
91 Standard_EXPORT Handle(GEOM_Object) MakeEdge (Handle(GEOM_Object) thePoint1,
92 Handle(GEOM_Object) thePoint2);
93
94 Standard_EXPORT Handle(GEOM_Object) MakeEdgeOnCurveByLength (Handle(GEOM_Object) theCurve,
95 const Standard_Real theLength,
96 Handle(GEOM_Object) theStartPoint);
97
98 Standard_EXPORT Handle(GEOM_Object) MakeEdgeWire (Handle(GEOM_Object) theWire,
99 const Standard_Real theLinearTolerance,
100 const Standard_Real theAngularTolerance);
101
102 Standard_EXPORT Handle(GEOM_Object) MakeWire (std::list<Handle(GEOM_Object)> theEdgesAndWires,
103 const Standard_Real theTolerance,
105
106 Standard_EXPORT Handle(GEOM_Object) MakeFace (Handle(GEOM_Object) theWire, const bool isPlanarWanted);
107
108 Standard_EXPORT Handle(GEOM_Object) MakeFaceWires (std::list<Handle(GEOM_Object)> theWires,
109 const bool isPlanarWanted);
110
111 Standard_EXPORT Handle(GEOM_Object) MakeFaceFromSurface
112 (Handle(GEOM_Object) theFace,
113 Handle(GEOM_Object) theWire);
114
115 Standard_EXPORT Handle(GEOM_Object) MakeWrappedFace(std::list<Handle(GEOM_Object)> theEdges,
116 std::list<Handle(GEOM_Object)> theVertices,
117 const Standard_Real theTolerance);
118
119 Standard_EXPORT Handle(GEOM_Object) MakeFaceWithConstraints (std::list<Handle(GEOM_Object)> theConstraints);
120
121 Standard_EXPORT Handle(GEOM_Object) MakeShell (std::list<Handle(GEOM_Object)> theShapes);
122
123 Standard_EXPORT Handle(GEOM_Object) MakeSolidShells (std::list<Handle(GEOM_Object)> theShells);
124
125 Standard_EXPORT Handle(GEOM_Object) MakeCompound (std::list<Handle(GEOM_Object)> theShapes);
126
127 Standard_EXPORT Handle(GEOM_Object) MakeSolidFromConnectedFaces (std::list<Handle(GEOM_Object)> theFacesOrShells,
128 const Standard_Boolean isIntersect);
129
130 Standard_EXPORT Handle(GEOM_Object) MakeGlueFaces (std::list< Handle(GEOM_Object) >& theShapes,
131 const Standard_Real theTolerance,
132 const Standard_Boolean doKeepNonSolids);
133
134 Standard_EXPORT Handle(GEOM_Object) MakeGlueFacesByList (std::list< Handle(GEOM_Object) >& theShapes,
135 const Standard_Real theTolerance,
136 std::list<Handle(GEOM_Object)>& theFaces,
137 const Standard_Boolean doKeepNonSolids,
138 const Standard_Boolean doGlueAllEdges);
139
140 Standard_EXPORT Handle(GEOM_Object) MakeGlueEdges (std::list< Handle(GEOM_Object) >& theShapes,
141 const Standard_Real theTolerance);
142
143 Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetGlueShapes (std::list< Handle(GEOM_Object) >& theShapes,
144 const Standard_Real theTolerance,
145 const TopAbs_ShapeEnum theType);
146
147 Standard_EXPORT Handle(GEOM_Object) MakeGlueEdgesByList (std::list< Handle(GEOM_Object) >& theShapes,
148 const Standard_Real theTolerance,
149 std::list<Handle(GEOM_Object)> & theEdges);
150
151 Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetExistingSubObjects(Handle(GEOM_Object) theShape,
152 const Standard_Boolean theGroupsOnly);
153 Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetExistingSubObjects(Handle(GEOM_Object) theShape,
154 const Standard_Integer theTypes = All);
155
160 };
161
162 Standard_EXPORT Handle(TColStd_HSequenceOfTransient) MakeExplode
163 (Handle(GEOM_Object) theShape,
164 const Standard_Integer theShapeType,
165 const Standard_Boolean isSorted,
167
168 Standard_EXPORT Handle(TColStd_HSequenceOfInteger) SubShapeAllIDs
169 (Handle(GEOM_Object) theShape,
170 const Standard_Integer theShapeType,
171 const Standard_Boolean isSorted,
173
174 Standard_EXPORT Handle(GEOM_Object) GetSubShape (Handle(GEOM_Object) theMainShape,
175 const Standard_Integer theID);
176
177 Standard_EXPORT Handle(TColStd_HSequenceOfTransient) MakeSubShapes
178 (Handle(GEOM_Object) theMainShape,
179 Handle(TColStd_HArray1OfInteger) theIndices);
180
181 Standard_EXPORT Standard_Integer GetSubShapeIndex (Handle(GEOM_Object) theMainShape,
182 Handle(GEOM_Object) theSubShape);
183
184 Standard_EXPORT Handle(TColStd_HSequenceOfInteger) GetSubShapesIndices (Handle(GEOM_Object) theMainShape,
185 std::list<Handle(GEOM_Object)> theSubShapes);
186
187 Standard_EXPORT Standard_Integer GetTopologyIndex (Handle(GEOM_Object) theMainShape,
188 Handle(GEOM_Object) theSubShape);
189
190 Standard_EXPORT TCollection_AsciiString GetShapeTypeString (Handle(GEOM_Object) theShape);
191
192 Standard_EXPORT Standard_Boolean IsSubShapeBelongsTo(Handle(GEOM_Object) theSubObject,
193 const Standard_Integer theSubObjectIndex,
194 Handle(GEOM_Object) theObject,
195 const Standard_Integer theObjectIndex);
196
197 Standard_EXPORT Standard_Integer NumberOfSubShapes (Handle(GEOM_Object) theShape,
198 const Standard_Integer theShapeType);
199
200 Standard_EXPORT Handle(GEOM_Object) ReverseShape(Handle(GEOM_Object) theShapes);
201
202 Standard_EXPORT Handle(TColStd_HSequenceOfInteger) GetFreeFacesIDs (Handle(GEOM_Object) theShape);
203
204 Standard_EXPORT Handle(TColStd_HSequenceOfTransient)
205 GetSharedShapes (Handle(GEOM_Object) theShape1,
206 Handle(GEOM_Object) theShape2,
207 const Standard_Integer theShapeType);
208
209 Standard_EXPORT Handle(TColStd_HSequenceOfTransient)
210 GetSharedShapes (std::list<Handle(GEOM_Object)>& theShapes,
211 const Standard_Integer theShapeType,
212 const bool theMultiShare = true);
213
214 Standard_EXPORT Handle(TColStd_HSequenceOfTransient)
215 GetShapesOnPlane (const Handle(GEOM_Object)& theShape,
216 const Standard_Integer theShapeType,
217 const Handle(GEOM_Object)& theAx1,
218 const GEOMAlgo_State theState);
219
220 Standard_EXPORT Handle(TColStd_HSequenceOfTransient)
221 GetShapesOnPlaneWithLocation (const Handle(GEOM_Object)& theShape,
222 const Standard_Integer theShapeType,
223 const Handle(GEOM_Object)& theAx1,
224 const Handle(GEOM_Object)& thePnt,
225 const GEOMAlgo_State theState);
226
227
228 Standard_EXPORT Handle(TColStd_HSequenceOfTransient)
229 GetShapesOnCylinder (const Handle(GEOM_Object)& theShape,
230 const Standard_Integer theShapeType,
231 const Handle(GEOM_Object)& theAxis,
232 const Standard_Real theRadius,
233 const GEOMAlgo_State theState);
234
235 Standard_EXPORT Handle(TColStd_HSequenceOfTransient)
236 GetShapesOnCylinderWithLocation (const Handle(GEOM_Object)& theShape,
237 const Standard_Integer theShapeType,
238 const Handle(GEOM_Object)& theAxis,
239 const Handle(GEOM_Object)& thePnt,
240 const Standard_Real theRadius,
241 const GEOMAlgo_State theState);
242
243 Standard_EXPORT Handle(TColStd_HSequenceOfTransient)
244 GetShapesOnSphere (const Handle(GEOM_Object)& theShape,
245 const Standard_Integer theShapeType,
246 const Handle(GEOM_Object)& theCenter,
247 const Standard_Real theRadius,
248 const GEOMAlgo_State theState);
249
250 Standard_EXPORT Handle(TColStd_HSequenceOfInteger)
251 GetShapesOnPlaneIDs (const Handle(GEOM_Object)& theShape,
252 const Standard_Integer theShapeType,
253 const Handle(GEOM_Object)& theAx1,
254 const GEOMAlgo_State theState);
255
256 Standard_EXPORT Handle(TColStd_HSequenceOfInteger)
257 GetShapesOnPlaneWithLocationIDs (const Handle(GEOM_Object)& theShape,
258 const Standard_Integer theShapeType,
259 const Handle(GEOM_Object)& theAx1,
260 const Handle(GEOM_Object)& thePnt,
261 const GEOMAlgo_State theState);
262
263 Standard_EXPORT Handle(TColStd_HSequenceOfInteger)
264 GetShapesOnCylinderIDs (const Handle(GEOM_Object)& theShape,
265 const Standard_Integer theShapeType,
266 const Handle(GEOM_Object)& theAxis,
267 const Standard_Real theRadius,
268 const GEOMAlgo_State theState);
269
270 Standard_EXPORT Handle(TColStd_HSequenceOfInteger)
271 GetShapesOnCylinderWithLocationIDs (const Handle(GEOM_Object)& theShape,
272 const Standard_Integer theShapeType,
273 const Handle(GEOM_Object)& theAxis,
274 const Handle(GEOM_Object)& thePnt,
275 const Standard_Real theRadius,
276 const GEOMAlgo_State theState);
277
278 Standard_EXPORT Handle(TColStd_HSequenceOfInteger)
279 GetShapesOnSphereIDs (const Handle(GEOM_Object)& theShape,
280 const Standard_Integer theShapeType,
281 const Handle(GEOM_Object)& theCenter,
282 const Standard_Real theRadius,
283 const GEOMAlgo_State theState);
284
296 Standard_EXPORT Handle(TColStd_HSequenceOfTransient)
297 GetShapesOnQuadrangle (const Handle(GEOM_Object)& theShape,
298 const Standard_Integer theShapeType,
299 const Handle(GEOM_Object)& theTopLeftPoint,
300 const Handle(GEOM_Object)& theTopRightPoint,
301 const Handle(GEOM_Object)& theBottomLeftPoint,
302 const Handle(GEOM_Object)& theBottomRightPoint,
303 const GEOMAlgo_State theState);
304
316 Standard_EXPORT Handle(TColStd_HSequenceOfInteger)
317 GetShapesOnQuadrangleIDs (const Handle(GEOM_Object)& theShape,
318 const Standard_Integer theShapeType,
319 const Handle(GEOM_Object)& theTopLeftPoint,
320 const Handle(GEOM_Object)& theTopRightPoint,
321 const Handle(GEOM_Object)& theBottomLeftPoint,
322 const Handle(GEOM_Object)& theBottomRightPoint,
323 const GEOMAlgo_State theState);
324
325 Standard_EXPORT Handle(GEOM_Object) GetShapesOnCylinderOld (Handle(GEOM_Object) theShape,
326 const Standard_Integer theShapeType,
327 Handle(GEOM_Object) theAxis,
328 const Standard_Real theRadius);
329
330 Standard_EXPORT Handle(GEOM_Object) GetShapesOnSphereOld (Handle(GEOM_Object) theShape,
331 const Standard_Integer theShapeType,
332 Handle(GEOM_Object) theCenter,
333 const Standard_Real theRadius);
334
335 Standard_EXPORT Handle(GEOM_Object) GetInPlace (Handle(GEOM_Object) theShapeWhere,
336 Handle(GEOM_Object) theShapeWhat);
337
338 Standard_EXPORT Handle(GEOM_Object) GetInPlaceOld (Handle(GEOM_Object) theShapeWhere,
339 Handle(GEOM_Object) theShapeWhat);
340
341 Standard_EXPORT Handle(GEOM_Object) GetInPlaceByHistory (Handle(GEOM_Object) theShapeWhere,
342 Handle(GEOM_Object) theShapeWhat);
343
344 Standard_EXPORT void GetInPlaceMap (Handle(GEOM_Object) theShapeWhere,
345 Handle(GEOM_Object) theShapeWhat,
346 std::vector< std::vector< int > > & theResVec);
347
354 Standard_EXPORT Handle(GEOM_Object) GetSame(const Handle(GEOM_Object)& theShapeWhere,
355 const Handle(GEOM_Object)& theShapeWhat);
356
363 Standard_EXPORT Handle(TColStd_HSequenceOfInteger) GetSameIDs(const Handle(GEOM_Object)& theShapeWhere,
364 const Handle(GEOM_Object)& theShapeWhat);
365
374 Standard_EXPORT Handle(TColStd_HSequenceOfInteger)
375 GetShapesOnBoxIDs(const Handle(GEOM_Object)& theBox,
376 const Handle(GEOM_Object)& theShape,
377 const Standard_Integer theShapeType,
378 GEOMAlgo_State theState);
379
388 Standard_EXPORT Handle(TColStd_HSequenceOfTransient)
389 GetShapesOnBox(const Handle(GEOM_Object)& theBox,
390 const Handle(GEOM_Object)& theShape,
391 const Standard_Integer theShapeType,
392 GEOMAlgo_State theState);
393
402 Standard_EXPORT Handle(TColStd_HSequenceOfInteger)
403 GetShapesOnShapeIDs(const Handle(GEOM_Object)& theCheckShape,
404 const Handle(GEOM_Object)& theShape,
405 const Standard_Integer theShapeType,
406 GEOMAlgo_State theState);
407
416 Standard_EXPORT Handle(TColStd_HSequenceOfTransient)
417 GetShapesOnShape(const Handle(GEOM_Object)& theCheckShape,
418 const Handle(GEOM_Object)& theShape,
419 const Standard_Integer theShapeType,
420 GEOMAlgo_State theState);
421 Standard_EXPORT Handle(GEOM_Object)
422 GetShapesOnShapeAsCompound(const Handle(GEOM_Object)& theCheckShape,
423 const Handle(GEOM_Object)& theShape,
424 const Standard_Integer theShapeType,
425 GEOMAlgo_State theState);
426
438 Standard_EXPORT Handle(GEOM_Object)
439 ExtendEdge(const Handle(GEOM_Object)& theEdge,
440 const Standard_Real theMin,
441 const Standard_Real theMax);
442
458 Standard_EXPORT Handle(GEOM_Object)
459 ExtendFace(const Handle(GEOM_Object)& theFace,
460 const Standard_Real theUMin,
461 const Standard_Real theUMax,
462 const Standard_Real theVMin,
463 const Standard_Real theVMax);
464
474 Standard_EXPORT Handle(GEOM_Object)
475 MakeSurfaceFromFace(const Handle(GEOM_Object) &theFace);
476
483 Standard_EXPORT Handle(TColStd_HSequenceOfTransient)
484 GetSubShapeEdgeSorted (const Handle(GEOM_Object) &theShape,
485 const Handle(GEOM_Object) &theStartPoint);
486
502 Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetSubShapesWithTolerance
503 (const Handle(GEOM_Object) &theShape,
504 const Standard_Integer theShapeType,
506 const Standard_Real theTolerance);
507
518 Standard_EXPORT Handle(GEOM_Object) MakeExtraction
519 (const Handle(GEOM_Object) &theShape,
520 const Handle(TColStd_HArray1OfInteger) &theSubShapeIDs,
521 std::list<ExtractionStat> &theStats);
522
523 private:
524 Handle(GEOM_Object) MakeShape (std::list<Handle(GEOM_Object)> theShapes,
525 const Standard_Integer theObjectType,
526 const Standard_Integer theFunctionType,
527 const TCollection_AsciiString& theMethodName);
528
529// ----------------------------------------------------
530// methods common for all GetShapesOnXXX() functions
531// ----------------------------------------------------
532
538 bool checkTypeShapesOn(const Standard_Integer theShapeType);
539
545 Handle(Geom_Surface) makePlane(const TopoDS_Shape& theAx1);
546
553 Handle(Geom_Surface) makeCylinder(const TopoDS_Shape& theAx1,
554 const Standard_Real theRadius);
555
564 Handle(TColStd_HSequenceOfInteger)
565 getShapesOnSurfaceIDs(const Handle(Geom_Surface)& theSurface,
566 const TopoDS_Shape& theShape,
567 TopAbs_ShapeEnum theShapeType,
568 GEOMAlgo_State theState);
569
579 Handle(TColStd_HSequenceOfTransient)
580 getShapesOnSurface(const Handle(Geom_Surface)& theSurface,
581 const Handle(GEOM_Object)& theShape,
582 TopAbs_ShapeEnum theShapeType,
583 GEOMAlgo_State theState,
584 TCollection_AsciiString & theShapeEntries);
585
597 Handle(TColStd_HSequenceOfInteger)
598 getShapesOnQuadrangleIDs (const Handle(GEOM_Object)& theShape,
599 const Standard_Integer theShapeType,
600 const Handle(GEOM_Object)& theTopLeftPoint,
601 const Handle(GEOM_Object)& theTopRightPoint,
602 const Handle(GEOM_Object)& theBottomLeftPoint,
603 const Handle(GEOM_Object)& theBottomRightPoint,
604 const GEOMAlgo_State theState);
605
614 Handle(TColStd_HSequenceOfInteger) getShapesOnBoxIDs(const Handle(GEOM_Object)& theBox,
615 const Handle(GEOM_Object)& theShape,
616 const Standard_Integer theShapeType,
617 GEOMAlgo_State theState);
618
627 Handle(TColStd_HSequenceOfInteger) getShapesOnShapeIDs
628 (const Handle(GEOM_Object)& theCheckShape,
629 const Handle(GEOM_Object)& theShape,
630 const Standard_Integer theShapeType,
631 GEOMAlgo_State theState);
632
640 Handle(TColStd_HSequenceOfTransient)
641 getObjectsShapesOn(const Handle(GEOM_Object)& theShape,
642 const Handle(TColStd_HSequenceOfInteger)& theShapeIDs,
643 TCollection_AsciiString & theShapeEntries);
644
651 Handle(TColStd_HSequenceOfInteger) getSubShapeEdgeSortedIDs
652 (const Handle(GEOM_Object) &theShape,
653 const Handle(GEOM_Object) &theStartPoint);
654
661 static Handle(GEOM_Object) getCreatedLast(const Handle(GEOM_Object)& theObj1,
662 const Handle(GEOM_Object)& theObj2);
663};
664
665#endif
GEOMImpl_WireBuildMode
Definition: GEOMImpl_IShapesOperations.hxx:51
@ GEOMImpl_WBM_Approximation
Definition: GEOMImpl_IShapesOperations.hxx:53
@ GEOMImpl_WBM_FixTolerance
Definition: GEOMImpl_IShapesOperations.hxx:52
@ GEOMImpl_WBM_KeepCurveType
Definition: GEOMImpl_IShapesOperations.hxx:54
static const TopTools_IndexedMapOfShape & theIndices
Definition: GEOMImpl_ShapeDriver.cxx:127
Definition: GEOMImpl_IShapesOperations.hxx:58
const Standard_Integer const Handle(GEOM_Object) &theTopLeftPoint
Standard_EXPORT const Standard_Integer const const Standard_Real theRadius
Definition: GEOMImpl_IShapesOperations.hxx:232
Standard_EXPORT const Standard_Integer Handle(GEOM_Object) theAxis
Handle(TColStd_HSequenceOfTransient) getShapesOnSurface(const Handle(Geom_Surface) &theSurface
Find sub-shapes complying with given status about surface.
Standard_EXPORT Handle(GEOM_Object) MakeEdge(Handle(GEOM_Object) thePoint1
Standard_EXPORT Handle(TColStd_HSequenceOfInteger) GetFreeFacesIDs(Handle(GEOM_Object) theShape)
Standard_EXPORT const Standard_Real theLinearTolerance
Definition: GEOMImpl_IShapesOperations.hxx:99
Standard_EXPORT ~GEOMImpl_IShapesOperations()
Definition: GEOMImpl_IShapesOperations.cxx:193
Standard_EXPORT const Standard_Integer const const const const Handle(GEOM_Object) &theBottomRightPoint
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetSubShapeEdgeSorted(const Handle(GEOM_Object) &theShape
Explode a shape into edges sorted in a row from a starting point.
Standard_EXPORT const Standard_Real theLength
Definition: GEOMImpl_IShapesOperations.hxx:95
Handle(TColStd_HSequenceOfInteger) getSubShapeEdgeSortedIDs(const Handle(GEOM_Object) &theShape
Explode a shape into edges sorted in a row from a starting point.
Standard_EXPORT Handle(TColStd_HSequenceOfInteger) GetSameIDs(const Handle(GEOM_Object) &theShapeWhere
Searches a shape equal to theWhat in the context of theWhere.
Standard_EXPORT Handle(GEOM_Object) ExtendFace(const Handle(GEOM_Object) &theFace
Resize the input face with the new UMin, UMax, VMin and VMax parameters. The input face U and V param...
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetShapesOnSphere(const Handle(GEOM_Object) &theShape
Standard_EXPORT Handle(GEOM_Object) GetShapesOnSphereOld(Handle(GEOM_Object) theShape
Standard_EXPORT const Handle(GEOM_Object) &theStartPoint)
Standard_EXPORT const Standard_Integer const Handle(GEOM_Object) &theAxis
Standard_EXPORT Standard_Integer NumberOfSubShapes(Handle(GEOM_Object) theShape, const Standard_Integer theShapeType)
Definition: GEOMImpl_IShapesOperations.cxx:2176
Standard_EXPORT const Standard_Integer const Standard_Boolean isSorted
Definition: GEOMImpl_IShapesOperations.hxx:165
Standard_EXPORT Handle(GEOM_Object) MakeWrappedFace(std Standard_EXPORT Handle(GEOM_Object) MakeFaceWithConstraints(std Standard_EXPORT Handle(GEOM_Object) MakeShell(std Standard_EXPORT Handle(GEOM_Object) MakeSolidShells(std Standard_EXPORT Handle(GEOM_Object) MakeCompound(std Standard_EXPORT Handle(GEOM_Object) MakeSolidFromConnectedFaces(std Standard_EXPORT Handle(GEOM_Object) MakeGlueFaces(std Standard_EXPORT Handle(GEOM_Object) MakeGlueFacesByList(std Standard_EXPORT Handle(GEOM_Object) MakeGlueEdges(std Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetGlueShapes(std Standard_EXPORT Handle(GEOM_Object) MakeGlueEdgesByList(std Standard_EXPORT const Standard_Boolean theGroupsOnly
Definition: GEOMImpl_IShapesOperations.hxx:152
Standard_EXPORT const Standard_Integer const const const Handle(GEOM_Object) &theBottomLeftPoint
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetShapesOnPlaneWithLocation(const Handle(GEOM_Object) &theShape
Handle(Geom_Surface) makePlane(const TopoDS_Shape &theAx1)
Creates Geom_Plane.
Standard_EXPORT const Standard_Real const Standard_Real const Standard_Real theVMin
Definition: GEOMImpl_IShapesOperations.hxx:462
Standard_EXPORT void GetInPlaceMap(Handle(GEOM_Object) theShapeWhere, Handle(GEOM_Object) theShapeWhat, std::vector< std::vector< int > > &theResVec)
Definition: GEOMImpl_IShapesOperations.cxx:4847
Standard_EXPORT Handle(TColStd_HSequenceOfInteger) GetShapesOnCylinderWithLocationIDs(const Handle(GEOM_Object) &theShape
Standard_EXPORT const Handle(GEOM_Object) &theShape
Standard_EXPORT GEOMImpl_IShapesOperations(GEOM_Engine *theEngine)
Definition: GEOMImpl_IShapesOperations.cxx:182
Standard_EXPORT Handle(TColStd_HSequenceOfInteger) GetShapesOnQuadrangleIDs(const Handle(GEOM_Object) &theShape
Find IDs of sub-shapes complying with given status about quadrangle.
Standard_EXPORT Handle(GEOM_Object) theShapeWhat)
Standard_EXPORT Handle(GEOM_Object) GetInPlaceOld(Handle(GEOM_Object) theShapeWhere
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) MakeExplode(Handle(GEOM_Object) theShape
Standard_EXPORT Handle(GEOM_Object) MakeWire(std Standard_EXPORT const bool isPlanarWanted
Definition: GEOMImpl_IShapesOperations.hxx:106
const Handle(GEOM_Object) &theShape
const Standard_Integer const const Handle(GEOM_Object) &theTopRightPoint
Standard_EXPORT Handle(GEOM_Object) GetSame(const Handle(GEOM_Object) &theShapeWhere
Searches a shape equal to theWhat in the context of theWhere.
Standard_EXPORT Standard_Integer GetSubShapeIndex(Handle(GEOM_Object) theMainShape, Handle(GEOM_Object) theSubShape)
Definition: GEOMImpl_IShapesOperations.cxx:1928
Standard_EXPORT const std::list< ExtractionStat > & theStats
Definition: GEOMImpl_IShapesOperations.hxx:521
static Handle(GEOM_Object) getCreatedLast(const Handle(GEOM_Object) &theObj1
Select the object created last.
Standard_EXPORT Handle(TColStd_HSequenceOfInteger) SubShapeAllIDs(Handle(GEOM_Object) theShape
Standard_EXPORT const Standard_Integer theTypes
Definition: GEOMImpl_IShapesOperations.hxx:154
const Handle(TColStd_HSequenceOfInteger) &theShapeIDs
Standard_EXPORT const Standard_Integer const GEOMUtils::ComparisonCondition theCondition
Definition: GEOMImpl_IShapesOperations.hxx:505
Standard_EXPORT const Standard_Real const Standard_Real const Standard_Real const Standard_Real theVMax
Definition: GEOMImpl_IShapesOperations.hxx:463
Standard_EXPORT Standard_Boolean IsSubShapeBelongsTo(Handle(GEOM_Object) theSubObject, const Standard_Integer theSubObjectIndex, Handle(GEOM_Object) theObject, const Standard_Integer theObjectIndex)
Definition: GEOMImpl_IShapesOperations.cxx:2133
Standard_EXPORT std::list< Handle(GEOM_Object)> theSubShapes
Definition: GEOMImpl_IShapesOperations.hxx:185
Standard_EXPORT Handle(GEOM_Object) MakeFaceWires(std Standard_EXPORT Handle(GEOM_Object) MakeFaceFromSurface(Handle(GEOM_Object) theFace
Standard_EXPORT Standard_Integer GetTopologyIndex(Handle(GEOM_Object) theMainShape, Handle(GEOM_Object) theSubShape)
Definition: GEOMImpl_IShapesOperations.cxx:2001
Standard_EXPORT const Standard_Real theMin
Definition: GEOMImpl_IShapesOperations.hxx:440
Standard_EXPORT Handle(GEOM_Object) GetShapesOnCylinderOld(Handle(GEOM_Object) theShape
Standard_EXPORT const Standard_Real const Standard_Real theMax
Definition: GEOMImpl_IShapesOperations.hxx:441
Standard_EXPORT Handle(TColStd_HSequenceOfInteger) GetShapesOnSphereIDs(const Handle(GEOM_Object) &theShape
Standard_EXPORT Handle(GEOM_Object) MakeSurfaceFromFace(const Handle(GEOM_Object) &theFace)
Make a surface from a face. This function takes some face as input parameter and creates new GEOM_Obj...
const TopoDS_Shape & theShape
Definition: GEOMImpl_IShapesOperations.hxx:566
Standard_EXPORT Handle(TColStd_HSequenceOfInteger) GetSubShapesIndices(Handle(GEOM_Object) theMainShape
const Handle(GEOM_Object) &theStartPoint)
Standard_EXPORT const Standard_Real const Standard_Real theUMax
Definition: GEOMImpl_IShapesOperations.hxx:461
Standard_EXPORT Handle(TColStd_HSequenceOfInteger) GetShapesOnShapeIDs(const Handle(GEOM_Object) &theCheckShape
Find IDs of sub-shapes complying with given status about surface.
const Standard_Integer const const const Handle(GEOM_Object) &theBottomLeftPoint
Handle(TColStd_HSequenceOfInteger) getShapesOnBoxIDs(const Handle(GEOM_Object) &theBox
Find IDs of sub-shapes complying with given status about surface.
Standard_EXPORT Handle(GEOM_Object) MakeExtraction(const Handle(GEOM_Object) &theShape
Return the shape that is constructed from theShape without extracted sub-shapes from the input list.
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetShapesOnCylinder(const Handle(GEOM_Object) &theShape
Handle(TColStd_HSequenceOfInteger) getShapesOnShapeIDs(const Handle(GEOM_Object) &theCheckShape
Find IDs of sub-shapes complying with given status about surface.
Standard_EXPORT Handle(GEOM_Object) ReverseShape(Handle(GEOM_Object) theShapes)
Standard_EXPORT const Standard_Integer const const Handle(GEOM_Object) &theTopRightPoint
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetShapesOnBox(const Handle(GEOM_Object) &theBox
Find sub-shapes complying with given status about surface.
Standard_EXPORT const Standard_Integer const Standard_Boolean const ExplodeType theExplodeType
Definition: GEOMImpl_IShapesOperations.hxx:166
Standard_EXPORT const Standard_Integer theShapeType
Definition: GEOMImpl_IShapesOperations.hxx:164
Standard_EXPORT Handle(TColStd_HArray1OfInteger) theIndices)
Handle(TColStd_HSequenceOfInteger) getShapesOnQuadrangleIDs(const Handle(GEOM_Object) &theShape
Find IDs of sub-shapes complying with given status about quadrangle.
Standard_EXPORT const Standard_Integer const Handle(GEOM_Object) &theCenter
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetShapesOnQuadrangle(const Handle(GEOM_Object) &theShape
Find sub-shapes complying with given status about quadrangle.
Standard_EXPORT Handle(GEOM_Object) MakeEdgeOnCurveByLength(Handle(GEOM_Object) theCurve
Standard_EXPORT Handle(GEOM_Object) GetSubShape(Handle(GEOM_Object) theMainShape
Standard_EXPORT Handle(GEOM_Object) GetInPlaceByHistory(Handle(GEOM_Object) theShapeWhere
Standard_EXPORT Handle(TColStd_HSequenceOfInteger) GetShapesOnPlaneIDs(const Handle(GEOM_Object) &theShape
Standard_EXPORT Handle(TColStd_HSequenceOfInteger) GetShapesOnCylinderIDs(const Handle(GEOM_Object) &theShape
Handle(TColStd_HSequenceOfInteger) getShapesOnSurfaceIDs(const Handle(Geom_Surface) &theSurface
Find IDs of sub-shapes complying with given status about surface.
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetSharedShapes(std Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetShapesOnPlane(const Handle(GEOM_Object) &theShape
Standard_EXPORT Handle(GEOM_Object) MakeWrappedFace(std Standard_EXPORT Handle(GEOM_Object) MakeFaceWithConstraints(std Standard_EXPORT Handle(GEOM_Object) MakeShell(std Standard_EXPORT Handle(GEOM_Object) MakeSolidShells(std Standard_EXPORT Handle(GEOM_Object) MakeCompound(std Standard_EXPORT Handle(GEOM_Object) MakeSolidFromConnectedFaces(std Standard_EXPORT Handle(GEOM_Object) MakeGlueFaces(std Standard_EXPORT Handle(GEOM_Object) MakeGlueFacesByList(std Standard_EXPORT Handle(GEOM_Object) MakeGlueEdges(std Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetGlueShapes(std Standard_EXPORT Handle(GEOM_Object) MakeGlueEdgesByList(std Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetExistingSubObjects(Handle(GEOM_Object) theShape
Standard_EXPORT const Handle(TColStd_HArray1OfInteger) &theSubShapeIDs
Standard_EXPORT const Standard_Integer theID
Definition: GEOMImpl_IShapesOperations.hxx:175
Standard_EXPORT Handle(GEOM_Object) MakeFaceWires(std Standard_EXPORT Handle(GEOM_Object) theWire)
Standard_EXPORT Handle(GEOM_Object) GetInPlace(Handle(GEOM_Object) theShapeWhere
Standard_EXPORT const Standard_Integer const Handle(GEOM_Object) &theTopLeftPoint
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetExistingSubObjects(Handle(GEOM_Object) theShape
ExtractionStatType
This enumeration represents an extraction statistics type.
Definition: GEOMImpl_IShapesOperations.hxx:73
@ EST_Modified
Modified sub-shapes.
Definition: GEOMImpl_IShapesOperations.hxx:75
@ EST_Added
Newly created sub-shapes.
Definition: GEOMImpl_IShapesOperations.hxx:76
@ EST_Removed
Removed sub-shapes.
Definition: GEOMImpl_IShapesOperations.hxx:74
Standard_EXPORT const Standard_Real theUMin
Definition: GEOMImpl_IShapesOperations.hxx:460
const Standard_Integer const const const const Handle(GEOM_Object) &theBottomRightPoint
Standard_EXPORT Handle(TColStd_HSequenceOfInteger) GetShapesOnBoxIDs(const Handle(GEOM_Object) &theBox
Find IDs of sub-shapes complying with given status about surface.
Standard_EXPORT const Standard_Integer const GEOMUtils::ComparisonCondition const Standard_Real theTolerance
Definition: GEOMImpl_IShapesOperations.hxx:506
ExplodeType
Definition: GEOMImpl_IShapesOperations.hxx:156
@ EXPLODE_NEW_INCLUDE_MAIN
Definition: GEOMImpl_IShapesOperations.hxx:158
@ EXPLODE_NEW_EXCLUDE_MAIN
Definition: GEOMImpl_IShapesOperations.hxx:159
@ EXPLODE_OLD_INCLUDE_MAIN
Definition: GEOMImpl_IShapesOperations.hxx:157
Handle(TColStd_HSequenceOfTransient) getObjectsShapesOn(const Handle(GEOM_Object) &theShape
Find shape objects and their entries by their ids.
SubShapeType
Definition: GEOMImpl_IShapesOperations.hxx:61
@ All
Definition: GEOMImpl_IShapesOperations.hxx:66
@ Groups
Definition: GEOMImpl_IShapesOperations.hxx:63
@ None
Definition: GEOMImpl_IShapesOperations.hxx:62
@ SubShapes
Definition: GEOMImpl_IShapesOperations.hxx:65
@ Fields
Definition: GEOMImpl_IShapesOperations.hxx:64
Standard_EXPORT Handle(GEOM_Object) GetShapesOnShapeAsCompound(const Handle(GEOM_Object) &theCheckShape
const TopAbs_ShapeEnum GEOMAlgo_State TCollection_AsciiString & theShapeEntries
Definition: GEOMImpl_IShapesOperations.hxx:584
Standard_EXPORT const Standard_Real Handle(GEOM_Object) theStartPoint)
Standard_EXPORT const Standard_Integer const const Handle(GEOM_Object) &thePnt
Standard_EXPORT const Handle(GEOM_Object) &theShapeWhat)
Standard_EXPORT TCollection_AsciiString GetShapeTypeString(Handle(GEOM_Object) theShape)
Definition: GEOMImpl_IShapesOperations.cxx:2052
Standard_EXPORT Handle(GEOM_Object) theShape2
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetShapesOnShape(const Handle(GEOM_Object) &theCheckShape
Find sub-shapes complying with given status about surface.
Standard_EXPORT const Standard_Real const Standard_Real theAngularTolerance
Definition: GEOMImpl_IShapesOperations.hxx:100
Standard_EXPORT Handle(GEOM_Object) MakeEdgeWire(Handle(GEOM_Object) theWire
Handle(GEOM_Object) MakeShape(std bool checkTypeShapesOn(const Standard_Integer theShapeType)
Checks if theShapeType parameter of GetShapesOnXXX() is OK.
Definition: GEOMImpl_IShapesOperations.cxx:2647
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetSharedShapes(std Standard_EXPORT const Standard_Integer const Handle(GEOM_Object) &theAx1
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetSharedShapes(Handle(GEOM_Object) theShape1
Standard_EXPORT const Standard_Integer Handle(GEOM_Object) theCenter
Standard_EXPORT Handle(GEOM_Object) MakeWire(std Standard_EXPORT Handle(GEOM_Object) MakeFace(Handle(GEOM_Object) theWire
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetSubShapesWithTolerance(const Handle(GEOM_Object) &theShape
Return the list of subshapes that satisfies a certain tolerance criterion. The user defines the type ...
Handle(Geom_Surface) makeCylinder(const TopoDS_Shape &theAx1
Creates Geom_CylindricalSurface.
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) MakeSubShapes(Handle(GEOM_Object) theMainShape
Standard_EXPORT Handle(TColStd_HSequenceOfInteger) GetShapesOnPlaneWithLocationIDs(const Handle(GEOM_Object) &theShape
Standard_EXPORT Handle(GEOM_Object) ExtendEdge(const Handle(GEOM_Object) &theEdge
Resize the input edge with the new Min and Max parameters. The input edge parameters range is [0,...
Standard_EXPORT const Standard_Integer const Handle(GEOM_Object) &theAx1
Standard_EXPORT Handle(GEOM_Object) thePoint2)
static const Handle(GEOM_Object) &theObj2)
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetShapesOnCylinderWithLocation(const Handle(GEOM_Object) &theShape
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetSharedShapes(std Standard_EXPORT const Standard_Integer const const GEOMAlgo_State theState
Definition: GEOMImpl_IShapesOperations.hxx:218
Definition: GEOM_Engine.hxx:91
Definition: GEOM_IOperations.hxx:40
ComparisonCondition
This enumeration represents comparison conditions.
Definition: GEOMUtils.hxx:61
Definition: GEOMImpl_IShapesOperations.hxx:83
ExtractionStatType type
Type of extraction statistics.
Definition: GEOMImpl_IShapesOperations.hxx:84
std::list< Standard_Integer > indices
Shape indices touched by this type of modification.
Definition: GEOMImpl_IShapesOperations.hxx:85