Version: 9.13.0
GEOMImpl_IShapesOperations.hxx
Go to the documentation of this file.
1 // Copyright (C) 2007-2024 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 
55 };
56 
58 {
59  public:
60 
61  enum SubShapeType {
62  None = 0x00,
63  Groups = 0x01,
64  Fields = 0x02,
65  SubShapes = 0x04,
67  };
68 
73  {
76  EST_Added
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 
156  enum ExplodeType {
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
421  Standard_EXPORT Handle(GEOM_Object)
422  GetShapesOnShapeAsCompound(const Handle(GEOM_Object)& theCheckShape,
423  const Handle(GEOM_Object)& theShape,
424  const Standard_Integer theShapeType,
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,
569 
579  Handle(TColStd_HSequenceOfTransient)
580  getShapesOnSurface(const Handle(Geom_Surface)& theSurface,
581  const Handle(GEOM_Object)& theShape,
582  TopAbs_ShapeEnum theShapeType,
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,
605 
614  Handle(TColStd_HSequenceOfInteger) getShapesOnBoxIDs(const Handle(GEOM_Object)& theBox,
615  const Handle(GEOM_Object)& theShape,
616  const Standard_Integer theShapeType,
618 
627  Handle(TColStd_HSequenceOfInteger) getShapesOnShapeIDs
628  (const Handle(GEOM_Object)& theCheckShape,
629  const Handle(GEOM_Object)& theShape,
630  const Standard_Integer theShapeType,
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
GEOMAlgo_State
Definition: GEOMAlgo_State.hxx:26
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:128
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:192
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:2175
Standard_EXPORT const Standard_Integer const Standard_Boolean isSorted
Definition: GEOMImpl_IShapesOperations.hxx:165
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:4837
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:181
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:1927
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:2132
Standard_EXPORT std::list< Handle(GEOM_Object)> theSubShapes
Definition: GEOMImpl_IShapesOperations.hxx:185
Standard_EXPORT Standard_Integer GetTopologyIndex(Handle(GEOM_Object) theMainShape, Handle(GEOM_Object) theSubShape)
Definition: GEOMImpl_IShapesOperations.cxx:2000
Standard_EXPORT const Standard_Real theMin
Definition: GEOMImpl_IShapesOperations.hxx:440
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: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 const Handle(TColStd_HArray1OfInteger) &theSubShapeIDs
Standard_EXPORT const Standard_Integer theID
Definition: GEOMImpl_IShapesOperations.hxx:175
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:2051
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
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 ...
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
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