Open CASCADE Technology  7.3.1.dev
Static Public Member Functions
IntTools_Tools Class Reference

The class contains handy static functions dealing with the geometry and topology. More...

#include <IntTools_Tools.hxx>

Static Public Member Functions

static Standard_Integer ComputeVV (const TopoDS_Vertex &V1, const TopoDS_Vertex &V2)
 Computes distance between vertex V1 and vertex V2, if the distance is less than sum of vertex tolerances returns zero, otherwise returns negative value. More...
 
static Standard_Boolean HasInternalEdge (const TopoDS_Wire &aW)
 Returns True if wire aW contains edges with INTERNAL orientation. More...
 
static void MakeFaceFromWireAndFace (const TopoDS_Wire &aW, const TopoDS_Face &aF, TopoDS_Face &aFNew)
 Build a face based on surface of given face aF and bounded by wire aW. More...
 
static TopAbs_State ClassifyPointByFace (const TopoDS_Face &aF, const gp_Pnt2d &P)
 
static Standard_Boolean IsVertex (const TopoDS_Edge &E, const Standard_Real t)
 Computes square distance between a point on the edge E corresponded to parameter t and vertices of edge E. Returns True if this distance is less than square tolerance of vertex, otherwise returns false. More...
 
static Standard_Boolean IsVertex (const TopoDS_Edge &E, const TopoDS_Vertex &V, const Standard_Real t)
 Returns True if square distance between vertex V and a point on the edge E corresponded to parameter t is less than square tolerance of V. More...
 
static Standard_Boolean IsVertex (const IntTools_CommonPrt &aCmnPrt)
 Returns True if IsVertx for middle parameter of fist range and first edge returns True and if IsVertex for middle parameter of second range and second range returns True, otherwise returns False. More...
 
static Standard_Boolean IsMiddlePointsEqual (const TopoDS_Edge &E1, const TopoDS_Edge &E2)
 Gets boundary of parameters of E1 and E2. Computes 3d points on each corresponded to average parameters. Returns True if distance between computed points is less than sum of edge tolerance, otherwise returns False. More...
 
static Standard_Boolean IsVertex (const gp_Pnt &aP, const Standard_Real aTolPV, const TopoDS_Vertex &aV)
 Returns True if the distance between point aP and vertex aV is less or equal to sum of aTolPV and vertex tolerance, otherwise returns False. More...
 
static Standard_Real IntermediatePoint (const Standard_Real aFirst, const Standard_Real aLast)
 Returns some value between aFirst and aLast. More...
 
static Standard_Integer SplitCurve (const IntTools_Curve &aC, IntTools_SequenceOfCurves &aS)
 Split aC by average parameter if aC is closed in 3D. Returns positive value if splitting has been done, otherwise returns zero. More...
 
static void RejectLines (const IntTools_SequenceOfCurves &aSIn, IntTools_SequenceOfCurves &aSOut)
 Puts curves from aSIn to aSOut except those curves that are coincide with first curve from aSIn. More...
 
static Standard_Boolean IsDirsCoinside (const gp_Dir &D1, const gp_Dir &D2)
 Returns True if D1 and D2 coinside. More...
 
static Standard_Boolean IsDirsCoinside (const gp_Dir &D1, const gp_Dir &D2, const Standard_Real aTol)
 Returns True if D1 and D2 coinside with given tolerance. More...
 
static Standard_Boolean IsClosed (const Handle< Geom_Curve > &aC)
 Returns True if aC is BoundedCurve from Geom and the distance between first point of the curve aC and last point is less than 1.e-12. More...
 
static Standard_Real CurveTolerance (const Handle< Geom_Curve > &aC, const Standard_Real aTolBase)
 Returns adaptive tolerance for given aTolBase if aC is trimmed curve and basis curve is parabola, otherwise returns value of aTolBase. More...
 
static Standard_Boolean CheckCurve (const IntTools_Curve &theCurve, Bnd_Box &theBox)
 Checks if the curve is not covered by the default tolerance (confusion).
Builds bounding box for the curve and stores it into <theBox>. More...
 
static Standard_Boolean IsOnPave (const Standard_Real theT, const IntTools_Range &theRange, const Standard_Real theTol)
 
static void VertexParameters (const IntTools_CommonPrt &theCP, Standard_Real &theT1, Standard_Real &theT2)
 
static void VertexParameter (const IntTools_CommonPrt &theCP, Standard_Real &theT)
 
static Standard_Boolean IsOnPave1 (const Standard_Real theT, const IntTools_Range &theRange, const Standard_Real theTol)
 
static Standard_Boolean IsInRange (const IntTools_Range &theRRef, const IntTools_Range &theR, const Standard_Real theTol)
 Checks if the range <theR> interfere with the range <theRRef> More...
 
static Standard_Integer SegPln (const gp_Lin &theLin, const Standard_Real theTLin1, const Standard_Real theTLin2, const Standard_Real theTolLin, const gp_Pln &thePln, const Standard_Real theTolPln, gp_Pnt &theP, Standard_Real &theT, Standard_Real &theTolP, Standard_Real &theTmin, Standard_Real &theTmax)
 
static Standard_Boolean ComputeTolerance (const Handle< Geom_Curve > &theCurve3D, const Handle< Geom2d_Curve > &theCurve2D, const Handle< Geom_Surface > &theSurf, const Standard_Real theFirst, const Standard_Real theLast, Standard_Real &theMaxDist, Standard_Real &theMaxPar, const Standard_Real theTolRange=Precision::PConfusion())
 Computes the max distance between points taken from 3D and 2D curves by the same parameter. More...
 
static Standard_Real ComputeIntRange (const Standard_Real theTol1, const Standard_Real theTol2, const Standard_Real theAngle)
 Computes the correct Intersection range for Line/Line, Line/Plane and Plane/Plane intersections. More...
 

Detailed Description

The class contains handy static functions dealing with the geometry and topology.

Member Function Documentation

◆ CheckCurve()

static Standard_Boolean IntTools_Tools::CheckCurve ( const IntTools_Curve theCurve,
Bnd_Box theBox 
)
static

Checks if the curve is not covered by the default tolerance (confusion).
Builds bounding box for the curve and stores it into <theBox>.

◆ ClassifyPointByFace()

static TopAbs_State IntTools_Tools::ClassifyPointByFace ( const TopoDS_Face aF,
const gp_Pnt2d P 
)
static

◆ ComputeIntRange()

static Standard_Real IntTools_Tools::ComputeIntRange ( const Standard_Real  theTol1,
const Standard_Real  theTol2,
const Standard_Real  theAngle 
)
static

Computes the correct Intersection range for Line/Line, Line/Plane and Plane/Plane intersections.

◆ ComputeTolerance()

static Standard_Boolean IntTools_Tools::ComputeTolerance ( const Handle< Geom_Curve > &  theCurve3D,
const Handle< Geom2d_Curve > &  theCurve2D,
const Handle< Geom_Surface > &  theSurf,
const Standard_Real  theFirst,
const Standard_Real  theLast,
Standard_Real theMaxDist,
Standard_Real theMaxPar,
const Standard_Real  theTolRange = Precision::PConfusion() 
)
static

Computes the max distance between points taken from 3D and 2D curves by the same parameter.

◆ ComputeVV()

static Standard_Integer IntTools_Tools::ComputeVV ( const TopoDS_Vertex V1,
const TopoDS_Vertex V2 
)
static

Computes distance between vertex V1 and vertex V2, if the distance is less than sum of vertex tolerances returns zero, otherwise returns negative value.

◆ CurveTolerance()

static Standard_Real IntTools_Tools::CurveTolerance ( const Handle< Geom_Curve > &  aC,
const Standard_Real  aTolBase 
)
static

Returns adaptive tolerance for given aTolBase if aC is trimmed curve and basis curve is parabola, otherwise returns value of aTolBase.

◆ HasInternalEdge()

static Standard_Boolean IntTools_Tools::HasInternalEdge ( const TopoDS_Wire aW)
static

Returns True if wire aW contains edges with INTERNAL orientation.

◆ IntermediatePoint()

static Standard_Real IntTools_Tools::IntermediatePoint ( const Standard_Real  aFirst,
const Standard_Real  aLast 
)
static

Returns some value between aFirst and aLast.

◆ IsClosed()

static Standard_Boolean IntTools_Tools::IsClosed ( const Handle< Geom_Curve > &  aC)
static

Returns True if aC is BoundedCurve from Geom and the distance between first point of the curve aC and last point is less than 1.e-12.

◆ IsDirsCoinside() [1/2]

static Standard_Boolean IntTools_Tools::IsDirsCoinside ( const gp_Dir D1,
const gp_Dir D2 
)
static

Returns True if D1 and D2 coinside.

◆ IsDirsCoinside() [2/2]

static Standard_Boolean IntTools_Tools::IsDirsCoinside ( const gp_Dir D1,
const gp_Dir D2,
const Standard_Real  aTol 
)
static

Returns True if D1 and D2 coinside with given tolerance.

◆ IsInRange()

static Standard_Boolean IntTools_Tools::IsInRange ( const IntTools_Range theRRef,
const IntTools_Range theR,
const Standard_Real  theTol 
)
static

Checks if the range <theR> interfere with the range <theRRef>

◆ IsMiddlePointsEqual()

static Standard_Boolean IntTools_Tools::IsMiddlePointsEqual ( const TopoDS_Edge E1,
const TopoDS_Edge E2 
)
static

Gets boundary of parameters of E1 and E2. Computes 3d points on each corresponded to average parameters. Returns True if distance between computed points is less than sum of edge tolerance, otherwise returns False.

◆ IsOnPave()

static Standard_Boolean IntTools_Tools::IsOnPave ( const Standard_Real  theT,
const IntTools_Range theRange,
const Standard_Real  theTol 
)
static

◆ IsOnPave1()

static Standard_Boolean IntTools_Tools::IsOnPave1 ( const Standard_Real  theT,
const IntTools_Range theRange,
const Standard_Real  theTol 
)
static

◆ IsVertex() [1/4]

static Standard_Boolean IntTools_Tools::IsVertex ( const TopoDS_Edge E,
const Standard_Real  t 
)
static

Computes square distance between a point on the edge E corresponded to parameter t and vertices of edge E. Returns True if this distance is less than square tolerance of vertex, otherwise returns false.

◆ IsVertex() [2/4]

static Standard_Boolean IntTools_Tools::IsVertex ( const TopoDS_Edge E,
const TopoDS_Vertex V,
const Standard_Real  t 
)
static

Returns True if square distance between vertex V and a point on the edge E corresponded to parameter t is less than square tolerance of V.

◆ IsVertex() [3/4]

static Standard_Boolean IntTools_Tools::IsVertex ( const IntTools_CommonPrt aCmnPrt)
static

Returns True if IsVertx for middle parameter of fist range and first edge returns True and if IsVertex for middle parameter of second range and second range returns True, otherwise returns False.

◆ IsVertex() [4/4]

static Standard_Boolean IntTools_Tools::IsVertex ( const gp_Pnt aP,
const Standard_Real  aTolPV,
const TopoDS_Vertex aV 
)
static

Returns True if the distance between point aP and vertex aV is less or equal to sum of aTolPV and vertex tolerance, otherwise returns False.

◆ MakeFaceFromWireAndFace()

static void IntTools_Tools::MakeFaceFromWireAndFace ( const TopoDS_Wire aW,
const TopoDS_Face aF,
TopoDS_Face aFNew 
)
static

Build a face based on surface of given face aF and bounded by wire aW.

◆ RejectLines()

static void IntTools_Tools::RejectLines ( const IntTools_SequenceOfCurves aSIn,
IntTools_SequenceOfCurves aSOut 
)
static

Puts curves from aSIn to aSOut except those curves that are coincide with first curve from aSIn.

◆ SegPln()

static Standard_Integer IntTools_Tools::SegPln ( const gp_Lin theLin,
const Standard_Real  theTLin1,
const Standard_Real  theTLin2,
const Standard_Real  theTolLin,
const gp_Pln thePln,
const Standard_Real  theTolPln,
gp_Pnt theP,
Standard_Real theT,
Standard_Real theTolP,
Standard_Real theTmin,
Standard_Real theTmax 
)
static

◆ SplitCurve()

static Standard_Integer IntTools_Tools::SplitCurve ( const IntTools_Curve aC,
IntTools_SequenceOfCurves aS 
)
static

Split aC by average parameter if aC is closed in 3D. Returns positive value if splitting has been done, otherwise returns zero.

◆ VertexParameter()

static void IntTools_Tools::VertexParameter ( const IntTools_CommonPrt theCP,
Standard_Real theT 
)
static

◆ VertexParameters()

static void IntTools_Tools::VertexParameters ( const IntTools_CommonPrt theCP,
Standard_Real theT1,
Standard_Real theT2 
)
static

The documentation for this class was generated from the following file: