Open CASCADE Technology  7.7.0
Static Public Member Functions
BOPTools_AlgoTools2D Class Reference

The class contains handy static functions dealing with the topology This is the copy of the BOPTools_AlgoTools2D.cdl. More...

#include <BOPTools_AlgoTools2D.hxx>

Static Public Member Functions

static void BuildPCurveForEdgeOnFace (const TopoDS_Edge &aE, const TopoDS_Face &aF, const Handle< IntTools_Context > &theContext=Handle< IntTools_Context >())
 Compute P-Curve for the edge <aE> on the face <aF>.
Raises exception Standard_ConstructionError if projection algorithm fails.
<theContext> - storage for caching the geometrical tools. More...
 
static Standard_Boolean EdgeTangent (const TopoDS_Edge &anE, const Standard_Real aT, gp_Vec &Tau)
 Compute tangent for the edge <aE> [in 3D] at parameter <aT> More...
 
static void PointOnSurface (const TopoDS_Edge &aE, const TopoDS_Face &aF, const Standard_Real aT, Standard_Real &U, Standard_Real &V, const Handle< IntTools_Context > &theContext=Handle< IntTools_Context >())
 Compute surface parameters <U,V> of the face <aF> for the point from the edge <aE> at parameter <aT>.
If <aE> has't pcurve on surface, algorithm tries to get it by projection and can raise exception Standard_ConstructionError if projection algorithm fails.
<theContext> - storage for caching the geometrical tools. More...
 
static void CurveOnSurface (const TopoDS_Edge &aE, const TopoDS_Face &aF, Handle< Geom2d_Curve > &aC, Standard_Real &aToler, const Handle< IntTools_Context > &theContext=Handle< IntTools_Context >())
 Get P-Curve <aC> for the edge <aE> on surface <aF> .
If the P-Curve does not exist, build it using Make2D().
[aToler] - reached tolerance Raises exception Standard_ConstructionError if algorithm Make2D() fails.
<theContext> - storage for caching the geometrical tools. More...
 
static void CurveOnSurface (const TopoDS_Edge &aE, const TopoDS_Face &aF, Handle< Geom2d_Curve > &aC, Standard_Real &aFirst, Standard_Real &aLast, Standard_Real &aToler, const Handle< IntTools_Context > &theContext=Handle< IntTools_Context >())
 Get P-Curve <aC> for the edge <aE> on surface <aF> .
If the P-Curve does not exist, build it using Make2D().
[aFirst, aLast] - range of the P-Curve
[aToler] - reached tolerance
Raises exception Standard_ConstructionError if algorithm Make2D() fails.
<theContext> - storage for caching the geometrical tools. More...
 
static Standard_Boolean HasCurveOnSurface (const TopoDS_Edge &aE, const TopoDS_Face &aF, Handle< Geom2d_Curve > &aC, Standard_Real &aFirst, Standard_Real &aLast, Standard_Real &aToler)
 Returns TRUE if the edge <aE> has P-Curve <aC> on surface <aF> . [aFirst, aLast] - range of the P-Curve [aToler] - reached tolerance If the P-Curve does not exist, aC.IsNull()=TRUE. More...
 
static Standard_Boolean HasCurveOnSurface (const TopoDS_Edge &aE, const TopoDS_Face &aF)
 Returns TRUE if the edge <aE> has P-Curve <aC> on surface <aF> . If the P-Curve does not exist, aC.IsNull()=TRUE. More...
 
static void AdjustPCurveOnFace (const TopoDS_Face &theF, const Handle< Geom_Curve > &theC3D, const Handle< Geom2d_Curve > &theC2D, Handle< Geom2d_Curve > &theC2DA, const Handle< IntTools_Context > &theContext=Handle< IntTools_Context >())
 Adjust P-Curve <theC2D> (3D-curve <theC3D>) on surface of the face <theF>.
<theContext> - storage for caching the geometrical tools. More...
 
static void AdjustPCurveOnFace (const TopoDS_Face &theF, const Standard_Real theFirst, const Standard_Real theLast, const Handle< Geom2d_Curve > &theC2D, Handle< Geom2d_Curve > &theC2DA, const Handle< IntTools_Context > &theContext=Handle< IntTools_Context >())
 Adjust P-Curve <aC2D> (3D-curve <C3D>) on surface <aF> .
[aT1, aT2] - range to adjust
<theContext> - storage for caching the geometrical tools. More...
 
static void AdjustPCurveOnSurf (const BRepAdaptor_Surface &aF, const Standard_Real aT1, const Standard_Real aT2, const Handle< Geom2d_Curve > &aC2D, Handle< Geom2d_Curve > &aC2DA)
 Adjust P-Curve <aC2D> (3D-curve <C3D>) on surface <aF> . [aT1, aT2] - range to adjust. More...
 
static Standard_Real IntermediatePoint (const Standard_Real aFirst, const Standard_Real aLast)
 Compute intermediate value in between [aFirst, aLast] . More...
 
static Standard_Real IntermediatePoint (const TopoDS_Edge &anE)
 Compute intermediate value of parameter for the edge <anE>. More...
 
static void Make2D (const TopoDS_Edge &aE, const TopoDS_Face &aF, Handle< Geom2d_Curve > &aC, Standard_Real &aFirst, Standard_Real &aLast, Standard_Real &aToler, const Handle< IntTools_Context > &theContext=Handle< IntTools_Context >())
 Make P-Curve <aC> for the edge <aE> on surface <aF> .
[aFirst, aLast] - range of the P-Curve
[aToler] - reached tolerance
Raises exception Standard_ConstructionError if algorithm fails.
<theContext> - storage for caching the geometrical tools. More...
 
static void MakePCurveOnFace (const TopoDS_Face &aF, const Handle< Geom_Curve > &C3D, Handle< Geom2d_Curve > &aC, Standard_Real &aToler, const Handle< IntTools_Context > &theContext=Handle< IntTools_Context >())
 Make P-Curve <aC> for the 3D-curve <C3D> on surface <aF> .
[aToler] - reached tolerance
Raises exception Standard_ConstructionError if projection algorithm fails.
<theContext> - storage for caching the geometrical tools. More...
 
static void MakePCurveOnFace (const TopoDS_Face &aF, const Handle< Geom_Curve > &C3D, const Standard_Real aT1, const Standard_Real aT2, Handle< Geom2d_Curve > &aC, Standard_Real &aToler, const Handle< IntTools_Context > &theContext=Handle< IntTools_Context >())
 Make P-Curve <aC> for the 3D-curve <C3D> on surface <aF> .
[aT1, aT2] - range to build
[aToler] - reached tolerance
Raises exception Standard_ConstructionError if projection algorithm fails.
<theContext> - storage for caching the geometrical tools. More...
 
static Standard_Integer AttachExistingPCurve (const TopoDS_Edge &aEold, const TopoDS_Edge &aEnew, const TopoDS_Face &aF, const Handle< IntTools_Context > &aCtx)
 Attach P-Curve from the edge <aEold> on surface <aF> to the edge <aEnew> Returns 0 in case of success. More...
 
static void IsEdgeIsoline (const TopoDS_Edge &theE, const TopoDS_Face &theF, Standard_Boolean &isTheUIso, Standard_Boolean &isTheVIso)
 Checks if CurveOnSurface of theE on theF matches with isoline of theF surface. Sets corresponding values for isTheUIso and isTheVIso variables. More...
 

Detailed Description

The class contains handy static functions dealing with the topology This is the copy of the BOPTools_AlgoTools2D.cdl.

Member Function Documentation

◆ AdjustPCurveOnFace() [1/2]

static void BOPTools_AlgoTools2D::AdjustPCurveOnFace ( const TopoDS_Face theF,
const Handle< Geom_Curve > &  theC3D,
const Handle< Geom2d_Curve > &  theC2D,
Handle< Geom2d_Curve > &  theC2DA,
const Handle< IntTools_Context > &  theContext = HandleIntTools_Context >() 
)
static

Adjust P-Curve <theC2D> (3D-curve <theC3D>) on surface of the face <theF>.
<theContext> - storage for caching the geometrical tools.

◆ AdjustPCurveOnFace() [2/2]

static void BOPTools_AlgoTools2D::AdjustPCurveOnFace ( const TopoDS_Face theF,
const Standard_Real  theFirst,
const Standard_Real  theLast,
const Handle< Geom2d_Curve > &  theC2D,
Handle< Geom2d_Curve > &  theC2DA,
const Handle< IntTools_Context > &  theContext = HandleIntTools_Context >() 
)
static

Adjust P-Curve <aC2D> (3D-curve <C3D>) on surface <aF> .
[aT1, aT2] - range to adjust
<theContext> - storage for caching the geometrical tools.

◆ AdjustPCurveOnSurf()

static void BOPTools_AlgoTools2D::AdjustPCurveOnSurf ( const BRepAdaptor_Surface aF,
const Standard_Real  aT1,
const Standard_Real  aT2,
const Handle< Geom2d_Curve > &  aC2D,
Handle< Geom2d_Curve > &  aC2DA 
)
static

Adjust P-Curve <aC2D> (3D-curve <C3D>) on surface <aF> . [aT1, aT2] - range to adjust.

◆ AttachExistingPCurve()

static Standard_Integer BOPTools_AlgoTools2D::AttachExistingPCurve ( const TopoDS_Edge aEold,
const TopoDS_Edge aEnew,
const TopoDS_Face aF,
const Handle< IntTools_Context > &  aCtx 
)
static

Attach P-Curve from the edge <aEold> on surface <aF> to the edge <aEnew> Returns 0 in case of success.

◆ BuildPCurveForEdgeOnFace()

static void BOPTools_AlgoTools2D::BuildPCurveForEdgeOnFace ( const TopoDS_Edge aE,
const TopoDS_Face aF,
const Handle< IntTools_Context > &  theContext = HandleIntTools_Context >() 
)
static

Compute P-Curve for the edge <aE> on the face <aF>.
Raises exception Standard_ConstructionError if projection algorithm fails.
<theContext> - storage for caching the geometrical tools.

◆ CurveOnSurface() [1/2]

static void BOPTools_AlgoTools2D::CurveOnSurface ( const TopoDS_Edge aE,
const TopoDS_Face aF,
Handle< Geom2d_Curve > &  aC,
Standard_Real aToler,
const Handle< IntTools_Context > &  theContext = HandleIntTools_Context >() 
)
static

Get P-Curve <aC> for the edge <aE> on surface <aF> .
If the P-Curve does not exist, build it using Make2D().
[aToler] - reached tolerance Raises exception Standard_ConstructionError if algorithm Make2D() fails.
<theContext> - storage for caching the geometrical tools.

◆ CurveOnSurface() [2/2]

static void BOPTools_AlgoTools2D::CurveOnSurface ( const TopoDS_Edge aE,
const TopoDS_Face aF,
Handle< Geom2d_Curve > &  aC,
Standard_Real aFirst,
Standard_Real aLast,
Standard_Real aToler,
const Handle< IntTools_Context > &  theContext = HandleIntTools_Context >() 
)
static

Get P-Curve <aC> for the edge <aE> on surface <aF> .
If the P-Curve does not exist, build it using Make2D().
[aFirst, aLast] - range of the P-Curve
[aToler] - reached tolerance
Raises exception Standard_ConstructionError if algorithm Make2D() fails.
<theContext> - storage for caching the geometrical tools.

◆ EdgeTangent()

static Standard_Boolean BOPTools_AlgoTools2D::EdgeTangent ( const TopoDS_Edge anE,
const Standard_Real  aT,
gp_Vec Tau 
)
static

Compute tangent for the edge <aE> [in 3D] at parameter <aT>

◆ HasCurveOnSurface() [1/2]

static Standard_Boolean BOPTools_AlgoTools2D::HasCurveOnSurface ( const TopoDS_Edge aE,
const TopoDS_Face aF,
Handle< Geom2d_Curve > &  aC,
Standard_Real aFirst,
Standard_Real aLast,
Standard_Real aToler 
)
static

Returns TRUE if the edge <aE> has P-Curve <aC> on surface <aF> . [aFirst, aLast] - range of the P-Curve [aToler] - reached tolerance If the P-Curve does not exist, aC.IsNull()=TRUE.

◆ HasCurveOnSurface() [2/2]

static Standard_Boolean BOPTools_AlgoTools2D::HasCurveOnSurface ( const TopoDS_Edge aE,
const TopoDS_Face aF 
)
static

Returns TRUE if the edge <aE> has P-Curve <aC> on surface <aF> . If the P-Curve does not exist, aC.IsNull()=TRUE.

◆ IntermediatePoint() [1/2]

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

Compute intermediate value in between [aFirst, aLast] .

◆ IntermediatePoint() [2/2]

static Standard_Real BOPTools_AlgoTools2D::IntermediatePoint ( const TopoDS_Edge anE)
static

Compute intermediate value of parameter for the edge <anE>.

◆ IsEdgeIsoline()

static void BOPTools_AlgoTools2D::IsEdgeIsoline ( const TopoDS_Edge theE,
const TopoDS_Face theF,
Standard_Boolean isTheUIso,
Standard_Boolean isTheVIso 
)
static

Checks if CurveOnSurface of theE on theF matches with isoline of theF surface. Sets corresponding values for isTheUIso and isTheVIso variables.

ATTENTION!!! This method is based on the comparison between direction of surface (which theF is based on) iso-lines and the direction of the edge p-curve (on theF) in middle-point of the p-curve.

This method should be used carefully (e.g. BRep_Tool::IsClosed(...) together) in order to avoid false classification some p-curves as isoline (e.g. circle on a plane).

◆ Make2D()

static void BOPTools_AlgoTools2D::Make2D ( const TopoDS_Edge aE,
const TopoDS_Face aF,
Handle< Geom2d_Curve > &  aC,
Standard_Real aFirst,
Standard_Real aLast,
Standard_Real aToler,
const Handle< IntTools_Context > &  theContext = HandleIntTools_Context >() 
)
static

Make P-Curve <aC> for the edge <aE> on surface <aF> .
[aFirst, aLast] - range of the P-Curve
[aToler] - reached tolerance
Raises exception Standard_ConstructionError if algorithm fails.
<theContext> - storage for caching the geometrical tools.

◆ MakePCurveOnFace() [1/2]

static void BOPTools_AlgoTools2D::MakePCurveOnFace ( const TopoDS_Face aF,
const Handle< Geom_Curve > &  C3D,
Handle< Geom2d_Curve > &  aC,
Standard_Real aToler,
const Handle< IntTools_Context > &  theContext = HandleIntTools_Context >() 
)
static

Make P-Curve <aC> for the 3D-curve <C3D> on surface <aF> .
[aToler] - reached tolerance
Raises exception Standard_ConstructionError if projection algorithm fails.
<theContext> - storage for caching the geometrical tools.

◆ MakePCurveOnFace() [2/2]

static void BOPTools_AlgoTools2D::MakePCurveOnFace ( const TopoDS_Face aF,
const Handle< Geom_Curve > &  C3D,
const Standard_Real  aT1,
const Standard_Real  aT2,
Handle< Geom2d_Curve > &  aC,
Standard_Real aToler,
const Handle< IntTools_Context > &  theContext = HandleIntTools_Context >() 
)
static

Make P-Curve <aC> for the 3D-curve <C3D> on surface <aF> .
[aT1, aT2] - range to build
[aToler] - reached tolerance
Raises exception Standard_ConstructionError if projection algorithm fails.
<theContext> - storage for caching the geometrical tools.

◆ PointOnSurface()

static void BOPTools_AlgoTools2D::PointOnSurface ( const TopoDS_Edge aE,
const TopoDS_Face aF,
const Standard_Real  aT,
Standard_Real U,
Standard_Real V,
const Handle< IntTools_Context > &  theContext = HandleIntTools_Context >() 
)
static

Compute surface parameters <U,V> of the face <aF> for the point from the edge <aE> at parameter <aT>.
If <aE> has't pcurve on surface, algorithm tries to get it by projection and can raise exception Standard_ConstructionError if projection algorithm fails.
<theContext> - storage for caching the geometrical tools.


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