Open CASCADE Technology 7.8.2.dev
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.
 
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>
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
static Standard_Real IntermediatePoint (const Standard_Real aFirst, const Standard_Real aLast)
 Compute intermediate value in between [aFirst, aLast] .
 
static Standard_Real IntermediatePoint (const TopoDS_Edge &anE)
 Compute intermediate value of parameter for the edge <anE>.
 
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.
 
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.
 
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.
 
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.
 
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.
 

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 & 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.

◆ CurveOnSurface() [2/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.

◆ 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 )
static

Returns TRUE if the edge <aE> has P-Curve <aC> on surface <aF> . 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,
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.

◆ 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,
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.

◆ MakePCurveOnFace() [2/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.

◆ 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: