Computes a set of points on a curve from package <br>
Adaptor3d such as between two successive points <br>
P1(u1)and P2(u2) : <br>
. ||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);
}
More...
#include <GCPnts_TangentialDeflection.hxx>
|
| | 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)
More...
|
| |
| Standard_Integer | NbPoints () const |
| |
| Standard_Real | Parameter (const Standard_Integer I) const |
| |
| gp_Pnt | Value (const Standard_Integer I) const |
| |
Computes a set of points on a curve from package <br>
Adaptor3d such as between two successive points <br>
P1(u1)and P2(u2) : <br>
. ||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);
}
| GCPnts_TangentialDeflection::GCPnts_TangentialDeflection |
( |
| ) |
|
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)
The documentation for this class was generated from the following file: