Open CASCADE Technology  7.6.0
Public Member Functions | Protected Member Functions

Approx_CurveOnSurface Class Reference

Approximation of curve on surface. More...

#include <Approx_CurveOnSurface.hxx>

Public Member Functions

 Approx_CurveOnSurface (const Handle< Adaptor2d_Curve2d > &C2D, const Handle< Adaptor3d_Surface > &Surf, const Standard_Real First, const Standard_Real Last, const Standard_Real Tol, const GeomAbs_Shape Continuity, const Standard_Integer MaxDegree, const Standard_Integer MaxSegments, const Standard_Boolean Only3d=Standard_False, const Standard_Boolean Only2d=Standard_False)
 This constructor calls perform method. This constructor is deprecated. More...
 
 Approx_CurveOnSurface (const Handle< Adaptor2d_Curve2d > &theC2D, const Handle< Adaptor3d_Surface > &theSurf, const Standard_Real theFirst, const Standard_Real theLast, const Standard_Real theTol)
 This constructor does not call perform method. More...
 
Standard_Boolean IsDone () const
 
Standard_Boolean HasResult () const
 
Handle< Geom_BSplineCurveCurve3d () const
 
Standard_Real MaxError3d () const
 
Handle< Geom2d_BSplineCurveCurve2d () const
 
Standard_Real MaxError2dU () const
 
Standard_Real MaxError2dV () const
 returns the maximum errors relatively to the U component or the V component of the 2d Curve More...
 
void Perform (const Standard_Integer theMaxSegments, const Standard_Integer theMaxDegree, const GeomAbs_Shape theContinuity, const Standard_Boolean theOnly3d=Standard_False, const Standard_Boolean theOnly2d=Standard_False)
 Constructs the 3d curve. Input parameters are ignored when the input curve is U-isoline or V-isoline. More...
 

Protected Member Functions

Standard_Boolean isIsoLine (const Handle< Adaptor2d_Curve2d > theC2D, Standard_Boolean &theIsU, Standard_Real &theParam, Standard_Boolean &theIsForward) const
 Checks whether the 2d curve is a isoline. It can be represented by b-spline, bezier, or geometric line. This line should have natural parameterization. More...
 
Standard_Boolean buildC3dOnIsoLine (const Handle< Adaptor2d_Curve2d > theC2D, const Standard_Boolean theIsU, const Standard_Real theParam, const Standard_Boolean theIsForward)
 Builds 3D curve for a isoline. This method takes corresponding isoline from the input surface. More...
 

Detailed Description

Approximation of curve on surface.

Constructor & Destructor Documentation

◆ Approx_CurveOnSurface() [1/2]

Approx_CurveOnSurface::Approx_CurveOnSurface ( const Handle< Adaptor2d_Curve2d > &  C2D,
const Handle< Adaptor3d_Surface > &  Surf,
const Standard_Real  First,
const Standard_Real  Last,
const Standard_Real  Tol,
const GeomAbs_Shape  Continuity,
const Standard_Integer  MaxDegree,
const Standard_Integer  MaxSegments,
const Standard_Boolean  Only3d = Standard_False,
const Standard_Boolean  Only2d = Standard_False 
)

This constructor calls perform method. This constructor is deprecated.

Deprecated:
("This constructor is deprecated. Use other constructor and perform method instead.")

◆ Approx_CurveOnSurface() [2/2]

Approx_CurveOnSurface::Approx_CurveOnSurface ( const Handle< Adaptor2d_Curve2d > &  theC2D,
const Handle< Adaptor3d_Surface > &  theSurf,
const Standard_Real  theFirst,
const Standard_Real  theLast,
const Standard_Real  theTol 
)

This constructor does not call perform method.

Parameters
theC2D2D Curve to be approximated in 3D.
theSurfSurface where 2D curve is located.
theFirstFirst parameter of resulting curve.
theFirstLast parameter of resulting curve.
theTolComputation tolerance.

Member Function Documentation

◆ buildC3dOnIsoLine()

Standard_Boolean Approx_CurveOnSurface::buildC3dOnIsoLine ( const Handle< Adaptor2d_Curve2d theC2D,
const Standard_Boolean  theIsU,
const Standard_Real  theParam,
const Standard_Boolean  theIsForward 
)
protected

Builds 3D curve for a isoline. This method takes corresponding isoline from the input surface.

Parameters
theC2DTrimmed curve to be approximated.
theIsUFlag indicating that line is u const.
theParamLine parameter.
theIsForwardFlag indicating forward parameterization on a isoline.
Returns
Standard_True when 3d curve is built and Standard_False otherwise.

◆ Curve2d()

Handle< Geom2d_BSplineCurve > Approx_CurveOnSurface::Curve2d ( ) const

◆ Curve3d()

Handle< Geom_BSplineCurve > Approx_CurveOnSurface::Curve3d ( ) const

◆ HasResult()

Standard_Boolean Approx_CurveOnSurface::HasResult ( ) const

◆ IsDone()

Standard_Boolean Approx_CurveOnSurface::IsDone ( ) const

◆ isIsoLine()

Standard_Boolean Approx_CurveOnSurface::isIsoLine ( const Handle< Adaptor2d_Curve2d theC2D,
Standard_Boolean theIsU,
Standard_Real theParam,
Standard_Boolean theIsForward 
) const
protected

Checks whether the 2d curve is a isoline. It can be represented by b-spline, bezier, or geometric line. This line should have natural parameterization.

Parameters
theC2DTrimmed curve to be checked.
theIsUFlag indicating that line is u const.
theParamLine parameter.
theIsForwardFlag indicating forward parameterization on a isoline.
Returns
Standard_True when 2d curve is a line and Standard_False otherwise.

◆ MaxError2dU()

Standard_Real Approx_CurveOnSurface::MaxError2dU ( ) const

◆ MaxError2dV()

Standard_Real Approx_CurveOnSurface::MaxError2dV ( ) const

returns the maximum errors relatively to the U component or the V component of the 2d Curve

◆ MaxError3d()

Standard_Real Approx_CurveOnSurface::MaxError3d ( ) const

◆ Perform()

void Approx_CurveOnSurface::Perform ( const Standard_Integer  theMaxSegments,
const Standard_Integer  theMaxDegree,
const GeomAbs_Shape  theContinuity,
const Standard_Boolean  theOnly3d = Standard_False,
const Standard_Boolean  theOnly2d = Standard_False 
)

Constructs the 3d curve. Input parameters are ignored when the input curve is U-isoline or V-isoline.

Parameters
theMaxSegmentsMaximal number of segments in the resulting spline.
theMaxDegreeMaximal degree of the result.
theContinuityResulting continuity.
theOnly3dDetermines building only 3D curve.
theOnly2dDetermines building only 2D curve.

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