#include <GEOMImpl_IMeasureOperations.hxx>

Classes | |
| struct | ShapeError | 
Public Types | |
| enum | ShapeKind {  SK_NO_SHAPE, SK_COMPOUND, SK_COMPSOLID, SK_SHELL, SK_WIRE, SK_SPHERE, SK_CYLINDER, SK_BOX, SK_ROTATED_BOX, SK_TORUS, SK_CONE, SK_POLYHEDRON, SK_SOLID, SK_SPHERE2D, SK_CYLINDER2D, SK_TORUS2D, SK_CONE2D, SK_DISK_CIRCLE, SK_DISK_ELLIPSE, SK_POLYGON, SK_PLANE, SK_PLANAR, SK_FACE, SK_CIRCLE, SK_ARC_CIRCLE, SK_ELLIPSE, SK_ARC_ELLIPSE, SK_LINE, SK_SEGMENT, SK_EDGE, SK_VERTEX, SK_LCS, SK_ADVANCED }  | 
| enum | SICheckLevel {  SI_V_V = 0, SI_V_E, SI_E_E, SI_V_F, SI_E_F, SI_ALL }  | 
| This enumeration represents the level of checking shape on self-interference.  More... | |
Public Member Functions | |
| Standard_EXPORT | GEOMImpl_IMeasureOperations (GEOM_Engine *theEngine, int theDocID) | 
| Standard_EXPORT | ~GEOMImpl_IMeasureOperations () | 
| Standard_EXPORT ShapeKind | KindOfShape (Handle(GEOM_Object) theShape, Handle(TColStd_HSequenceOfInteger)&theIntegers, Handle(TColStd_HSequenceOfReal)&theDoubles) | 
| 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) | 
| Standard_EXPORT | Handle (GEOM_Object) GetCentreOfMass(Handle(GEOM_Object) theShape) | 
| Standard_EXPORT | Handle (GEOM_Object) GetVertexByIndex(Handle(GEOM_Object) theShape | 
| Standard_EXPORT | Handle (GEOM_Object) GetNormal(Handle(GEOM_Object) theFace | 
| Standard_EXPORT | Handle (GEOM_Object) theOptionalPoint) | 
| Standard_EXPORT void | GetBasicProperties (Handle(GEOM_Object) theShape, const Standard_Real theTolerance, Standard_Real &theLength, Standard_Real &theSurfArea, Standard_Real &theVolume) | 
| 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) | 
| 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) | 
| Standard_EXPORT | Handle (GEOM_Object) GetBoundingBox(Handle(GEOM_Object) theShape | 
| 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) | 
| Standard_EXPORT bool | CheckShape (Handle(GEOM_Object) theShape, const Standard_Boolean theIsCheckGeom, std::list< ShapeError > &theErrors) | 
| Standard_EXPORT  TCollection_AsciiString  | PrintShapeErrors (Handle(GEOM_Object) theShape, const std::list< ShapeError > &theErrors) | 
| Standard_EXPORT bool | CheckSelfIntersections (Handle(GEOM_Object) theShape, const SICheckLevel theCheckLevel, Handle(TColStd_HSequenceOfInteger)&theIntersections) | 
| Standard_EXPORT bool | CheckSelfIntersectionsFast (Handle(GEOM_Object) theShape, float deflection, double tolerance, Handle(TColStd_HSequenceOfInteger)&theIntersections) | 
| Standard_EXPORT bool | CheckBOPArguments (const Handle(GEOM_Object)&theShape) | 
| Standard_EXPORT bool | FastIntersect (Handle(GEOM_Object) theShape1, Handle(GEOM_Object) theShape2, double tolerance, float deflection, Handle(TColStd_HSequenceOfInteger)&theIntersections1, Handle(TColStd_HSequenceOfInteger)&theIntersections2) | 
| Standard_EXPORT  TCollection_AsciiString  | IsGoodForSolid (Handle(GEOM_Object) theShape) | 
| Standard_EXPORT  TCollection_AsciiString  | WhatIs (Handle(GEOM_Object) theShape) | 
| Standard_EXPORT std::vector< bool > | AreCoordsInside (Handle(GEOM_Object) theShape, const std::vector< double > &coords, double tolerance=Precision::Confusion()) | 
| 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) | 
| Standard_EXPORT Standard_Integer | ClosestPoints (Handle(GEOM_Object) theShape1, Handle(GEOM_Object) theShape2, Handle(TColStd_HSequenceOfReal)&theDoubles) | 
| Standard_EXPORT void | PointCoordinates (Handle(GEOM_Object) theShape, Standard_Real &theX, Standard_Real &theY, Standard_Real &theZ) | 
| Standard_EXPORT Standard_Real | GetAngle (Handle(GEOM_Object) theLine1, Handle(GEOM_Object) theLine2) | 
| Standard_EXPORT Standard_Real | GetAngleBtwVectors (Handle(GEOM_Object) theVec1, Handle(GEOM_Object) theVec2) | 
| Standard_EXPORT Standard_Real | CurveCurvatureByParam (Handle(GEOM_Object) theCurve, Standard_Real &theParam) | 
| Standard_EXPORT Standard_Real | CurveCurvatureByPoint (Handle(GEOM_Object) theCurve, Handle(GEOM_Object) thePoint) | 
| Standard_EXPORT Standard_Real | MaxSurfaceCurvatureByParam (Handle(GEOM_Object) theSurf, Standard_Real &theUParam, Standard_Real &theVParam) | 
| Standard_EXPORT Standard_Real | MaxSurfaceCurvatureByPoint (Handle(GEOM_Object) theSurf, Handle(GEOM_Object) thePoint) | 
| Standard_EXPORT Standard_Real | MinSurfaceCurvatureByParam (Handle(GEOM_Object) theSurf, Standard_Real &theUParam, Standard_Real &theVParam) | 
| Standard_EXPORT Standard_Real | MinSurfaceCurvatureByPoint (Handle(GEOM_Object) theSurf, Handle(GEOM_Object) thePoint) | 
  Public Member Functions inherited from GEOM_IOperations | |
| Standard_EXPORT | GEOM_IOperations (GEOM_Engine *theEngine, int theDocID) | 
| Standard_EXPORT | ~GEOM_IOperations () | 
| Standard_EXPORT void | StartOperation () | 
| Standard_EXPORT void | FinishOperation () | 
| Standard_EXPORT void | AbortOperation () | 
| Standard_EXPORT bool | IsDone () | 
| Standard_EXPORT void | SetNotDone () | 
| Standard_EXPORT void | SetErrorCode (const TCollection_AsciiString &theErrorCode) | 
| Standard_EXPORT char * | GetErrorCode () | 
| Standard_EXPORT GEOM_Engine * | GetEngine () | 
| Standard_EXPORT GEOM_Solver * | GetSolver () | 
| Standard_EXPORT int | GetDocID () | 
Public Attributes | |
| Standard_EXPORT Standard_Integer | theIndex | 
| Standard_EXPORT const  Standard_Boolean  | precise | 
Private Member Functions | |
| void | FillErrorsSub (const BRepCheck_Analyzer &theAna, const TopoDS_Shape &theShape, const TopAbs_ShapeEnum theSubType, TopTools_DataMapOfIntegerListOfShape &theMapErrors) const | 
| void | FillErrors (const BRepCheck_Analyzer &theAna, const TopoDS_Shape &theShape, TopTools_DataMapOfIntegerListOfShape &theMapErrors, TopTools_MapOfShape &theMapShapes) const | 
| void | FillErrors (const BRepCheck_Analyzer &theAna, const TopoDS_Shape &theShape, std::list< ShapeError > &theErrors) const | 
| Standard_Real | getSurfaceCurvatures (const Handle(Geom_Surface)&aSurf, Standard_Real theUParam, Standard_Real theVParam, Standard_Boolean theNeedMaxCurv) | 
| GEOMImpl_IMeasureOperations::GEOMImpl_IMeasureOperations | ( | GEOM_Engine * | theEngine, | 
| int | theDocID | ||
| ) | 
Constructor
| GEOMImpl_IMeasureOperations::~GEOMImpl_IMeasureOperations | ( | ) | 
Destructor
| std::vector< bool > GEOMImpl_IMeasureOperations::AreCoordsInside | ( | Handle(GEOM_Object) | theShape, | 
| const std::vector< double > & | coords, | ||
| double | tolerance = Precision::Confusion()  | 
        ||
| ) | 
AreCoordsInside
References Curve(), GEOM_Object::GetValue(), and Handle().
| bool GEOMImpl_IMeasureOperations::CheckBOPArguments | ( | const Handle(GEOM_Object)& | theShape | ) | 
CheckBOPArguments
References GEOMUtils::CheckBOPArguments(), GEOM_Object::GetValue(), Handle(), and KO.
| bool GEOMImpl_IMeasureOperations::CheckSelfIntersections | ( | Handle(GEOM_Object) | theShape, | 
| const SICheckLevel | theCheckLevel, | ||
| Handle(TColStd_HSequenceOfInteger)& | theIntersections | ||
| ) | 
CheckSelfIntersections
References anIndices, GEOMAlgo_AlgoTools::CopyShape(), GEOM_Object::GetValue(), Handle(), iErr, and KO.
| bool GEOMImpl_IMeasureOperations::CheckSelfIntersectionsFast | ( | Handle(GEOM_Object) | theShape, | 
| float | theDeflection, | ||
| double | theTolerance, | ||
| Handle(TColStd_HSequenceOfInteger)& | theIntersections | ||
| ) | 
CheckSelfIntersectionsFast
References anIndices, GEOMAlgo_AlgoTools::CopyShape(), GEOM_Object::GetValue(), Handle(), it(), KO, and GEOMUtils::MeshShape().
| bool GEOMImpl_IMeasureOperations::CheckShape | ( | Handle(GEOM_Object) | theShape, | 
| const Standard_Boolean | theIsCheckGeom, | ||
| std::list< ShapeError > & | theErrors | ||
| ) | 
CheckShape
References FillErrors(), GEOM_Object::GetValue(), Handle(), KO, and GEOM_IOperations::SetErrorCode().
| Standard_Integer GEOMImpl_IMeasureOperations::ClosestPoints | ( | Handle(GEOM_Object) | theShape1, | 
| Handle(GEOM_Object) | theShape2, | ||
| Handle(TColStd_HSequenceOfReal)& | theDoubles | ||
| ) | 
Get coordinates of closest points of two shapes
References GEOMUtils::GetMinDistanceSingular(), GEOM_Object::GetValue(), Handle(), KO, and GEOM_IOperations::SetErrorCode().
| Standard_Real GEOMImpl_IMeasureOperations::CurveCurvatureByParam | ( | Handle(GEOM_Object) | theCurve, | 
| Standard_Real & | theParam | ||
| ) | 
CurveCurvatureByParam
References Curve(), GEOM_Object::GetValue(), Handle(), and KO.
| Standard_Real GEOMImpl_IMeasureOperations::CurveCurvatureByPoint | ( | Handle(GEOM_Object) | theCurve, | 
| Handle(GEOM_Object) | thePoint | ||
| ) | 
| bool GEOMImpl_IMeasureOperations::FastIntersect | ( | Handle(GEOM_Object) | theShape1, | 
| Handle(GEOM_Object) | theShape2, | ||
| double | theTolerance, | ||
| float | theDeflection, | ||
| Handle(TColStd_HSequenceOfInteger)& | theIntersections1, | ||
| Handle(TColStd_HSequenceOfInteger)& | theIntersections2 | ||
| ) | 
FastIntersect
References GEOMAlgo_AlgoTools::CopyShape(), GEOM_Object::GetValue(), Handle(), KO, GEOMUtils::MeshShape(), and GEOM_IOperations::SetErrorCode().
      
  | 
  private | 
References Handle().
      
  | 
  private | 
      
  | 
  private | 
References Handle().
| Standard_Real GEOMImpl_IMeasureOperations::GetAngle | ( | Handle(GEOM_Object) | theLine1, | 
| Handle(GEOM_Object) | theLine2 | ||
| ) | 
Compute angle (in degrees) between two lines
References anAngle, Curve(), GEOM_VECTOR, GetAngleBtwVectors(), GEOM_BaseObject::GetType(), GEOM_Object::GetValue(), Handle(), KO, and GEOM_IOperations::SetErrorCode().
| Standard_Real GEOMImpl_IMeasureOperations::GetAngleBtwVectors | ( | Handle(GEOM_Object) | theVec1, | 
| Handle(GEOM_Object) | theVec2 | ||
| ) | 
Compute angle (in degrees) between two vectors
References anAngle, aVec1(), aVec2(), GEOM_VECTOR, GEOM_BaseObject::GetType(), Handle(), KO, GEOM_IOperations::SetErrorCode(), and GEOM::Vertices.
| void GEOMImpl_IMeasureOperations::GetBasicProperties | ( | Handle(GEOM_Object) | theShape, | 
| const Standard_Real | theTolerance, | ||
| Standard_Real & | theLength, | ||
| Standard_Real & | theSurfArea, | ||
| Standard_Real & | theVolume | ||
| ) | 
GetBasicProperties
References GEOM_Object::GetValue(), Handle(), KO, and GEOM_IOperations::SetErrorCode().
| void GEOMImpl_IMeasureOperations::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 | ||
| ) | 
GetBoundingBox
References GEOM_Object::GetValue(), Handle(), KO, and GEOMUtils::PreciseBoundingBox().
| void GEOMImpl_IMeasureOperations::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 | ||
| ) | 
GetInertia
References GEOM_Object::GetValue(), Handle(), and KO.
| Standard_Real GEOMImpl_IMeasureOperations::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 | ||
| ) | 
GetMinDistance
References aPnt1, aPnt2, GEOMUtils::GetMinDistance(), GEOM_Object::GetValue(), Handle(), KO, and GEOM_IOperations::SetErrorCode().
| void GEOMImpl_IMeasureOperations::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 | ||
| ) | 
GetPosition
References GEOMUtils::GetPosition(), GEOM_Object::GetValue(), Handle(), KO, and OK.
      
  | 
  private | 
| void GEOMImpl_IMeasureOperations::GetTolerance | ( | Handle(GEOM_Object) | theShape, | 
| Standard_Real & | FaceMin, | ||
| Standard_Real & | FaceMax, | ||
| Standard_Real & | EdgeMin, | ||
| Standard_Real & | EdgeMax, | ||
| Standard_Real & | VertMin, | ||
| Standard_Real & | VertMax | ||
| ) | 
GetTolerance
References GEOM_Object::GetValue(), Handle(), and KO.
| Standard_EXPORT GEOMImpl_IMeasureOperations::Handle | ( | GEOM_Object | ) | 
| Standard_EXPORT GEOMImpl_IMeasureOperations::Handle | ( | GEOM_Object | ) | 
| Standard_EXPORT GEOMImpl_IMeasureOperations::Handle | ( | GEOM_Object | ) | 
| Standard_EXPORT GEOMImpl_IMeasureOperations::Handle | ( | GEOM_Object | ) | 
| Standard_EXPORT GEOMImpl_IMeasureOperations::Handle | ( | GEOM_Object | ) | 
| TCollection_AsciiString GEOMImpl_IMeasureOperations::IsGoodForSolid | ( | Handle(GEOM_Object) | theShape | ) | 
IsGoodForSolid
References GEOM_Object::GetValue(), Handle(), KO, and GEOM_IOperations::SetErrorCode().
| GEOMImpl_IMeasureOperations::ShapeKind GEOMImpl_IMeasureOperations::KindOfShape | ( | Handle(GEOM_Object) | theShape, | 
| Handle(TColStd_HSequenceOfInteger)& | theIntegers, | ||
| Handle(TColStd_HSequenceOfReal)& | theDoubles | ||
| ) | 
Get kind and parameters of the given shape.
References GEOMAlgo_ShapeInfo::Direction(), GEOMAlgo_Algo::ErrorStatus(), GEOM_MARKER, GEOMAlgo_KB_INFINITE, GEOMAlgo_KN_ARCCIRCLE, GEOMAlgo_KN_ARCELLIPSE, GEOMAlgo_KN_BOX, GEOMAlgo_KN_CIRCLE, GEOMAlgo_KN_CONE, GEOMAlgo_KN_CYLINDER, GEOMAlgo_KN_DISKCIRCLE, GEOMAlgo_KN_DISKELLIPSE, GEOMAlgo_KN_ELLIPSE, GEOMAlgo_KN_LINE, GEOMAlgo_KN_PLANE, GEOMAlgo_KN_POLYGON, GEOMAlgo_KN_POLYHEDRON, GEOMAlgo_KN_QUADRANGLE, GEOMAlgo_KN_RECTANGLE, GEOMAlgo_KN_SEGMENT, GEOMAlgo_KN_SPHERE, GEOMAlgo_KN_TORUS, GEOMAlgo_KN_TRIANGLE, GEOM_BaseObject::GetType(), GEOM_Object::GetValue(), Handle(), GEOMAlgo_ShapeInfo::Height(), iErr, GEOMAlgo_ShapeInfoFiller::Info(), GEOMAlgo_ShapeInfo::KindOfBounds(), GEOMAlgo_ShapeInfo::KindOfClosed(), GEOMAlgo_ShapeInfo::KindOfName(), KO, GEOMAlgo_ShapeInfo::Length(), GEOMAlgo_ShapeInfo::Location(), GEOMAlgo_ShapeInfo::NbSubShapes(), OK, GEOMAlgo_ShapeInfoFiller::Perform(), GEOMAlgo_ShapeInfo::Pnt1(), GEOMAlgo_ShapeInfo::Pnt2(), GEOMAlgo_ShapeInfo::Position(), GEOMAlgo_ShapeInfo::Radius1(), GEOMAlgo_ShapeInfo::Radius2(), GEOMAlgo_ShapeInfoFiller::SetShape(), GEOMAlgo_ShapeInfo::Type(), USER_TYPE, and GEOMAlgo_ShapeInfo::Width().
| Standard_Real GEOMImpl_IMeasureOperations::MaxSurfaceCurvatureByParam | ( | Handle(GEOM_Object) | theSurf, | 
| Standard_Real & | theUParam, | ||
| Standard_Real & | theVParam | ||
| ) | 
MaxSurfaceCurvatureByParam
References GEOM_Object::GetValue(), Handle(), and KO.
| Standard_Real GEOMImpl_IMeasureOperations::MaxSurfaceCurvatureByPoint | ( | Handle(GEOM_Object) | theSurf, | 
| Handle(GEOM_Object) | thePoint | ||
| ) | 
| Standard_Real GEOMImpl_IMeasureOperations::MinSurfaceCurvatureByParam | ( | Handle(GEOM_Object) | theSurf, | 
| Standard_Real & | theUParam, | ||
| Standard_Real & | theVParam | ||
| ) | 
MinSurfaceCurvatureByParam
References GEOM_Object::GetValue(), Handle(), and KO.
| Standard_Real GEOMImpl_IMeasureOperations::MinSurfaceCurvatureByPoint | ( | Handle(GEOM_Object) | theSurf, | 
| Handle(GEOM_Object) | thePoint | ||
| ) | 
| void GEOMImpl_IMeasureOperations::PointCoordinates | ( | Handle(GEOM_Object) | theShape, | 
| Standard_Real & | theX, | ||
| Standard_Real & | theY, | ||
| Standard_Real & | theZ | ||
| ) | 
Get coordinates of point
References GEOM_Object::GetValue(), Handle(), KO, and GEOM_IOperations::SetErrorCode().
| TCollection_AsciiString GEOMImpl_IMeasureOperations::PrintShapeErrors | ( | Handle(GEOM_Object) | theShape, | 
| const std::list< ShapeError > & | theErrors | ||
| ) | 
PrintShapeErrors
References anIndices, anIter(), GEOM_Object::GetValue(), and Handle().
| TCollection_AsciiString GEOMImpl_IMeasureOperations::WhatIs | ( | Handle(GEOM_Object) | theShape | ) | 
WhatIs
References GEOM_Object::GetValue(), Handle(), it(), KO, and GEOM_IOperations::SetErrorCode().
| Standard_EXPORT const Standard_Boolean GEOMImpl_IMeasureOperations::precise | 
| Standard_EXPORT Standard_Integer GEOMImpl_IMeasureOperations::theIndex |