#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 |