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 |
| 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 |
( |
| ) |
|
Member Function Documentation
The documentation for this class was generated from the following file: