Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions
GCPnts_TangentialDeflection Class Reference

Computes a set of points on a curve from package
Adaptor3d such as between two successive points
P1(u1)and P2(u2) :

. ||P1P3^P3P2||/||P1P3||*||P3P2||<AngularDeflection
. ||P1P2^P1P3||/||P1P2||*||P1P3||<CurvatureDeflection

where P3 is the point of abscissa ((u1+u2)/2), with
u1 the abscissa of the point P1 and u2 the abscissa
of the point P2.

^ is the cross product of two vectors, and ||P1P2||
the magnitude of the vector P1P2.

The conditions AngularDeflection > gp::Resolution()
and CurvatureDeflection > gp::Resolution() must be
satisfied at the construction time.

A minimum number of points can be fixed for a
linear or circular element.
Example:
Handle(Geom_BezierCurve) C = new Geom_BezierCurve (Poles);
GeomAdaptor_Curve Curve (C);
Real CDeflect = 0.01; //Curvature deflection
Real ADeflect = 0.09; //Angular deflection

GCPnts_TangentialDeflection PointsOnCurve;
PointsOnCurve.Initialize (Curve, ADeflect, CDeflect);

Real U;
gp_Pnt P;
for (Integer i=1; i<=PointsOnCurve.NbPoints();i++) {
U = PointsOnCurve.Parameter (i);
P = PointsOnCurve.Value (i);
}

#include <GCPnts_TangentialDeflection.hxx>

Public Member Functions

DEFINE_STANDARD_ALLOC GCPnts_TangentialDeflection ()
 GCPnts_TangentialDeflection (const Adaptor3d_Curve &C, const Standard_Real AngularDeflection, const Standard_Real CurvatureDeflection, const Standard_Integer MinimumOfPoints=2, const Standard_Real UTol=1.0e-9)
 GCPnts_TangentialDeflection (const Adaptor3d_Curve &C, const Standard_Real FirstParameter, const Standard_Real LastParameter, const Standard_Real AngularDeflection, const Standard_Real CurvatureDeflection, const Standard_Integer MinimumOfPoints=2, const Standard_Real UTol=1.0e-9)
 GCPnts_TangentialDeflection (const Adaptor2d_Curve2d &C, const Standard_Real AngularDeflection, const Standard_Real CurvatureDeflection, const Standard_Integer MinimumOfPoints=2, const Standard_Real UTol=1.0e-9)
 GCPnts_TangentialDeflection (const Adaptor2d_Curve2d &C, const Standard_Real FirstParameter, const Standard_Real LastParameter, const Standard_Real AngularDeflection, const Standard_Real CurvatureDeflection, const Standard_Integer MinimumOfPoints=2, const Standard_Real UTol=1.0e-9)
void Initialize (const Adaptor3d_Curve &C, const Standard_Real AngularDeflection, const Standard_Real CurvatureDeflection, const Standard_Integer MinimumOfPoints=2, const Standard_Real UTol=1.0e-9)
void Initialize (const Adaptor3d_Curve &C, const Standard_Real FirstParameter, const Standard_Real LastParameter, const Standard_Real AngularDeflection, const Standard_Real CurvatureDeflection, const Standard_Integer MinimumOfPoints=2, const Standard_Real UTol=1.0e-9)
void Initialize (const Adaptor2d_Curve2d &C, const Standard_Real AngularDeflection, const Standard_Real CurvatureDeflection, const Standard_Integer MinimumOfPoints=2, const Standard_Real UTol=1.0e-9)
void Initialize (const Adaptor2d_Curve2d &C, const Standard_Real FirstParameter, const Standard_Real LastParameter, const Standard_Real AngularDeflection, const Standard_Real CurvatureDeflection, const Standard_Integer MinimumOfPoints=2, const Standard_Real UTol=1.0e-9)
Standard_Integer AddPoint (const gp_Pnt &thePnt, const Standard_Real theParam, const Standard_Boolean theIsReplace=Standard_True)
 Add point to already calculated points (or replace existing)
Returns index of new added point
or founded with parametric tolerance (replaced if theIsReplace is true)

Standard_Integer NbPoints () const
Standard_Real Parameter (const Standard_Integer I) const
gp_Pnt Value (const Standard_Integer I) const

Constructor & Destructor Documentation

GCPnts_TangentialDeflection::GCPnts_TangentialDeflection ( const Adaptor3d_Curve C,
const Standard_Real  AngularDeflection,
const Standard_Real  CurvatureDeflection,
const Standard_Integer  MinimumOfPoints = 2,
const Standard_Real  UTol = 1.0e-9 
)
GCPnts_TangentialDeflection::GCPnts_TangentialDeflection ( const Adaptor3d_Curve C,
const Standard_Real  FirstParameter,
const Standard_Real  LastParameter,
const Standard_Real  AngularDeflection,
const Standard_Real  CurvatureDeflection,
const Standard_Integer  MinimumOfPoints = 2,
const Standard_Real  UTol = 1.0e-9 
)
GCPnts_TangentialDeflection::GCPnts_TangentialDeflection ( const Adaptor2d_Curve2d C,
const Standard_Real  AngularDeflection,
const Standard_Real  CurvatureDeflection,
const Standard_Integer  MinimumOfPoints = 2,
const Standard_Real  UTol = 1.0e-9 
)
GCPnts_TangentialDeflection::GCPnts_TangentialDeflection ( const Adaptor2d_Curve2d C,
const Standard_Real  FirstParameter,
const Standard_Real  LastParameter,
const Standard_Real  AngularDeflection,
const Standard_Real  CurvatureDeflection,
const Standard_Integer  MinimumOfPoints = 2,
const Standard_Real  UTol = 1.0e-9 
)

Member Function Documentation

void GCPnts_TangentialDeflection::Initialize ( const Adaptor3d_Curve C,
const Standard_Real  AngularDeflection,
const Standard_Real  CurvatureDeflection,
const Standard_Integer  MinimumOfPoints = 2,
const Standard_Real  UTol = 1.0e-9 
)
void GCPnts_TangentialDeflection::Initialize ( const Adaptor3d_Curve C,
const Standard_Real  FirstParameter,
const Standard_Real  LastParameter,
const Standard_Real  AngularDeflection,
const Standard_Real  CurvatureDeflection,
const Standard_Integer  MinimumOfPoints = 2,
const Standard_Real  UTol = 1.0e-9 
)
void GCPnts_TangentialDeflection::Initialize ( const Adaptor2d_Curve2d C,
const Standard_Real  AngularDeflection,
const Standard_Real  CurvatureDeflection,
const Standard_Integer  MinimumOfPoints = 2,
const Standard_Real  UTol = 1.0e-9 
)
void GCPnts_TangentialDeflection::Initialize ( const Adaptor2d_Curve2d C,
const Standard_Real  FirstParameter,
const Standard_Real  LastParameter,
const Standard_Real  AngularDeflection,
const Standard_Real  CurvatureDeflection,
const Standard_Integer  MinimumOfPoints = 2,
const Standard_Real  UTol = 1.0e-9 
)

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