#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_EXPORT 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_EXPORT Standard_Boolean | IsConvexWire (const TopoDS_Wire &aW) |
Returns TRUE if amount of the vertices <= amount of the edges> for the wire <aw> . | |
static Standard_EXPORT void | RemoveSims (const TopoDS_Face &aF, IntTools_Context &aContext) |
Remove seam edges from face <af> . | |
static Standard_EXPORT void | RemoveSims (const TopoDS_Shape &aS, IntTools_Context &aContext) |
Remove seam edges from all faces of shape <as> . | |
static Standard_EXPORT 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_EXPORT 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 Standard_EXPORT void | DoSplitSEAMOnFace (const TopoDS_Edge &aSp, const TopoDS_Face &aF) |
Make the edge <asp> seam edge for the face <af> . | |
static Standard_EXPORT 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_EXPORT 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_EXPORT 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_EXPORT 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 Standard_EXPORT 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 Standard_EXPORT 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 Standard_EXPORT 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 Standard_EXPORT 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_EXPORT 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_EXPORT 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_EXPORT 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_EXPORT 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_EXPORT 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 Standard_EXPORT 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 Standard_EXPORT 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_EXPORT Standard_Real | SignDistance (const gp_Pnt &aP, const gp_Pln &aPL) |
Computes signed distance between the 3D-point <ap> and the plane <apl>. . | |
static Standard_EXPORT 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 Standard_EXPORT 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 Standard_EXPORT 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 Standard_EXPORT 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 Standard_EXPORT 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 Standard_EXPORT 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 Standard_EXPORT 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 Standard_EXPORT 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 Standard_EXPORT 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 Standard_EXPORT void | GetSeams (const TopoDS_Face &aF, TopoDS_Edge &aSimm1, TopoDS_Edge &aSimm2) |
Get seam edges <asimm1>, <asimm2> for the face <af> . | |
static Standard_EXPORT 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_EXPORT 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_EXPORT Standard_Real | MinStepIn2d () |
Returns simple step value that is used in 2D-computations = 1.e-5 . | |
static Standard_EXPORT Standard_Boolean | IsEmptyShape (const TopoDS_Shape &aS) |
Returns TRUE if the shape <as> does not contain geometry information (e.g. empty compound) . | |
static Standard_EXPORT 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 Standard_EXPORT 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_EXPORT Standard_Boolean | CheckSameDomainFaceInside (const TopoDS_Face &theFace1, const TopoDS_Face &theFace2, IntTools_Context &theContext) |
static Standard_EXPORT Standard_Boolean | ComputeFaceState (const TopoDS_Face &theFace, const TopoDS_Solid &theRef, IntTools_Context &theContext, TopAbs_State &theState) |
static Standard_EXPORT 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_EXPORT 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_EXPORT Standard_Boolean | HasAnalyticSurfaceType (const TopoDS_Face &aF) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|