|
Open CASCADE Technology 6.5.2
|
The class contains handy static functions
dealing with the topology
#include <BOPTools_Tools3D.hxx>
Public Member Functions | |
| void * | operator new (size_t, void *anAddress) |
| void * | operator new (size_t size) |
| void | operator delete (void *anAddress) |
Static Public Member Functions | |
| static Standard_Integer | SubShapesAmount (const TopoDS_Shape &aS, const TopAbs_ShapeEnum aT) |
| Returns amount of sub-shapes of type <aT> for the shape <aS> | |
| static Standard_Boolean | IsConvexWire (const TopoDS_Wire &aW) |
| Returns TRUE if amount of the vertices <= amount of the edges> for the wire <aW> | |
| static void | RemoveSims (const TopoDS_Face &aF, IntTools_Context &aContext) |
| Remove seam edges from face <aF> | |
| static void | RemoveSims (const TopoDS_Shape &aS, IntTools_Context &aContext) |
| Remove seam edges from all faces of shape <aS> | |
| static TopAbs_Orientation | EdgeOrientation (const TopoDS_Edge &aEx, const TopoDS_Face &aF1, const TopoDS_Face &aF2) |
| For the draft section edge <aEx> computes orientation in accordance with vector product between normals to the faces <aF1>, <aF2> | |
| static Standard_Boolean | IsSplitToReverse1 (const TopoDS_Edge &aE1, const TopoDS_Edge &aE2, IntTools_Context &aContext) |
| Returns TRUE if direction of the edge <aE1> is not the same as for the edge <aE2> (using projection) | |
| static void | DoSplitSEAMOnFace (const TopoDS_Edge &aSp, const TopoDS_Face &aF) |
| Make the edge <aSp> seam edge for the face <aF> | |
| static Standard_Boolean | DoSplitSEAMOnFace (const TopoDS_Edge &theSplit, const TopoDS_Edge &theSeam, const TopoDS_Face &theFace, Standard_Boolean &IsReversed) |
| Make the edge <theSplit> seam edge for the face <theFace> It uses pcurves of <theSeam> to make <theSplit> seam edge. IsReversed is true if pcurves of <theSplit> and <theSeam> are reversed according to each other. Returns true if <theSplit> was made seam edge for <theFace> | |
| static Standard_Boolean | IsTouchCase (const TopoDS_Edge &aEx, const TopoDS_Face &aF1, const TopoDS_Face &aF2) |
| Returns TRUE if the edge <aEx> is section edge between touching faces <aF1>, <aF2> | |
| static Standard_Boolean | GetTangentToEdge (const TopoDS_Edge &aE, const Standard_Real aT, gp_Dir &aD) |
| Computes tangent (3D) for the edge <aE> at parameter <aT> Returns TRUE if the edge <aE> is not degenerated. | |
| static Standard_Boolean | GetTangentToEdge (const TopoDS_Edge &aE, gp_Dir &aD) |
| Computes tangent (3D) for the edge <aE> at arbitrary intermediate parameter Returns TRUE if the edge <aE> is not degenerated. | |
| static void | GetNormalToFaceOnEdge (const TopoDS_Edge &aE, const TopoDS_Face &aF, const Standard_Real aT, gp_Dir &aD) |
| Computes normal to the face <aF> for the point on the edge <aE> at parameter <aT> | |
| static void | GetNormalToFaceOnEdge (const TopoDS_Edge &aE, const TopoDS_Face &aF, gp_Dir &aD) |
| Computes normal to the face <aF> for the point on the edge <aE> at arbitrary intermediate parameter | |
| static void | GetBiNormal (const TopoDS_Edge &aE, const TopoDS_Face &aF, const Standard_Real aT, gp_Dir &aD) |
| Computes binormal to the face <aF> for the point on the edge <aE> at parameter <aT> | |
| static void | GetBiNormal (const TopoDS_Edge &aE, const TopoDS_Face &aF, gp_Dir &aD) |
| Computes binormal to the face <aF> for the point on the edge <aE> at arbitrary intermediate parameter | |
| static Standard_Boolean | IsSplitToReverse (const TopoDS_Edge &aE, const TopoDS_Edge &aSp) |
| Returns TRUE if direction of the edge <aE1> is not the same as for the edge <aE2> | |
| static Standard_Boolean | GetAdjacentFace (const TopoDS_Face &aF, const TopoDS_Edge &aE, const TopTools_IndexedDataMapOfShapeListOfShape &aEFMap, TopoDS_Face &anAdjF) |
| Get face <anAdjF> that is adjacent to the face <aF> through the edge <aE> (using map EF <aEFMap>) Returns FALSE if adjacent face is not found | |
| static Standard_Boolean | IsKeepTwice (const TopoDS_Face &aF1, const TopoDS_Face &aF2, const TopoDS_Face &aF2Adj, const TopoDS_Edge &aSpEF2) |
| Returns TRUE if pair of faces <aF2> and <aF2Adj> that are adjacent faces through the edge <aSpEF2> crosses the face <aF1> by <aSpEF2> | |
| static Standard_Integer | SenseFlag (const gp_Dir &aNF1, const gp_Dir &aNF2) |
| Returns 1 if scalar product aNF1* aNF2>0. Returns 0 if directions aNF1 aNF2 coinside Returns -1 if scalar product aNF1* aNF2<0. | |
| static Standard_Boolean | GetNormalToSurface (const Handle< Geom_Surface > &aS, const Standard_Real U, const Standard_Real V, gp_Dir &aD) |
| Compute normal <aD> to surface <aS> in point (U,V) Returns TRUE if directions aD1U, aD1V coinside | |
| static void | GetPlanes (const TopoDS_Edge &aSp, const TopoDS_Edge &aE2, const TopTools_IndexedDataMapOfShapeListOfShape &aEFMap2, const TopoDS_Edge &aE1, const TopoDS_Face &aF1, TopAbs_State &aST1, IntTools_Context &aContext) |
| Internal usage | |
| static TopAbs_Orientation | Orientation (const TopoDS_Edge &aE, const TopoDS_Face &aF) |
| Get the orientation for the edge <aE> on the face <aF> Returns TopAbs_INTERNAL if the edge <aE> is not found on the face <aF> | |
| static Standard_Real | SignDistance (const gp_Pnt &aP, const gp_Pln &aPL) |
| Computes signed distance between the 3D-point <aP> and the plane <aPL>. | |
| static void | GetApproxNormalToFaceOnEdge (const TopoDS_Edge &aE, const TopoDS_Face &aF, const Standard_Real aT, gp_Pnt &aPx, gp_Dir &aD) |
| Computes normal to the face <aF> for the 3D-point that belonds to the edge <aE> at parameter <aT>. Output: aPx - the 3D-point where the normal computed aD - the normal; | |
| static void | PointNearEdge (const TopoDS_Edge &aE, const TopoDS_Face &aF, const Standard_Real aT, const Standard_Real aDt2D, gp_Pnt2d &aP2D, gp_Pnt &aPx) |
| Compute the point <aPx>, (<aP2D>) that is near to the edge <aE> at parameter <aT> towards to the material of the face <aF>. The value of shifting in 2D is <aDt2D> | |
| static void | PointNearEdge (const TopoDS_Edge &aE, const TopoDS_Face &aF, const Standard_Real aT, gp_Pnt2d &aP2D, gp_Pnt &aPx) |
| Computes the point <aPx>, (<aP2D>) that is near to the edge <aE> at parameter <aT> towards to the material of the face <aF>. The value of shifting in 2D is dt2D=BOPTools_Tools3D::MinStepIn2d() | |
| static void | PointNearEdge (const TopoDS_Edge &aE, const TopoDS_Face &aF, gp_Pnt2d &aP2D, gp_Pnt &aPx) |
| Compute the point <aPx>, (<aP2D>) that is near to the edge <aE> at arbitrary parameter towards to the material of the face <aF>. The value of shifting in 2D is dt2D=BOPTools_Tools3D::MinStepIn2d() | |
| static void | PointToCompare (const gp_Pnt &aP1, const gp_Pnt &aP2, const TopoDS_Face &aF, gp_Pnt &aPx, IntTools_Context &aContext) |
| For 3D-point <aP1> find projection point <aPx> on the face <aF>. If the distance (<aP1>, <aPx>) > TolF => For 3D-point <aP2> find projection point <aPx> on the face <aF>. If the distance (<aP2>, <aPx>) > TolF => returns <aP1> | |
| static void | GetPlane (const TopoDS_Edge &aSp, const TopoDS_Edge &aE1, const TopoDS_Face &aF1, const TopoDS_Face &aF2, TopAbs_State &aST, IntTools_Context &aContext) |
| Compute 3D-state for the point on the split edge <aSp> (with base edge <aE1> and the face <aF1>) comparing with the face <aF2> | |
| static void | GetPointState (const TopoDS_Edge &aSp, const TopoDS_Edge &aEF2, const TopoDS_Face &aF2Adj, const TopoDS_Face &aF1, TopAbs_State &aST) |
| Compute 3D-state for the point on the split edge <aSp> (with base edge <aEF2> and the adjacent face <aF2Adj>) comparing with the face <aF1> | |
| static void | OrientEdgeOnFace (const TopoDS_Edge &aE, const TopoDS_Face &aF, TopoDS_Edge &aER) |
| Get the edge <aER> from the face <aF> that is the same as the edge <aE> | |
| static TopAbs_Orientation | OrientTouchEdgeOnF1 (const TopoDS_Edge &aSp, const TopoDS_Edge &aEx, const TopoDS_Face &aF1, const TopoDS_Face &aF2) |
| Computes orientation for the split edge <aSp> [with base edge <aEx> and face <aF2>] on the face <aF1> | |
| static void | GetSeams (const TopoDS_Face &aF, TopoDS_Edge &aSimm1, TopoDS_Edge &aSimm2) |
| Get seam edges <aSimm1>, <aSimm2> for the face <aF> | |
| static void | GetSeam (const TopoDS_Face &aF, const TopoDS_Edge &aS1, TopoDS_Edge &aS2) |
| Get opposite seam edge <aS2> for the face <aF> with known seam edge <aS1> | |
| static Standard_Boolean | IsValidArea (const TopoDS_Face &aF, Standard_Boolean &aNegativeFlag) |
| Check validity of the area of face <aF>. Returns TRUE if the Abs. value of the area is greater than 1.e-16 | |
| static Standard_Real | MinStepIn2d () |
| Returns simple step value that is used in 2D-computations = 1.e-5 | |
| static Standard_Boolean | IsEmptyShape (const TopoDS_Shape &aS) |
| Returns TRUE if the shape <aS> does not contain geometry information (e.g. empty compound) | |
| static void | InvertShape (const TopoDS_Shape &aS, TopoDS_Shape &aSInv) |
| Change orientations to opposite for the shape <aS> and all its sub-shapes. Returns <aSInv> | |
| static TopAbs_State | GetStatePartIN2D (const TopoDS_Edge &aSp, const TopoDS_Edge &aEF1, const TopoDS_Face &aF1, const TopoDS_Face &aF2, IntTools_Context &aContext) |
| Used in touch case Compute the 3D-state for the point on the split edge <aSp> (with base edge <aEF1> on face <aF1>) comparing with <aF2>. Used in touch case <aF1>/<aF2> | |
| static Standard_Boolean | CheckSameDomainFaceInside (const TopoDS_Face &theFace1, const TopoDS_Face &theFace2, IntTools_Context &theContext) |
| static Standard_Boolean | ComputeFaceState (const TopoDS_Face &theFace, const TopoDS_Solid &theRef, IntTools_Context &theContext, TopAbs_State &theState) |
| static Standard_Boolean | TreatedAsAnalytic (const Standard_Real aTx, const gp_Pnt &aPx, const TopoDS_Edge &aEx, const TopoDS_Face &aFx, const TopoDS_Edge &aE1, const TopoDS_Face &aF1, const Standard_Real aTolTangent, const Standard_Real aTolRadius, TopAbs_State &aState, IntTools_Context &aContext) |
| static Standard_Boolean | TreatedAsAnalytic (const TopoDS_Face &aFx, const TopoDS_Edge &aSpE1, const TopoDS_Face &aF1, const Standard_Real aTolTangent, const Standard_Real aTolRadius, TopAbs_State &aState, IntTools_Context &aContext) |
| static Standard_Boolean | HasAnalyticSurfaceType (const TopoDS_Face &aF) |
| static Standard_Boolean BOPTools_Tools3D::CheckSameDomainFaceInside | ( | const TopoDS_Face & | theFace1, |
| const TopoDS_Face & | theFace2, | ||
| IntTools_Context & | theContext | ||
| ) | [static] |
| static Standard_Boolean BOPTools_Tools3D::ComputeFaceState | ( | const TopoDS_Face & | theFace, |
| const TopoDS_Solid & | theRef, | ||
| IntTools_Context & | theContext, | ||
| TopAbs_State & | theState | ||
| ) | [static] |
| static void BOPTools_Tools3D::DoSplitSEAMOnFace | ( | const TopoDS_Edge & | aSp, |
| const TopoDS_Face & | aF | ||
| ) | [static] |
| static Standard_Boolean BOPTools_Tools3D::DoSplitSEAMOnFace | ( | const TopoDS_Edge & | theSplit, |
| const TopoDS_Edge & | theSeam, | ||
| const TopoDS_Face & | theFace, | ||
| Standard_Boolean & | IsReversed | ||
| ) | [static] |
| static TopAbs_Orientation BOPTools_Tools3D::EdgeOrientation | ( | const TopoDS_Edge & | aEx, |
| const TopoDS_Face & | aF1, | ||
| const TopoDS_Face & | aF2 | ||
| ) | [static] |
| static Standard_Boolean BOPTools_Tools3D::GetAdjacentFace | ( | const TopoDS_Face & | aF, |
| const TopoDS_Edge & | aE, | ||
| const TopTools_IndexedDataMapOfShapeListOfShape & | aEFMap, | ||
| TopoDS_Face & | anAdjF | ||
| ) | [static] |
| static void BOPTools_Tools3D::GetApproxNormalToFaceOnEdge | ( | const TopoDS_Edge & | aE, |
| const TopoDS_Face & | aF, | ||
| const Standard_Real | aT, | ||
| gp_Pnt & | aPx, | ||
| gp_Dir & | aD | ||
| ) | [static] |
| static void BOPTools_Tools3D::GetBiNormal | ( | const TopoDS_Edge & | aE, |
| const TopoDS_Face & | aF, | ||
| const Standard_Real | aT, | ||
| gp_Dir & | aD | ||
| ) | [static] |
| static void BOPTools_Tools3D::GetBiNormal | ( | const TopoDS_Edge & | aE, |
| const TopoDS_Face & | aF, | ||
| gp_Dir & | aD | ||
| ) | [static] |
| static void BOPTools_Tools3D::GetNormalToFaceOnEdge | ( | const TopoDS_Edge & | aE, |
| const TopoDS_Face & | aF, | ||
| gp_Dir & | aD | ||
| ) | [static] |
| static void BOPTools_Tools3D::GetNormalToFaceOnEdge | ( | const TopoDS_Edge & | aE, |
| const TopoDS_Face & | aF, | ||
| const Standard_Real | aT, | ||
| gp_Dir & | aD | ||
| ) | [static] |
| static Standard_Boolean BOPTools_Tools3D::GetNormalToSurface | ( | const Handle< Geom_Surface > & | aS, |
| const Standard_Real | U, | ||
| const Standard_Real | V, | ||
| gp_Dir & | aD | ||
| ) | [static] |
| static void BOPTools_Tools3D::GetPlane | ( | const TopoDS_Edge & | aSp, |
| const TopoDS_Edge & | aE1, | ||
| const TopoDS_Face & | aF1, | ||
| const TopoDS_Face & | aF2, | ||
| TopAbs_State & | aST, | ||
| IntTools_Context & | aContext | ||
| ) | [static] |
| static void BOPTools_Tools3D::GetPlanes | ( | const TopoDS_Edge & | aSp, |
| const TopoDS_Edge & | aE2, | ||
| const TopTools_IndexedDataMapOfShapeListOfShape & | aEFMap2, | ||
| const TopoDS_Edge & | aE1, | ||
| const TopoDS_Face & | aF1, | ||
| TopAbs_State & | aST1, | ||
| IntTools_Context & | aContext | ||
| ) | [static] |
| static void BOPTools_Tools3D::GetPointState | ( | const TopoDS_Edge & | aSp, |
| const TopoDS_Edge & | aEF2, | ||
| const TopoDS_Face & | aF2Adj, | ||
| const TopoDS_Face & | aF1, | ||
| TopAbs_State & | aST | ||
| ) | [static] |
| static void BOPTools_Tools3D::GetSeam | ( | const TopoDS_Face & | aF, |
| const TopoDS_Edge & | aS1, | ||
| TopoDS_Edge & | aS2 | ||
| ) | [static] |
| static void BOPTools_Tools3D::GetSeams | ( | const TopoDS_Face & | aF, |
| TopoDS_Edge & | aSimm1, | ||
| TopoDS_Edge & | aSimm2 | ||
| ) | [static] |
| static TopAbs_State BOPTools_Tools3D::GetStatePartIN2D | ( | const TopoDS_Edge & | aSp, |
| const TopoDS_Edge & | aEF1, | ||
| const TopoDS_Face & | aF1, | ||
| const TopoDS_Face & | aF2, | ||
| IntTools_Context & | aContext | ||
| ) | [static] |
| static Standard_Boolean BOPTools_Tools3D::GetTangentToEdge | ( | const TopoDS_Edge & | aE, |
| const Standard_Real | aT, | ||
| gp_Dir & | aD | ||
| ) | [static] |
| static Standard_Boolean BOPTools_Tools3D::GetTangentToEdge | ( | const TopoDS_Edge & | aE, |
| gp_Dir & | aD | ||
| ) | [static] |
| static Standard_Boolean BOPTools_Tools3D::HasAnalyticSurfaceType | ( | const TopoDS_Face & | aF | ) | [static] |
| static void BOPTools_Tools3D::InvertShape | ( | const TopoDS_Shape & | aS, |
| TopoDS_Shape & | aSInv | ||
| ) | [static] |
| static Standard_Boolean BOPTools_Tools3D::IsConvexWire | ( | const TopoDS_Wire & | aW | ) | [static] |
| static Standard_Boolean BOPTools_Tools3D::IsEmptyShape | ( | const TopoDS_Shape & | aS | ) | [static] |
| static Standard_Boolean BOPTools_Tools3D::IsKeepTwice | ( | const TopoDS_Face & | aF1, |
| const TopoDS_Face & | aF2, | ||
| const TopoDS_Face & | aF2Adj, | ||
| const TopoDS_Edge & | aSpEF2 | ||
| ) | [static] |
| static Standard_Boolean BOPTools_Tools3D::IsSplitToReverse | ( | const TopoDS_Edge & | aE, |
| const TopoDS_Edge & | aSp | ||
| ) | [static] |
| static Standard_Boolean BOPTools_Tools3D::IsSplitToReverse1 | ( | const TopoDS_Edge & | aE1, |
| const TopoDS_Edge & | aE2, | ||
| IntTools_Context & | aContext | ||
| ) | [static] |
| static Standard_Boolean BOPTools_Tools3D::IsTouchCase | ( | const TopoDS_Edge & | aEx, |
| const TopoDS_Face & | aF1, | ||
| const TopoDS_Face & | aF2 | ||
| ) | [static] |
| static Standard_Boolean BOPTools_Tools3D::IsValidArea | ( | const TopoDS_Face & | aF, |
| Standard_Boolean & | aNegativeFlag | ||
| ) | [static] |
| static Standard_Real BOPTools_Tools3D::MinStepIn2d | ( | ) | [static] |
| void BOPTools_Tools3D::operator delete | ( | void * | anAddress | ) | [inline] |
| void* BOPTools_Tools3D::operator new | ( | size_t | size | ) | [inline] |
| void* BOPTools_Tools3D::operator new | ( | size_t | , |
| void * | anAddress | ||
| ) | [inline] |
| static TopAbs_Orientation BOPTools_Tools3D::Orientation | ( | const TopoDS_Edge & | aE, |
| const TopoDS_Face & | aF | ||
| ) | [static] |
| static void BOPTools_Tools3D::OrientEdgeOnFace | ( | const TopoDS_Edge & | aE, |
| const TopoDS_Face & | aF, | ||
| TopoDS_Edge & | aER | ||
| ) | [static] |
| static TopAbs_Orientation BOPTools_Tools3D::OrientTouchEdgeOnF1 | ( | const TopoDS_Edge & | aSp, |
| const TopoDS_Edge & | aEx, | ||
| const TopoDS_Face & | aF1, | ||
| const TopoDS_Face & | aF2 | ||
| ) | [static] |
| static void BOPTools_Tools3D::PointNearEdge | ( | const TopoDS_Edge & | aE, |
| const TopoDS_Face & | aF, | ||
| const Standard_Real | aT, | ||
| const Standard_Real | aDt2D, | ||
| gp_Pnt2d & | aP2D, | ||
| gp_Pnt & | aPx | ||
| ) | [static] |
| static void BOPTools_Tools3D::PointNearEdge | ( | const TopoDS_Edge & | aE, |
| const TopoDS_Face & | aF, | ||
| const Standard_Real | aT, | ||
| gp_Pnt2d & | aP2D, | ||
| gp_Pnt & | aPx | ||
| ) | [static] |
| static void BOPTools_Tools3D::PointNearEdge | ( | const TopoDS_Edge & | aE, |
| const TopoDS_Face & | aF, | ||
| gp_Pnt2d & | aP2D, | ||
| gp_Pnt & | aPx | ||
| ) | [static] |
| static void BOPTools_Tools3D::PointToCompare | ( | const gp_Pnt & | aP1, |
| const gp_Pnt & | aP2, | ||
| const TopoDS_Face & | aF, | ||
| gp_Pnt & | aPx, | ||
| IntTools_Context & | aContext | ||
| ) | [static] |
| static void BOPTools_Tools3D::RemoveSims | ( | const TopoDS_Face & | aF, |
| IntTools_Context & | aContext | ||
| ) | [static] |
| static void BOPTools_Tools3D::RemoveSims | ( | const TopoDS_Shape & | aS, |
| IntTools_Context & | aContext | ||
| ) | [static] |
| static Standard_Integer BOPTools_Tools3D::SenseFlag | ( | const gp_Dir & | aNF1, |
| const gp_Dir & | aNF2 | ||
| ) | [static] |
| static Standard_Real BOPTools_Tools3D::SignDistance | ( | const gp_Pnt & | aP, |
| const gp_Pln & | aPL | ||
| ) | [static] |
| static Standard_Integer BOPTools_Tools3D::SubShapesAmount | ( | const TopoDS_Shape & | aS, |
| const TopAbs_ShapeEnum | aT | ||
| ) | [static] |
| static Standard_Boolean BOPTools_Tools3D::TreatedAsAnalytic | ( | const TopoDS_Face & | aFx, |
| const TopoDS_Edge & | aSpE1, | ||
| const TopoDS_Face & | aF1, | ||
| const Standard_Real | aTolTangent, | ||
| const Standard_Real | aTolRadius, | ||
| TopAbs_State & | aState, | ||
| IntTools_Context & | aContext | ||
| ) | [static] |
| static Standard_Boolean BOPTools_Tools3D::TreatedAsAnalytic | ( | const Standard_Real | aTx, |
| const gp_Pnt & | aPx, | ||
| const TopoDS_Edge & | aEx, | ||
| const TopoDS_Face & | aFx, | ||
| const TopoDS_Edge & | aE1, | ||
| const TopoDS_Face & | aF1, | ||
| const Standard_Real | aTolTangent, | ||
| const Standard_Real | aTolRadius, | ||
| TopAbs_State & | aState, | ||
| IntTools_Context & | aContext | ||
| ) | [static] |
1.7.4