Open CASCADE Technology  7.4.0
Public Member Functions

ProjLib_CompProjectedCurve Class Reference

#include <ProjLib_CompProjectedCurve.hxx>

Inheritance diagram for ProjLib_CompProjectedCurve:
Inheritance graph
[legend]

Public Member Functions

 ProjLib_CompProjectedCurve ()
 
 ProjLib_CompProjectedCurve (const Handle< Adaptor3d_HSurface > &S, const Handle< Adaptor3d_HCurve > &C, const Standard_Real TolU, const Standard_Real TolV)
 try to find all solutions More...
 
 ProjLib_CompProjectedCurve (const Handle< Adaptor3d_HSurface > &S, const Handle< Adaptor3d_HCurve > &C, const Standard_Real TolU, const Standard_Real TolV, const Standard_Real MaxDist)
 this constructor tries to optimize the search using the assumption that maximum distance between surface and curve less or equal then MaxDist. if MaxDist < 0 then algorithm works as above. More...
 
void Init ()
 computes a set of projected point and determine the continuous parts of the projected curves. The points corresponding to a projection on the bounds of the surface are included in this set of points. More...
 
void Load (const Handle< Adaptor3d_HSurface > &S)
 Changes the surface. More...
 
void Load (const Handle< Adaptor3d_HCurve > &C)
 Changes the curve. More...
 
const Handle< Adaptor3d_HSurface > & GetSurface () const
 
const Handle< Adaptor3d_HCurve > & GetCurve () const
 
void GetTolerance (Standard_Real &TolU, Standard_Real &TolV) const
 
Standard_Integer NbCurves () const
 returns the number of continuous part of the projected curve More...
 
void Bounds (const Standard_Integer Index, Standard_Real &Udeb, Standard_Real &Ufin) const
 returns the bounds of the continuous part corresponding to Index More...
 
Standard_Boolean IsSinglePnt (const Standard_Integer Index, gp_Pnt2d &P) const
 returns True if part of projection with number Index is a single point and writes its coordinates in P More...
 
Standard_Boolean IsUIso (const Standard_Integer Index, Standard_Real &U) const
 returns True if part of projection with number Index is an u-isoparametric curve of input surface More...
 
Standard_Boolean IsVIso (const Standard_Integer Index, Standard_Real &V) const
 returns True if part of projection with number Index is an v-isoparametric curve of input surface More...
 
gp_Pnt2d Value (const Standard_Real U) const override
 Computes the point of parameter U on the curve. More...
 
void D0 (const Standard_Real U, gp_Pnt2d &P) const override
 Computes the point of parameter U on the curve. More...
 
void D1 (const Standard_Real U, gp_Pnt2d &P, gp_Vec2d &V) const override
 Computes the point of parameter U on the curve with its first derivative. Raised if the continuity of the current interval is not C1. More...
 
void D2 (const Standard_Real U, gp_Pnt2d &P, gp_Vec2d &V1, gp_Vec2d &V2) const override
 Returns the point P of parameter U, the first and second derivatives V1 and V2. Raised if the continuity of the current interval is not C2. More...
 
gp_Vec2d DN (const Standard_Real U, const Standard_Integer N) const override
 The returned vector gives the value of the derivative for the order of derivation N. Raised if N < 1. Raised if N > 2. More...
 
Standard_Real FirstParameter () const override
 Returns the first parameter of the curve C which has a projection on S. More...
 
Standard_Real LastParameter () const override
 Returns the last parameter of the curve C which has a projection on S. More...
 
Standard_Integer NbIntervals (const GeomAbs_Shape S) const override
 Returns the number of intervals which define an S continuous part of the projected curve. More...
 
Handle< Adaptor2d_HCurve2dTrim (const Standard_Real FirstParam, const Standard_Real LastParam, const Standard_Real Tol) const override
 Returns a curve equivalent of <me> between parameters <First> and <Last>. <Tol> is used to test for 2d points confusion. If <First> >= <Last> More...
 
void Intervals (TColStd_Array1OfReal &T, const GeomAbs_Shape S) const override
 Returns the parameters corresponding to S discontinuities. More...
 
Standard_Real MaxDistance (const Standard_Integer Index) const
 returns the maximum distance between curve to project and surface More...
 
const Handle< ProjLib_HSequenceOfHSequenceOfPnt > & GetSequence () const
 
GeomAbs_CurveType GetType () const override
 Returns the type of the curve in the current interval : Line, Circle, Ellipse, Hyperbola, Parabola, BezierCurve, BSplineCurve, OtherCurve. More...
 
- Public Member Functions inherited from Adaptor2d_Curve2d
virtual GeomAbs_Shape Continuity () const
 
virtual Standard_Boolean IsClosed () const
 
virtual Standard_Boolean IsPeriodic () const
 
virtual Standard_Real Period () const
 
virtual void D3 (const Standard_Real U, gp_Pnt2d &P, gp_Vec2d &V1, gp_Vec2d &V2, gp_Vec2d &V3) const
 Returns the point P of parameter U, the first, the second and the third derivative. Raised if the continuity of the current interval is not C3. More...
 
virtual Standard_Real Resolution (const Standard_Real R3d) const
 Returns the parametric resolution corresponding to the real space resolution <R3d>. More...
 
virtual gp_Lin2d Line () const
 
virtual gp_Circ2d Circle () const
 
virtual gp_Elips2d Ellipse () const
 
virtual gp_Hypr2d Hyperbola () const
 
virtual gp_Parab2d Parabola () const
 
virtual Standard_Integer Degree () const
 
virtual Standard_Boolean IsRational () const
 
virtual Standard_Integer NbPoles () const
 
virtual Standard_Integer NbKnots () const
 
virtual Standard_Integer NbSamples () const
 
virtual Handle< Geom2d_BezierCurveBezier () const
 
virtual Handle< Geom2d_BSplineCurveBSpline () const
 
virtual ~Adaptor2d_Curve2d ()
 

Constructor & Destructor Documentation

◆ ProjLib_CompProjectedCurve() [1/3]

ProjLib_CompProjectedCurve::ProjLib_CompProjectedCurve ( )

◆ ProjLib_CompProjectedCurve() [2/3]

ProjLib_CompProjectedCurve::ProjLib_CompProjectedCurve ( const Handle< Adaptor3d_HSurface > &  S,
const Handle< Adaptor3d_HCurve > &  C,
const Standard_Real  TolU,
const Standard_Real  TolV 
)

try to find all solutions

◆ ProjLib_CompProjectedCurve() [3/3]

ProjLib_CompProjectedCurve::ProjLib_CompProjectedCurve ( const Handle< Adaptor3d_HSurface > &  S,
const Handle< Adaptor3d_HCurve > &  C,
const Standard_Real  TolU,
const Standard_Real  TolV,
const Standard_Real  MaxDist 
)

this constructor tries to optimize the search using the assumption that maximum distance between surface and curve less or equal then MaxDist. if MaxDist < 0 then algorithm works as above.

Member Function Documentation

◆ Bounds()

void ProjLib_CompProjectedCurve::Bounds ( const Standard_Integer  Index,
Standard_Real Udeb,
Standard_Real Ufin 
) const

returns the bounds of the continuous part corresponding to Index

◆ D0()

void ProjLib_CompProjectedCurve::D0 ( const Standard_Real  U,
gp_Pnt2d P 
) const
overridevirtual

Computes the point of parameter U on the curve.

Reimplemented from Adaptor2d_Curve2d.

◆ D1()

void ProjLib_CompProjectedCurve::D1 ( const Standard_Real  U,
gp_Pnt2d P,
gp_Vec2d V 
) const
overridevirtual

Computes the point of parameter U on the curve with its first derivative. Raised if the continuity of the current interval is not C1.

Reimplemented from Adaptor2d_Curve2d.

◆ D2()

void ProjLib_CompProjectedCurve::D2 ( const Standard_Real  U,
gp_Pnt2d P,
gp_Vec2d V1,
gp_Vec2d V2 
) const
overridevirtual

Returns the point P of parameter U, the first and second derivatives V1 and V2. Raised if the continuity of the current interval is not C2.

Reimplemented from Adaptor2d_Curve2d.

◆ DN()

gp_Vec2d ProjLib_CompProjectedCurve::DN ( const Standard_Real  U,
const Standard_Integer  N 
) const
overridevirtual

The returned vector gives the value of the derivative for the order of derivation N. Raised if N < 1. Raised if N > 2.

Reimplemented from Adaptor2d_Curve2d.

◆ FirstParameter()

Standard_Real ProjLib_CompProjectedCurve::FirstParameter ( ) const
overridevirtual

Returns the first parameter of the curve C which has a projection on S.

Reimplemented from Adaptor2d_Curve2d.

◆ GetCurve()

const Handle< Adaptor3d_HCurve >& ProjLib_CompProjectedCurve::GetCurve ( ) const

◆ GetSequence()

const Handle< ProjLib_HSequenceOfHSequenceOfPnt >& ProjLib_CompProjectedCurve::GetSequence ( ) const

◆ GetSurface()

const Handle< Adaptor3d_HSurface >& ProjLib_CompProjectedCurve::GetSurface ( ) const

◆ GetTolerance()

void ProjLib_CompProjectedCurve::GetTolerance ( Standard_Real TolU,
Standard_Real TolV 
) const

◆ GetType()

GeomAbs_CurveType ProjLib_CompProjectedCurve::GetType ( ) const
overridevirtual

Returns the type of the curve in the current interval : Line, Circle, Ellipse, Hyperbola, Parabola, BezierCurve, BSplineCurve, OtherCurve.

Reimplemented from Adaptor2d_Curve2d.

◆ Init()

void ProjLib_CompProjectedCurve::Init ( )

computes a set of projected point and determine the continuous parts of the projected curves. The points corresponding to a projection on the bounds of the surface are included in this set of points.

◆ Intervals()

void ProjLib_CompProjectedCurve::Intervals ( TColStd_Array1OfReal T,
const GeomAbs_Shape  S 
) const
overridevirtual

Returns the parameters corresponding to S discontinuities.

The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals()

Reimplemented from Adaptor2d_Curve2d.

◆ IsSinglePnt()

Standard_Boolean ProjLib_CompProjectedCurve::IsSinglePnt ( const Standard_Integer  Index,
gp_Pnt2d P 
) const

returns True if part of projection with number Index is a single point and writes its coordinates in P

◆ IsUIso()

Standard_Boolean ProjLib_CompProjectedCurve::IsUIso ( const Standard_Integer  Index,
Standard_Real U 
) const

returns True if part of projection with number Index is an u-isoparametric curve of input surface

◆ IsVIso()

Standard_Boolean ProjLib_CompProjectedCurve::IsVIso ( const Standard_Integer  Index,
Standard_Real V 
) const

returns True if part of projection with number Index is an v-isoparametric curve of input surface

◆ LastParameter()

Standard_Real ProjLib_CompProjectedCurve::LastParameter ( ) const
overridevirtual

Returns the last parameter of the curve C which has a projection on S.

Reimplemented from Adaptor2d_Curve2d.

◆ Load() [1/2]

void ProjLib_CompProjectedCurve::Load ( const Handle< Adaptor3d_HSurface > &  S)

Changes the surface.

◆ Load() [2/2]

void ProjLib_CompProjectedCurve::Load ( const Handle< Adaptor3d_HCurve > &  C)

Changes the curve.

◆ MaxDistance()

Standard_Real ProjLib_CompProjectedCurve::MaxDistance ( const Standard_Integer  Index) const

returns the maximum distance between curve to project and surface

◆ NbCurves()

Standard_Integer ProjLib_CompProjectedCurve::NbCurves ( ) const

returns the number of continuous part of the projected curve

◆ NbIntervals()

Standard_Integer ProjLib_CompProjectedCurve::NbIntervals ( const GeomAbs_Shape  S) const
overridevirtual

Returns the number of intervals which define an S continuous part of the projected curve.

Reimplemented from Adaptor2d_Curve2d.

◆ Trim()

Handle< Adaptor2d_HCurve2d > ProjLib_CompProjectedCurve::Trim ( const Standard_Real  FirstParam,
const Standard_Real  LastParam,
const Standard_Real  Tol 
) const
overridevirtual

Returns a curve equivalent of <me> between parameters <First> and <Last>. <Tol> is used to test for 2d points confusion. If <First> >= <Last>

Reimplemented from Adaptor2d_Curve2d.

◆ Value()

gp_Pnt2d ProjLib_CompProjectedCurve::Value ( const Standard_Real  U) const
overridevirtual

Computes the point of parameter U on the curve.

Reimplemented from Adaptor2d_Curve2d.


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