Version: 9.16.0
GEOMImpl_IMeasureOperations.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#ifndef _GEOMImpl_IMeasureOperations_HXX_
24#define _GEOMImpl_IMeasureOperations_HXX_
25
26#include "GEOM_IOperations.hxx"
27
28#include <GeomAnaTool_Tools.hxx>
29
30#include <BRepCheck_Analyzer.hxx>
31#include <BRepCheck_Status.hxx>
32#include <TopoDS_Shape.hxx>
33#include <TCollection_AsciiString.hxx>
34#include <TColStd_HSequenceOfInteger.hxx>
35#include <TColStd_HSequenceOfReal.hxx>
36#include <TopTools_DataMapOfIntegerListOfShape.hxx>
37#include <TopTools_MapOfShape.hxx>
38#include <Geom_Surface.hxx>
39#include <Precision.hxx>
40
41class GEOM_Engine;
42class GEOM_Object;
43
45 public:
46 Standard_EXPORT GEOMImpl_IMeasureOperations(GEOM_Engine* theEngine);
47 Standard_EXPORT ~GEOMImpl_IMeasureOperations();
48
49 enum ShapeKind {
51 // COMPOSITEs
56 // SOLIDs
57 SK_SPHERE, // full sphere
58 SK_CYLINDER, // cylinder
59 SK_BOX, // box with faces, parallel to global coordinate planes
60 SK_ROTATED_BOX, // other box
61 SK_TORUS, // full torus
62 SK_CONE, // cone
63 SK_POLYHEDRON, // solid, bounded by polygons
64 SK_SOLID, // other solid
65 // FACEs
66 SK_SPHERE2D, // spherical face (closed)
67 SK_CYLINDER2D, // cylindrical face with defined height
68 SK_TORUS2D, // toroidal face (closed)
69 SK_CONE2D, // conical face with defined height
70 SK_DISK_CIRCLE, // planar, bounded by circle
71 SK_DISK_ELLIPSE, // planar, bounded by ellipse
72 SK_POLYGON, // planar, bounded by segments
73 SK_PLANE, // infinite planar
74 SK_PLANAR, // other planar
75 SK_FACE, // other face
76 // EDGEs
77 SK_CIRCLE, // full circle
78 SK_ARC_CIRCLE, // arc of circle
79 SK_ELLIPSE, // full ellipse
80 SK_ARC_ELLIPSE, // arc of ellipse
81 SK_LINE, // infinite segment
82 SK_SEGMENT, // segment
83 SK_CRV_BSPLINE, // B-Spline curve (open or closed)
84 SK_CRV_BEZIER, // Bezier curve (open or closed)
85 SK_HYPERBOLA, // hyperbola
86 SK_PARABOLA, // parabola
87 SK_EDGE, // other edge
88 // VERTEX
89 SK_VERTEX, // vertex
90 // ADVANCED shapes
91 SK_LCS, // local coordinate system
92 // (other advanced shapes)
93 SK_ADVANCED, // all advanced shapes (temporary implementation)
94 };
95
101 {
102 SI_V_V = 0, // only V/V interferences
103 SI_V_E, // V/V and V/E interferences
104 SI_E_E, // V/V, V/E and E/E interferences
105 SI_V_F, // V/V, V/E, E/E and V/F interferences
106 SI_E_F, // V/V, V/E, E/E, V/F and E/F interferences
107 SI_ALL // all interferences
108 };
109
110 Standard_EXPORT ShapeKind KindOfShape (Handle(GEOM_Object) theShape,
111 Handle(TColStd_HSequenceOfInteger)& theIntegers,
112 Handle(TColStd_HSequenceOfReal)& theDoubles);
113
114 Standard_EXPORT void GetPosition (Handle(GEOM_Object) theShape,
115 Standard_Real& Ox, Standard_Real& Oy, Standard_Real& Oz,
116 Standard_Real& Zx, Standard_Real& Zy, Standard_Real& Zz,
117 Standard_Real& Xx, Standard_Real& Xy, Standard_Real& Xz);
118
119 Standard_EXPORT Handle(GEOM_Object) GetCentreOfMass (Handle(GEOM_Object) theShape);
120
121 Standard_EXPORT Handle(GEOM_Object) GetVertexByIndex (Handle(GEOM_Object) theShape,
122 Standard_Integer theIndex,
123 Standard_Boolean theUseOri);
124
125 Standard_EXPORT Handle(GEOM_Object) GetNormal (Handle(GEOM_Object) theFace,
126 Handle(GEOM_Object) theOptionalPoint);
127
128 Standard_EXPORT void GetBasicProperties (Handle(GEOM_Object) theShape,
129 const Standard_Real theTolerance,
130 Standard_Real& theLength,
131 Standard_Real& theSurfArea,
132 Standard_Real& theVolume);
133
134 Standard_EXPORT void GetInertia (Handle(GEOM_Object) theShape,
135 Standard_Real& I11, Standard_Real& I12, Standard_Real& I13,
136 Standard_Real& I21, Standard_Real& I22, Standard_Real& I23,
137 Standard_Real& I31, Standard_Real& I32, Standard_Real& I33,
138 Standard_Real& Ix , Standard_Real& Iy , Standard_Real& Iz);
139
140 Standard_EXPORT void GetBoundingBox (Handle(GEOM_Object) theShape,
141 const Standard_Boolean precise,
142 Standard_Real& Xmin, Standard_Real& Xmax,
143 Standard_Real& Ymin, Standard_Real& Ymax,
144 Standard_Real& Zmin, Standard_Real& Zmax);
145
146 Standard_EXPORT Handle(GEOM_Object) GetBoundingBox (Handle(GEOM_Object) theShape,
147 const Standard_Boolean precise);
148
149 Standard_EXPORT void GetTolerance (Handle(GEOM_Object) theShape,
150 Standard_Real& FaceMin, Standard_Real& FaceMax,
151 Standard_Real& EdgeMin, Standard_Real& EdgeMax,
152 Standard_Real& VertMin, Standard_Real& VertMax);
153
154 Standard_EXPORT bool CheckShape (Handle(GEOM_Object) theShape,
155 const Standard_Boolean theIsCheckGeom,
156 const Standard_Boolean theIsExact,
157 std::list<GeomAnaTool::ShapeError> &theErrors);
158
159 Standard_EXPORT TCollection_AsciiString PrintShapeErrors
160 (Handle(GEOM_Object) theShape,
161 const std::list<GeomAnaTool::ShapeError> &theErrors);
162
163 Standard_EXPORT bool ExtractBOPFailure
164 (const Handle(TColStd_HSequenceOfTransient)& theShapes,
165 const bool theUseTimer,
166 const bool theTopoOnly,
167 const bool theRunParallel,
168 const bool theDoExact,
169 Handle(GEOM_Object)& theResultShape,
170 std::list<GeomAnaTool::ShapeError>& theErrors);
171
172 Standard_EXPORT bool CheckSelfIntersections (Handle(GEOM_Object) theShape,
173 const SICheckLevel theCheckLevel,
174 Handle(TColStd_HSequenceOfInteger)& theIntersections);
175
176 Standard_EXPORT bool CheckSelfIntersectionsFast (Handle(GEOM_Object) theShape,
177 float deflection,
178 double tolerance,
179 Handle(TColStd_HSequenceOfInteger)& theIntersections);
180
181 Standard_EXPORT bool CheckBOPArguments (const Handle(GEOM_Object) &theShape);
182
183 Standard_EXPORT bool FastIntersect (Handle(GEOM_Object) theShape1, Handle(GEOM_Object) theShape2,
184 double tolerance, float deflection,
185 Handle(TColStd_HSequenceOfInteger)& theIntersections1,
186 Handle(TColStd_HSequenceOfInteger)& theIntersections2);
187
188 Standard_EXPORT TCollection_AsciiString IsGoodForSolid (Handle(GEOM_Object) theShape);
189
190 Standard_EXPORT TCollection_AsciiString WhatIs (Handle(GEOM_Object) theShape);
191
192 Standard_EXPORT std::vector<bool> AreCoordsInside (Handle(GEOM_Object) theShape,
193 const std::vector<double>& coords,
194 double tolerance = Precision::Confusion());
195
196 Standard_EXPORT Standard_Real GetMinDistance (Handle(GEOM_Object) theShape1,
197 Handle(GEOM_Object) theShape2,
198 Standard_Real& X1, Standard_Real& Y1, Standard_Real& Z1,
199 Standard_Real& X2, Standard_Real& Y2, Standard_Real& Z2);
200
201 Standard_EXPORT Standard_Integer ClosestPoints (Handle(GEOM_Object) theShape1,
202 Handle(GEOM_Object) theShape2,
203 Handle(TColStd_HSequenceOfReal)& theDoubles);
204
205 Standard_EXPORT void PointCoordinates (Handle(GEOM_Object) theShape,
206 Standard_Real& theX, Standard_Real& theY, Standard_Real& theZ);
207
208 Standard_EXPORT Standard_Real GetAngle (Handle(GEOM_Object) theLine1, Handle(GEOM_Object) theLine2);
209
210 Standard_EXPORT Standard_Real GetAngleBtwVectors (Handle(GEOM_Object) theVec1, Handle(GEOM_Object) theVec2);
211
212 Standard_EXPORT Handle(TColStd_HSequenceOfTransient) PatchFace(Handle(GEOM_Object) theShape);
213
214 // Methods for receiving radiuses of curvature of curves and surfaces
215 // in the given point
216 Standard_EXPORT Standard_Real CurveCurvatureByParam (Handle(GEOM_Object) theCurve,
217 Standard_Real& theParam);
218 Standard_EXPORT Standard_Real CurveCurvatureByPoint (Handle(GEOM_Object) theCurve,
219 Handle(GEOM_Object) thePoint);
220 Standard_EXPORT Standard_Real MaxSurfaceCurvatureByParam (Handle(GEOM_Object) theSurf,
221 Standard_Real& theUParam,
222 Standard_Real& theVParam);
223 Standard_EXPORT Standard_Real MaxSurfaceCurvatureByPoint (Handle(GEOM_Object) theSurf,
224 Handle(GEOM_Object) thePoint);
225 Standard_EXPORT Standard_Real MinSurfaceCurvatureByParam (Handle(GEOM_Object) theSurf,
226 Standard_Real& theUParam,
227 Standard_Real& theVParam);
228 Standard_EXPORT Standard_Real MinSurfaceCurvatureByPoint (Handle(GEOM_Object) theSurf,
229 Handle(GEOM_Object) thePoint);
230
231 // Methods checking the shapes which are not applicable to modelling operations
232 typedef std::pair< Handle(GEOM_Object), Handle(GEOM_Object)> CoupleOfObjects;
234 {
235 Standard_Integer TypeOfCheck;
237 };
238
239 Standard_EXPORT std::list<CoupleOfObjects> SelfIntersected2D(const std::list<FailedChecks>& theChecks);
240 Standard_EXPORT std::list<CoupleOfObjects> InterferingSubshapes(const std::list<FailedChecks>& theChecks,
241 const int theShapeType1,
242 const int theShapeType2);
243 Standard_EXPORT Handle(TColStd_HSequenceOfTransient) SmallEdges(const std::list<FailedChecks>& theChecks);
244 Standard_EXPORT std::list<CoupleOfObjects> DistantShapes(const std::list<FailedChecks>& theChecks,
245 const int theShapeType,
246 const int theSubShapeType,
247 double theTolerance);
248 Standard_EXPORT void CheckConformityShape(Handle(GEOM_Object) theShape, std::list<FailedChecks>& theChecks);
249
250 Standard_EXPORT double ComputeTolerance(Handle(GEOM_Object) theEdge, Handle(GEOM_Object) theFace);
251 Standard_EXPORT double UpdateTolerance(Handle(GEOM_Object) theShape);
252
253 Standard_EXPORT Handle(GEOM_Object) SurfaceCurvatureByPointAndDirection
254 (Handle(GEOM_Object) theSurf,
255 Handle(GEOM_Object) thePoint,
256 Handle(GEOM_Object) theDirection);
257
258 // Methods to convert X,Y,Z coordinates of point to U,V parameters on surface and back
259 Standard_EXPORT Handle(TColStd_HArray1OfReal) XYZtoUV
260 (Handle(GEOM_Object) theSurf,
261 const Handle(TColStd_HArray1OfReal)& theXYZlist,
263
264 Standard_EXPORT Handle(TColStd_HArray1OfReal) UVtoXYZ
265 (Handle(GEOM_Object) theSurf,
266 const Handle(TColStd_HArray1OfReal)& theUVlist,
267 bool isNormalized);
268
269 // Methods to compute proximity between two shapes
270 Standard_EXPORT Handle(GEOM_Object) ShapeProximityCalculator(Handle(GEOM_Object) theShape1,
271 Handle(GEOM_Object) theShape2);
272 Standard_EXPORT Standard_Real GetCoarseProximity(Handle(GEOM_Object) theCalculator,
273 bool doPythonDump = true);
274 Standard_EXPORT Standard_Real GetPreciseProximity(Handle(GEOM_Object) theCalculator);
275 Standard_EXPORT void SetShapeSampling(Handle(GEOM_Object) theCalculator,
276 Handle(GEOM_Object) theShape,
277 const Standard_Integer theNbSamples);
278
279 private:
280
281 Standard_Real getSurfaceCurvatures (const Handle(Geom_Surface)& aSurf,
282 Standard_Real theUParam,
283 Standard_Real theVParam,
284 Standard_Boolean theNeedMaxCurv);
285};
286
287#endif
Definition: GEOMImpl_IMeasureOperations.hxx:44
Standard_EXPORT Handle(GEOM_Object) theDirection)
Standard_EXPORT Standard_Integer ClosestPoints(Handle(GEOM_Object) theShape1, Handle(GEOM_Object) theShape2, Handle(TColStd_HSequenceOfReal)&theDoubles)
Definition: GEOMImpl_IMeasureOperations.cxx:2416
Standard_EXPORT Handle(GEOM_Object) GetNormal(Handle(GEOM_Object) theFace
Standard_EXPORT Handle(GEOM_Object) GetCentreOfMass(Handle(GEOM_Object) theShape)
Standard_EXPORT double ComputeTolerance(Handle(GEOM_Object) theEdge, Handle(GEOM_Object) theFace)
Definition: GEOMImpl_IMeasureOperations.cxx:3601
Standard_EXPORT const Handle(TColStd_HArray1OfReal) &theXYZlist
ShapeKind
Definition: GEOMImpl_IMeasureOperations.hxx:49
@ SK_ARC_CIRCLE
Definition: GEOMImpl_IMeasureOperations.hxx:78
@ SK_VERTEX
Definition: GEOMImpl_IMeasureOperations.hxx:89
@ SK_SPHERE2D
Definition: GEOMImpl_IMeasureOperations.hxx:66
@ SK_ROTATED_BOX
Definition: GEOMImpl_IMeasureOperations.hxx:60
@ SK_ADVANCED
Definition: GEOMImpl_IMeasureOperations.hxx:93
@ SK_PLANAR
Definition: GEOMImpl_IMeasureOperations.hxx:74
@ SK_TORUS2D
Definition: GEOMImpl_IMeasureOperations.hxx:68
@ SK_CONE2D
Definition: GEOMImpl_IMeasureOperations.hxx:69
@ SK_DISK_ELLIPSE
Definition: GEOMImpl_IMeasureOperations.hxx:71
@ SK_TORUS
Definition: GEOMImpl_IMeasureOperations.hxx:61
@ SK_LCS
Definition: GEOMImpl_IMeasureOperations.hxx:91
@ SK_CRV_BSPLINE
Definition: GEOMImpl_IMeasureOperations.hxx:83
@ SK_NO_SHAPE
Definition: GEOMImpl_IMeasureOperations.hxx:50
@ SK_EDGE
Definition: GEOMImpl_IMeasureOperations.hxx:87
@ SK_LINE
Definition: GEOMImpl_IMeasureOperations.hxx:81
@ SK_CIRCLE
Definition: GEOMImpl_IMeasureOperations.hxx:77
@ SK_ELLIPSE
Definition: GEOMImpl_IMeasureOperations.hxx:79
@ SK_SHELL
Definition: GEOMImpl_IMeasureOperations.hxx:54
@ SK_COMPOUND
Definition: GEOMImpl_IMeasureOperations.hxx:52
@ SK_PARABOLA
Definition: GEOMImpl_IMeasureOperations.hxx:86
@ SK_PLANE
Definition: GEOMImpl_IMeasureOperations.hxx:73
@ SK_CONE
Definition: GEOMImpl_IMeasureOperations.hxx:62
@ SK_COMPSOLID
Definition: GEOMImpl_IMeasureOperations.hxx:53
@ SK_CYLINDER2D
Definition: GEOMImpl_IMeasureOperations.hxx:67
@ SK_SPHERE
Definition: GEOMImpl_IMeasureOperations.hxx:57
@ SK_POLYHEDRON
Definition: GEOMImpl_IMeasureOperations.hxx:63
@ SK_HYPERBOLA
Definition: GEOMImpl_IMeasureOperations.hxx:85
@ SK_CYLINDER
Definition: GEOMImpl_IMeasureOperations.hxx:58
@ SK_SOLID
Definition: GEOMImpl_IMeasureOperations.hxx:64
@ SK_CRV_BEZIER
Definition: GEOMImpl_IMeasureOperations.hxx:84
@ SK_FACE
Definition: GEOMImpl_IMeasureOperations.hxx:75
@ SK_DISK_CIRCLE
Definition: GEOMImpl_IMeasureOperations.hxx:70
@ SK_POLYGON
Definition: GEOMImpl_IMeasureOperations.hxx:72
@ SK_WIRE
Definition: GEOMImpl_IMeasureOperations.hxx:55
@ SK_ARC_ELLIPSE
Definition: GEOMImpl_IMeasureOperations.hxx:80
@ SK_SEGMENT
Definition: GEOMImpl_IMeasureOperations.hxx:82
@ SK_BOX
Definition: GEOMImpl_IMeasureOperations.hxx:59
Standard_EXPORT Standard_Real MinSurfaceCurvatureByPoint(Handle(GEOM_Object) theSurf, Handle(GEOM_Object) thePoint)
Definition: GEOMImpl_IMeasureOperations.cxx:2985
Standard_EXPORT void GetBasicProperties(Handle(GEOM_Object) theShape, const Standard_Real theTolerance, Standard_Real &theLength, Standard_Real &theSurfArea, Standard_Real &theVolume)
Definition: GEOMImpl_IMeasureOperations.cxx:1167
Standard_EXPORT bool CheckBOPArguments(const Handle(GEOM_Object) &theShape)
Definition: GEOMImpl_IMeasureOperations.cxx:1983
std::pair< Handle(GEOM_Object), Handle(GEOM_Object)> CoupleOfObjects
Definition: GEOMImpl_IMeasureOperations.hxx:232
Standard_EXPORT Standard_Real GetPreciseProximity(Handle(GEOM_Object) theCalculator)
Definition: GEOMImpl_IMeasureOperations.cxx:3748
Standard_EXPORT Standard_Real MinSurfaceCurvatureByParam(Handle(GEOM_Object) theSurf, Standard_Real &theUParam, Standard_Real &theVParam)
Definition: GEOMImpl_IMeasureOperations.cxx:2948
Standard_EXPORT bool CheckShape(Handle(GEOM_Object) theShape, const Standard_Boolean theIsCheckGeom, const Standard_Boolean theIsExact, std::list< GeomAnaTool::ShapeError > &theErrors)
Definition: GEOMImpl_IMeasureOperations.cxx:1468
Standard_EXPORT Handle(GEOM_Object) SurfaceCurvatureByPointAndDirection(Handle(GEOM_Object) theSurf
Standard_EXPORT TCollection_AsciiString IsGoodForSolid(Handle(GEOM_Object) theShape)
Definition: GEOMImpl_IMeasureOperations.cxx:2100
Standard_EXPORT GEOMImpl_IMeasureOperations(GEOM_Engine *theEngine)
Definition: GEOMImpl_IMeasureOperations.cxx:108
Standard_EXPORT Standard_Real GetCoarseProximity(Handle(GEOM_Object) theCalculator, bool doPythonDump=true)
Definition: GEOMImpl_IMeasureOperations.cxx:3707
Standard_EXPORT Handle(TColStd_HArray1OfReal) XYZtoUV(Handle(GEOM_Object) theSurf
Standard_EXPORT TCollection_AsciiString PrintShapeErrors(Handle(GEOM_Object) theShape, const std::list< GeomAnaTool::ShapeError > &theErrors)
Definition: GEOMImpl_IMeasureOperations.cxx:1516
Standard_EXPORT Standard_Real GetMinDistance(Handle(GEOM_Object) theShape1, Handle(GEOM_Object) theShape2, Standard_Real &X1, Standard_Real &Y1, Standard_Real &Z1, Standard_Real &X2, Standard_Real &Y2, Standard_Real &Z2)
Definition: GEOMImpl_IMeasureOperations.cxx:2362
Standard_EXPORT Standard_Real GetAngle(Handle(GEOM_Object) theLine1, Handle(GEOM_Object) theLine2)
Definition: GEOMImpl_IMeasureOperations.cxx:2512
Standard_EXPORT Handle(GEOM_Object) GetVertexByIndex(Handle(GEOM_Object) theShape
Standard_EXPORT Standard_Real MaxSurfaceCurvatureByParam(Handle(GEOM_Object) theSurf, Standard_Real &theUParam, Standard_Real &theVParam)
Definition: GEOMImpl_IMeasureOperations.cxx:2875
Standard_EXPORT std::vector< bool > AreCoordsInside(Handle(GEOM_Object) theShape, const std::vector< double > &coords, double tolerance=Precision::Confusion())
Definition: GEOMImpl_IMeasureOperations.cxx:2245
Standard_EXPORT Handle(GEOM_Object) thePoint
Standard_EXPORT std::list< CoupleOfObjects > SelfIntersected2D(const std::list< FailedChecks > &theChecks)
Definition: GEOMImpl_IMeasureOperations.cxx:3298
Standard_EXPORT Standard_Real GetAngleBtwVectors(Handle(GEOM_Object) theVec1, Handle(GEOM_Object) theVec2)
Definition: GEOMImpl_IMeasureOperations.cxx:2586
Standard_EXPORT void CheckConformityShape(Handle(GEOM_Object) theShape, std::list< FailedChecks > &theChecks)
Definition: GEOMImpl_IMeasureOperations.cxx:3485
Standard_EXPORT void GetTolerance(Handle(GEOM_Object) theShape, Standard_Real &FaceMin, Standard_Real &FaceMax, Standard_Real &EdgeMin, Standard_Real &EdgeMax, Standard_Real &VertMin, Standard_Real &VertMax)
Definition: GEOMImpl_IMeasureOperations.cxx:1405
Standard_EXPORT void GetBoundingBox(Handle(GEOM_Object) theShape, const Standard_Boolean precise, Standard_Real &Xmin, Standard_Real &Xmax, Standard_Real &Ymin, Standard_Real &Ymax, Standard_Real &Zmin, Standard_Real &Zmax)
Definition: GEOMImpl_IMeasureOperations.cxx:1285
Standard_EXPORT Handle(GEOM_Object) theShape2)
Standard_EXPORT const Standard_Boolean precise
Definition: GEOMImpl_IMeasureOperations.hxx:147
SICheckLevel
This enumeration represents the level of checking shape on self-interference.
Definition: GEOMImpl_IMeasureOperations.hxx:101
@ SI_E_E
Definition: GEOMImpl_IMeasureOperations.hxx:104
@ SI_ALL
Definition: GEOMImpl_IMeasureOperations.hxx:107
@ SI_V_E
Definition: GEOMImpl_IMeasureOperations.hxx:103
@ SI_V_V
Definition: GEOMImpl_IMeasureOperations.hxx:102
@ SI_E_F
Definition: GEOMImpl_IMeasureOperations.hxx:106
@ SI_V_F
Definition: GEOMImpl_IMeasureOperations.hxx:105
Standard_EXPORT Handle(TColStd_HArray1OfReal) UVtoXYZ(Handle(GEOM_Object) theSurf
Standard_EXPORT double UpdateTolerance(Handle(GEOM_Object) theShape)
Definition: GEOMImpl_IMeasureOperations.cxx:3555
Standard_Real getSurfaceCurvatures(const Handle(Geom_Surface)&aSurf, Standard_Real theUParam, Standard_Real theVParam, Standard_Boolean theNeedMaxCurv)
Definition: GEOMImpl_IMeasureOperations.cxx:2824
Standard_EXPORT std::list< CoupleOfObjects > InterferingSubshapes(const std::list< FailedChecks > &theChecks, const int theShapeType1, const int theShapeType2)
Definition: GEOMImpl_IMeasureOperations.cxx:3360
Standard_EXPORT void GetPosition(Handle(GEOM_Object) theShape, Standard_Real &Ox, Standard_Real &Oy, Standard_Real &Oz, Standard_Real &Zx, Standard_Real &Zy, Standard_Real &Zz, Standard_Real &Xx, Standard_Real &Xy, Standard_Real &Xz)
Definition: GEOMImpl_IMeasureOperations.cxx:951
Standard_EXPORT Standard_Real MaxSurfaceCurvatureByPoint(Handle(GEOM_Object) theSurf, Handle(GEOM_Object) thePoint)
Definition: GEOMImpl_IMeasureOperations.cxx:2912
Standard_EXPORT ShapeKind KindOfShape(Handle(GEOM_Object) theShape, Handle(TColStd_HSequenceOfInteger)&theIntegers, Handle(TColStd_HSequenceOfReal)&theDoubles)
Definition: GEOMImpl_IMeasureOperations.cxx:129
Standard_EXPORT Standard_Integer Standard_Boolean theUseOri
Definition: GEOMImpl_IMeasureOperations.hxx:123
Standard_EXPORT void PointCoordinates(Handle(GEOM_Object) theShape, Standard_Real &theX, Standard_Real &theY, Standard_Real &theZ)
Definition: GEOMImpl_IMeasureOperations.cxx:2473
Standard_EXPORT Handle(GEOM_Object) ShapeProximityCalculator(Handle(GEOM_Object) theShape1
Standard_EXPORT bool CheckSelfIntersectionsFast(Handle(GEOM_Object) theShape, float deflection, double tolerance, Handle(TColStd_HSequenceOfInteger)&theIntersections)
Definition: GEOMImpl_IMeasureOperations.cxx:1916
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) PatchFace(Handle(GEOM_Object) theShape)
Standard_EXPORT Handle(TColStd_HSequenceOfTransient) SmallEdges(const std Standard_EXPORT std::list< CoupleOfObjects > DistantShapes(const std::list< FailedChecks > &theChecks, const int theShapeType, const int theSubShapeType, double theTolerance)
Definition: GEOMImpl_IMeasureOperations.cxx:3435
Standard_EXPORT Standard_Real CurveCurvatureByParam(Handle(GEOM_Object) theCurve, Standard_Real &theParam)
Definition: GEOMImpl_IMeasureOperations.cxx:2720
Standard_EXPORT TCollection_AsciiString WhatIs(Handle(GEOM_Object) theShape)
Definition: GEOMImpl_IMeasureOperations.cxx:2148
Standard_EXPORT void GetInertia(Handle(GEOM_Object) theShape, Standard_Real &I11, Standard_Real &I12, Standard_Real &I13, Standard_Real &I21, Standard_Real &I22, Standard_Real &I23, Standard_Real &I31, Standard_Real &I32, Standard_Real &I33, Standard_Real &Ix, Standard_Real &Iy, Standard_Real &Iz)
Definition: GEOMImpl_IMeasureOperations.cxx:1220
Standard_EXPORT const bool isNormalized
Definition: GEOMImpl_IMeasureOperations.hxx:262
Standard_EXPORT void SetShapeSampling(Handle(GEOM_Object) theCalculator, Handle(GEOM_Object) theShape, const Standard_Integer theNbSamples)
Definition: GEOMImpl_IMeasureOperations.cxx:3668
Standard_EXPORT Handle(GEOM_Object) GetBoundingBox(Handle(GEOM_Object) theShape
Standard_EXPORT bool CheckSelfIntersections(Handle(GEOM_Object) theShape, const SICheckLevel theCheckLevel, Handle(TColStd_HSequenceOfInteger)&theIntersections)
Definition: GEOMImpl_IMeasureOperations.cxx:1838
Standard_EXPORT bool ExtractBOPFailure(const Handle(TColStd_HSequenceOfTransient)&theShapes, const bool theUseTimer, const bool theTopoOnly, const bool theRunParallel, const bool theDoExact, Handle(GEOM_Object)&theResultShape, std::list< GeomAnaTool::ShapeError > &theErrors)
Definition: GEOMImpl_IMeasureOperations.cxx:1734
Standard_EXPORT Standard_Real CurveCurvatureByPoint(Handle(GEOM_Object) theCurve, Handle(GEOM_Object) thePoint)
Definition: GEOMImpl_IMeasureOperations.cxx:2770
Standard_EXPORT ~GEOMImpl_IMeasureOperations()
Definition: GEOMImpl_IMeasureOperations.cxx:119
Standard_EXPORT const Handle(TColStd_HArray1OfReal) &theUVlist
Standard_EXPORT bool FastIntersect(Handle(GEOM_Object) theShape1, Handle(GEOM_Object) theShape2, double tolerance, float deflection, Handle(TColStd_HSequenceOfInteger)&theIntersections1, Handle(TColStd_HSequenceOfInteger)&theIntersections2)
Definition: GEOMImpl_IMeasureOperations.cxx:2016
Standard_EXPORT Standard_Integer theIndex
Definition: GEOMImpl_IMeasureOperations.hxx:122
Standard_EXPORT Handle(GEOM_Object) theOptionalPoint)
Definition: GEOM_Engine.hxx:91
Definition: GEOM_IOperations.hxx:40
Definition: GEOMImpl_IMeasureOperations.hxx:234
Standard_Integer TypeOfCheck
Definition: GEOMImpl_IMeasureOperations.hxx:235
CoupleOfObjects FailedShapes
Definition: GEOMImpl_IMeasureOperations.hxx:236