Version: 9.12.0
GEOMImpl_IShapesOperations.hxx
Go to the documentation of this file.
1 // Copyright (C) 2007-2023 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 
47 class GEOM_Engine;
48 class GEOM_Object;
49 class TopoDS_Shape;
50 
52 {
53  public:
54 
55  enum SubShapeType {
56  None = 0x00,
57  Groups = 0x01,
58  Fields = 0x02,
59  SubShapes = 0x04,
61  };
62 
67  {
70  EST_Added
71  };
72 
77  {
79  std::list<Standard_Integer> indices;
80  };
81 
82  Standard_EXPORT GEOMImpl_IShapesOperations(GEOM_Engine* theEngine);
83  Standard_EXPORT ~GEOMImpl_IShapesOperations();
84 
85  Standard_EXPORT Handle(GEOM_Object) MakeEdge (Handle(GEOM_Object) thePoint1,
86  Handle(GEOM_Object) thePoint2);
87 
88  Standard_EXPORT Handle(GEOM_Object) MakeEdgeOnCurveByLength (Handle(GEOM_Object) theCurve,
89  const Standard_Real theLength,
90  Handle(GEOM_Object) theStartPoint);
91 
92  Standard_EXPORT Handle(GEOM_Object) MakeEdgeWire (Handle(GEOM_Object) theWire,
93  const Standard_Real theLinearTolerance,
94  const Standard_Real theAngularTolerance);
95 
96  Standard_EXPORT Handle(GEOM_Object) MakeWire (std::list<Handle(GEOM_Object)> theEdgesAndWires,
97  const Standard_Real theTolerance);
98 
99  Standard_EXPORT Handle(GEOM_Object) MakeFace (Handle(GEOM_Object) theWire, const bool isPlanarWanted);
100 
101  Standard_EXPORT Handle(GEOM_Object) MakeFaceWires (std::list<Handle(GEOM_Object)> theWires,
102  const bool isPlanarWanted);
103 
104  Standard_EXPORT Handle(GEOM_Object) MakeFaceFromSurface
105  (Handle(GEOM_Object) theFace,
106  Handle(GEOM_Object) theWire);
107 
108  Standard_EXPORT Handle(GEOM_Object) MakeFaceWithConstraints (std::list<Handle(GEOM_Object)> theConstraints);
109 
110  Standard_EXPORT Handle(GEOM_Object) MakeShell (std::list<Handle(GEOM_Object)> theShapes);
111 
112  Standard_EXPORT Handle(GEOM_Object) MakeSolidShells (std::list<Handle(GEOM_Object)> theShells);
113 
114  Standard_EXPORT Handle(GEOM_Object) MakeCompound (std::list<Handle(GEOM_Object)> theShapes);
115 
116  Standard_EXPORT Handle(GEOM_Object) MakeSolidFromConnectedFaces (std::list<Handle(GEOM_Object)> theFacesOrShells,
117  const Standard_Boolean isIntersect);
118 
119  Standard_EXPORT Handle(GEOM_Object) MakeGlueFaces (std::list< Handle(GEOM_Object) >& theShapes,
120  const Standard_Real theTolerance,
121  const Standard_Boolean doKeepNonSolids);
122 
123  Standard_EXPORT Handle(GEOM_Object) MakeGlueFacesByList (std::list< Handle(GEOM_Object) >& theShapes,
124  const Standard_Real theTolerance,
125  std::list<Handle(GEOM_Object)>& theFaces,
126  const Standard_Boolean doKeepNonSolids,
127  const Standard_Boolean doGlueAllEdges);
128 
129  Standard_EXPORT Handle(GEOM_Object) MakeGlueEdges (std::list< Handle(GEOM_Object) >& theShapes,
130  const Standard_Real theTolerance);
131 
132  Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetGlueShapes (std::list< Handle(GEOM_Object) >& theShapes,
133  const Standard_Real theTolerance,
134  const TopAbs_ShapeEnum theType);
135 
136  Standard_EXPORT Handle(GEOM_Object) MakeGlueEdgesByList (std::list< Handle(GEOM_Object) >& theShapes,
137  const Standard_Real theTolerance,
138  std::list<Handle(GEOM_Object)> & theEdges);
139 
140  Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetExistingSubObjects(Handle(GEOM_Object) theShape,
141  const Standard_Boolean theGroupsOnly);
142  Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetExistingSubObjects(Handle(GEOM_Object) theShape,
143  const Standard_Integer theTypes = All);
144 
145  enum ExplodeType {
149  };
150 
151  Standard_EXPORT Handle(TColStd_HSequenceOfTransient) MakeExplode
152  (Handle(GEOM_Object) theShape,
153  const Standard_Integer theShapeType,
154  const Standard_Boolean isSorted,
156 
157  Standard_EXPORT Handle(TColStd_HSequenceOfInteger) SubShapeAllIDs
158  (Handle(GEOM_Object) theShape,
159  const Standard_Integer theShapeType,
160  const Standard_Boolean isSorted,
162 
163  Standard_EXPORT Handle(GEOM_Object) GetSubShape (Handle(GEOM_Object) theMainShape,
164  const Standard_Integer theID);
165 
166  Standard_EXPORT Handle(TColStd_HSequenceOfTransient) MakeSubShapes
167  (Handle(GEOM_Object) theMainShape,
168  Handle(TColStd_HArray1OfInteger) theIndices);
169 
170  Standard_EXPORT Standard_Integer GetSubShapeIndex (Handle(GEOM_Object) theMainShape,
171  Handle(GEOM_Object) theSubShape);
172 
173  Standard_EXPORT Handle(TColStd_HSequenceOfInteger) GetSubShapesIndices (Handle(GEOM_Object) theMainShape,
174  std::list<Handle(GEOM_Object)> theSubShapes);
175 
176  Standard_EXPORT Standard_Integer GetTopologyIndex (Handle(GEOM_Object) theMainShape,
177  Handle(GEOM_Object) theSubShape);
178 
179  Standard_EXPORT TCollection_AsciiString GetShapeTypeString (Handle(GEOM_Object) theShape);
180 
181  Standard_EXPORT Standard_Boolean IsSubShapeBelongsTo(Handle(GEOM_Object) theSubObject,
182  const Standard_Integer theSubObjectIndex,
183  Handle(GEOM_Object) theObject,
184  const Standard_Integer theObjectIndex);
185 
186  Standard_EXPORT Standard_Integer NumberOfSubShapes (Handle(GEOM_Object) theShape,
187  const Standard_Integer theShapeType);
188 
189  Standard_EXPORT Handle(GEOM_Object) ReverseShape(Handle(GEOM_Object) theShapes);
190 
191  Standard_EXPORT Handle(TColStd_HSequenceOfInteger) GetFreeFacesIDs (Handle(GEOM_Object) theShape);
192 
193  Standard_EXPORT Handle(TColStd_HSequenceOfTransient)
194  GetSharedShapes (Handle(GEOM_Object) theShape1,
195  Handle(GEOM_Object) theShape2,
196  const Standard_Integer theShapeType);
197 
198  Standard_EXPORT Handle(TColStd_HSequenceOfTransient)
199  GetSharedShapes (std::list<Handle(GEOM_Object)>& theShapes,
200  const Standard_Integer theShapeType,
201  const bool theMultiShare = true);
202 
203  Standard_EXPORT Handle(TColStd_HSequenceOfTransient)
204  GetShapesOnPlane (const Handle(GEOM_Object)& theShape,
205  const Standard_Integer theShapeType,
206  const Handle(GEOM_Object)& theAx1,
208 
209  Standard_EXPORT Handle(TColStd_HSequenceOfTransient)
210  GetShapesOnPlaneWithLocation (const Handle(GEOM_Object)& theShape,
211  const Standard_Integer theShapeType,
212  const Handle(GEOM_Object)& theAx1,
213  const Handle(GEOM_Object)& thePnt,
215 
216 
217  Standard_EXPORT Handle(TColStd_HSequenceOfTransient)
218  GetShapesOnCylinder (const Handle(GEOM_Object)& theShape,
219  const Standard_Integer theShapeType,
220  const Handle(GEOM_Object)& theAxis,
221  const Standard_Real theRadius,
223 
224  Standard_EXPORT Handle(TColStd_HSequenceOfTransient)
225  GetShapesOnCylinderWithLocation (const Handle(GEOM_Object)& theShape,
226  const Standard_Integer theShapeType,
227  const Handle(GEOM_Object)& theAxis,
228  const Handle(GEOM_Object)& thePnt,
229  const Standard_Real theRadius,
231 
232  Standard_EXPORT Handle(TColStd_HSequenceOfTransient)
233  GetShapesOnSphere (const Handle(GEOM_Object)& theShape,
234  const Standard_Integer theShapeType,
235  const Handle(GEOM_Object)& theCenter,
236  const Standard_Real theRadius,
237  const GEOMAlgo_State theState);
238 
239  Standard_EXPORT Handle(TColStd_HSequenceOfInteger)
240  GetShapesOnPlaneIDs (const Handle(GEOM_Object)& theShape,
241  const Standard_Integer theShapeType,
242  const Handle(GEOM_Object)& theAx1,
244 
245  Standard_EXPORT Handle(TColStd_HSequenceOfInteger)
246  GetShapesOnPlaneWithLocationIDs (const Handle(GEOM_Object)& theShape,
247  const Standard_Integer theShapeType,
248  const Handle(GEOM_Object)& theAx1,
249  const Handle(GEOM_Object)& thePnt,
250  const GEOMAlgo_State theState);
251 
252  Standard_EXPORT Handle(TColStd_HSequenceOfInteger)
253  GetShapesOnCylinderIDs (const Handle(GEOM_Object)& theShape,
254  const Standard_Integer theShapeType,
255  const Handle(GEOM_Object)& theAxis,
256  const Standard_Real theRadius,
257  const GEOMAlgo_State theState);
258 
259  Standard_EXPORT Handle(TColStd_HSequenceOfInteger)
260  GetShapesOnCylinderWithLocationIDs (const Handle(GEOM_Object)& theShape,
261  const Standard_Integer theShapeType,
262  const Handle(GEOM_Object)& theAxis,
263  const Handle(GEOM_Object)& thePnt,
264  const Standard_Real theRadius,
265  const GEOMAlgo_State theState);
266 
267  Standard_EXPORT Handle(TColStd_HSequenceOfInteger)
268  GetShapesOnSphereIDs (const Handle(GEOM_Object)& theShape,
269  const Standard_Integer theShapeType,
270  const Handle(GEOM_Object)& theCenter,
271  const Standard_Real theRadius,
272  const GEOMAlgo_State theState);
273 
285  Standard_EXPORT Handle(TColStd_HSequenceOfTransient)
286  GetShapesOnQuadrangle (const Handle(GEOM_Object)& theShape,
287  const Standard_Integer theShapeType,
288  const Handle(GEOM_Object)& theTopLeftPoint,
289  const Handle(GEOM_Object)& theTopRightPoint,
290  const Handle(GEOM_Object)& theBottomLeftPoint,
291  const Handle(GEOM_Object)& theBottomRightPoint,
293 
305  Standard_EXPORT Handle(TColStd_HSequenceOfInteger)
306  GetShapesOnQuadrangleIDs (const Handle(GEOM_Object)& theShape,
307  const Standard_Integer theShapeType,
308  const Handle(GEOM_Object)& theTopLeftPoint,
309  const Handle(GEOM_Object)& theTopRightPoint,
310  const Handle(GEOM_Object)& theBottomLeftPoint,
311  const Handle(GEOM_Object)& theBottomRightPoint,
312  const GEOMAlgo_State theState);
313 
314  Standard_EXPORT Handle(GEOM_Object) GetShapesOnCylinderOld (Handle(GEOM_Object) theShape,
315  const Standard_Integer theShapeType,
316  Handle(GEOM_Object) theAxis,
317  const Standard_Real theRadius);
318 
319  Standard_EXPORT Handle(GEOM_Object) GetShapesOnSphereOld (Handle(GEOM_Object) theShape,
320  const Standard_Integer theShapeType,
321  Handle(GEOM_Object) theCenter,
322  const Standard_Real theRadius);
323 
324  Standard_EXPORT Handle(GEOM_Object) GetInPlace (Handle(GEOM_Object) theShapeWhere,
325  Handle(GEOM_Object) theShapeWhat);
326 
327  Standard_EXPORT Handle(GEOM_Object) GetInPlaceOld (Handle(GEOM_Object) theShapeWhere,
328  Handle(GEOM_Object) theShapeWhat);
329 
330  Standard_EXPORT Handle(GEOM_Object) GetInPlaceByHistory (Handle(GEOM_Object) theShapeWhere,
331  Handle(GEOM_Object) theShapeWhat);
332 
333  Standard_EXPORT void GetInPlaceMap (Handle(GEOM_Object) theShapeWhere,
334  Handle(GEOM_Object) theShapeWhat,
335  std::vector< std::vector< int > > & theResVec);
336 
343  Standard_EXPORT Handle(GEOM_Object) GetSame(const Handle(GEOM_Object)& theShapeWhere,
344  const Handle(GEOM_Object)& theShapeWhat);
345 
352  Standard_EXPORT Handle(TColStd_HSequenceOfInteger) GetSameIDs(const Handle(GEOM_Object)& theShapeWhere,
353  const Handle(GEOM_Object)& theShapeWhat);
354 
363  Standard_EXPORT Handle(TColStd_HSequenceOfInteger)
364  GetShapesOnBoxIDs(const Handle(GEOM_Object)& theBox,
365  const Handle(GEOM_Object)& theShape,
366  const Standard_Integer theShapeType,
368 
377  Standard_EXPORT Handle(TColStd_HSequenceOfTransient)
378  GetShapesOnBox(const Handle(GEOM_Object)& theBox,
379  const Handle(GEOM_Object)& theShape,
380  const Standard_Integer theShapeType,
382 
391  Standard_EXPORT Handle(TColStd_HSequenceOfInteger)
392  GetShapesOnShapeIDs(const Handle(GEOM_Object)& theCheckShape,
393  const Handle(GEOM_Object)& theShape,
394  const Standard_Integer theShapeType,
396 
405  Standard_EXPORT Handle(TColStd_HSequenceOfTransient)
406  GetShapesOnShape(const Handle(GEOM_Object)& theCheckShape,
407  const Handle(GEOM_Object)& theShape,
408  const Standard_Integer theShapeType,
410  Standard_EXPORT Handle(GEOM_Object)
411  GetShapesOnShapeAsCompound(const Handle(GEOM_Object)& theCheckShape,
412  const Handle(GEOM_Object)& theShape,
413  const Standard_Integer theShapeType,
415 
427  Standard_EXPORT Handle(GEOM_Object)
428  ExtendEdge(const Handle(GEOM_Object)& theEdge,
429  const Standard_Real theMin,
430  const Standard_Real theMax);
431 
447  Standard_EXPORT Handle(GEOM_Object)
448  ExtendFace(const Handle(GEOM_Object)& theFace,
449  const Standard_Real theUMin,
450  const Standard_Real theUMax,
451  const Standard_Real theVMin,
452  const Standard_Real theVMax);
453 
463  Standard_EXPORT Handle(GEOM_Object)
464  MakeSurfaceFromFace(const Handle(GEOM_Object) &theFace);
465 
472  Standard_EXPORT Handle(TColStd_HSequenceOfTransient)
473  GetSubShapeEdgeSorted (const Handle(GEOM_Object) &theShape,
474  const Handle(GEOM_Object) &theStartPoint);
475 
491  Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetSubShapesWithTolerance
492  (const Handle(GEOM_Object) &theShape,
493  const Standard_Integer theShapeType,
495  const Standard_Real theTolerance);
496 
507  Standard_EXPORT Handle(GEOM_Object) MakeExtraction
508  (const Handle(GEOM_Object) &theShape,
509  const Handle(TColStd_HArray1OfInteger) &theSubShapeIDs,
510  std::list<ExtractionStat> &theStats);
511 
512  private:
513  Handle(GEOM_Object) MakeShape (std::list<Handle(GEOM_Object)> theShapes,
514  const Standard_Integer theObjectType,
515  const Standard_Integer theFunctionType,
516  const TCollection_AsciiString& theMethodName);
517 
518 // ----------------------------------------------------
519 // methods common for all GetShapesOnXXX() functions
520 // ----------------------------------------------------
521 
527  bool checkTypeShapesOn(const Standard_Integer theShapeType);
528 
534  Handle(Geom_Surface) makePlane(const TopoDS_Shape& theAx1);
535 
542  Handle(Geom_Surface) makeCylinder(const TopoDS_Shape& theAx1,
543  const Standard_Real theRadius);
544 
553  Handle(TColStd_HSequenceOfInteger)
554  getShapesOnSurfaceIDs(const Handle(Geom_Surface)& theSurface,
555  const TopoDS_Shape& theShape,
556  TopAbs_ShapeEnum theShapeType,
558 
568  Handle(TColStd_HSequenceOfTransient)
569  getShapesOnSurface(const Handle(Geom_Surface)& theSurface,
570  const Handle(GEOM_Object)& theShape,
571  TopAbs_ShapeEnum theShapeType,
573  TCollection_AsciiString & theShapeEntries);
574 
586  Handle(TColStd_HSequenceOfInteger)
587  getShapesOnQuadrangleIDs (const Handle(GEOM_Object)& theShape,
588  const Standard_Integer theShapeType,
589  const Handle(GEOM_Object)& theTopLeftPoint,
590  const Handle(GEOM_Object)& theTopRightPoint,
591  const Handle(GEOM_Object)& theBottomLeftPoint,
592  const Handle(GEOM_Object)& theBottomRightPoint,
594 
603  Handle(TColStd_HSequenceOfInteger) getShapesOnBoxIDs(const Handle(GEOM_Object)& theBox,
604  const Handle(GEOM_Object)& theShape,
605  const Standard_Integer theShapeType,
607 
616  Handle(TColStd_HSequenceOfInteger) getShapesOnShapeIDs
617  (const Handle(GEOM_Object)& theCheckShape,
618  const Handle(GEOM_Object)& theShape,
619  const Standard_Integer theShapeType,
621 
629  Handle(TColStd_HSequenceOfTransient)
630  getObjectsShapesOn(const Handle(GEOM_Object)& theShape,
631  const Handle(TColStd_HSequenceOfInteger)& theShapeIDs,
632  TCollection_AsciiString & theShapeEntries);
633 
640  Handle(TColStd_HSequenceOfInteger) getSubShapeEdgeSortedIDs
641  (const Handle(GEOM_Object) &theShape,
642  const Handle(GEOM_Object) &theStartPoint);
643 
650  static Handle(GEOM_Object) getCreatedLast(const Handle(GEOM_Object)& theObj1,
651  const Handle(GEOM_Object)& theObj2);
652 };
653 
654 #endif
GEOMAlgo_State
Definition: GEOMAlgo_State.hxx:26
static const TopTools_IndexedMapOfShape & theIndices
Definition: GEOMImpl_ShapeDriver.cxx:126
Definition: GEOMImpl_IShapesOperations.hxx:52
const Standard_Integer const Handle(GEOM_Object) &theTopLeftPoint
Standard_EXPORT const Standard_Integer const const Standard_Real theRadius
Definition: GEOMImpl_IShapesOperations.hxx:221
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:93
Standard_EXPORT ~GEOMImpl_IShapesOperations()
Definition: GEOMImpl_IShapesOperations.cxx:190
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:89
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:141
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:2062
Standard_EXPORT const Standard_Integer const Standard_Boolean isSorted
Definition: GEOMImpl_IShapesOperations.hxx:154
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:451
Standard_EXPORT void GetInPlaceMap(Handle(GEOM_Object) theShapeWhere, Handle(GEOM_Object) theShapeWhat, std::vector< std::vector< int > > &theResVec)
Definition: GEOMImpl_IShapesOperations.cxx:4724
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:179
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:99
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:1814
Standard_EXPORT const std::list< ExtractionStat > & theStats
Definition: GEOMImpl_IShapesOperations.hxx:510
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:143
const Handle(TColStd_HSequenceOfInteger) &theShapeIDs
Standard_EXPORT const Standard_Integer const GEOMUtils::ComparisonCondition theCondition
Definition: GEOMImpl_IShapesOperations.hxx:494
Standard_EXPORT const Standard_Real const Standard_Real const Standard_Real const Standard_Real theVMax
Definition: GEOMImpl_IShapesOperations.hxx:452
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:2019
Standard_EXPORT std::list< Handle(GEOM_Object)> theSubShapes
Definition: GEOMImpl_IShapesOperations.hxx:174
Standard_EXPORT Standard_Integer GetTopologyIndex(Handle(GEOM_Object) theMainShape, Handle(GEOM_Object) theSubShape)
Definition: GEOMImpl_IShapesOperations.cxx:1887
Standard_EXPORT const Standard_Real theMin
Definition: GEOMImpl_IShapesOperations.hxx:429
Standard_EXPORT const Standard_Integer const Handle(GEOM_Object) &theAx1
Standard_EXPORT Handle(GEOM_Object) GetShapesOnCylinderOld(Handle(GEOM_Object) theShape
Standard_EXPORT const Standard_Real const Standard_Real theMax
Definition: GEOMImpl_IShapesOperations.hxx:430
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:555
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:450
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:155
Standard_EXPORT const Standard_Integer theShapeType
Definition: GEOMImpl_IShapesOperations.hxx:153
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 const Handle(TColStd_HArray1OfInteger) &theSubShapeIDs
Standard_EXPORT const Standard_Integer theID
Definition: GEOMImpl_IShapesOperations.hxx:164
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:67
@ EST_Modified
Modified sub-shapes.
Definition: GEOMImpl_IShapesOperations.hxx:69
@ EST_Added
Newly created sub-shapes.
Definition: GEOMImpl_IShapesOperations.hxx:70
@ EST_Removed
Removed sub-shapes.
Definition: GEOMImpl_IShapesOperations.hxx:68
Standard_EXPORT const Standard_Real theUMin
Definition: GEOMImpl_IShapesOperations.hxx:449
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:495
ExplodeType
Definition: GEOMImpl_IShapesOperations.hxx:145
@ EXPLODE_NEW_INCLUDE_MAIN
Definition: GEOMImpl_IShapesOperations.hxx:147
@ EXPLODE_NEW_EXCLUDE_MAIN
Definition: GEOMImpl_IShapesOperations.hxx:148
@ EXPLODE_OLD_INCLUDE_MAIN
Definition: GEOMImpl_IShapesOperations.hxx:146
Handle(TColStd_HSequenceOfTransient) getObjectsShapesOn(const Handle(GEOM_Object) &theShape
Find shape objects and their entries by their ids.
SubShapeType
Definition: GEOMImpl_IShapesOperations.hxx:55
@ All
Definition: GEOMImpl_IShapesOperations.hxx:60
@ Groups
Definition: GEOMImpl_IShapesOperations.hxx:57
@ None
Definition: GEOMImpl_IShapesOperations.hxx:56
@ SubShapes
Definition: GEOMImpl_IShapesOperations.hxx:59
@ Fields
Definition: GEOMImpl_IShapesOperations.hxx:58
Standard_EXPORT Handle(GEOM_Object) GetShapesOnShapeAsCompound(const Handle(GEOM_Object) &theCheckShape
const TopAbs_ShapeEnum GEOMAlgo_State TCollection_AsciiString & theShapeEntries
Definition: GEOMImpl_IShapesOperations.hxx:573
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:1938
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:94
Standard_EXPORT Handle(GEOM_Object) MakeEdgeWire(Handle(GEOM_Object) theWire
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetSharedShapes(Handle(GEOM_Object) theShape1
Standard_EXPORT const Standard_Integer Handle(GEOM_Object) theCenter
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:207
Definition: GEOM_Engine.hxx:91
Definition: GEOM_IOperations.hxx:40
ComparisonCondition
This enumeration represents comparison conditions.
Definition: GEOMUtils.hxx:61
Definition: GEOMImpl_IShapesOperations.hxx:77
ExtractionStatType type
Type of extraction statistics.
Definition: GEOMImpl_IShapesOperations.hxx:78
std::list< Standard_Integer > indices
Shape indices touched by this type of modification.
Definition: GEOMImpl_IShapesOperations.hxx:79