Open CASCADE Technology 6.6.0
Data Structures
GCPnts_TangentialDeflection.hxx File Reference
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>
#include <Standard_Real.hxx>
#include <Standard_Integer.hxx>
#include <TColgp_SequenceOfPnt.hxx>
#include <TColStd_SequenceOfReal.hxx>
#include <Standard_Boolean.hxx>
#include <gp_Pnt.hxx>
#include <GCPnts_TangentialDeflection.lxx>

Data Structures

class  GCPnts_TangentialDeflection
 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);
}

More...
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines