OCC Main Page | ModelingAlgorithms | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

ModelingAlgorithms
TKGeomAlgo
Geom2dAPI


Geom2dAPI_Interpolate Class Reference

This class is used to interpolate a BsplineCurve
passing through an array of points, with a C2
Continuity if tangency is not requested at the point.
If tangency is requested at the point the continuity will
be C1. If Perodicity is requested the curve will be closed
and the junction will be the first point given. The curve will than be only C1
The curve is defined by a table of points through which it passes, and if required
by a parallel table of reals which gives the value of the parameter of each point through
which the resulting BSpline curve passes, and by vectors tangential to these points.
An Interpolate object provides a framework for: defining the constraints of the BSpline curve,
- implementing the interpolation algorithm, and consulting the results.
.

#include <Geom2dAPI_Interpolate.hxx>


Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
Standard_EXPORT Geom2dAPI_Interpolate (const Handle(TColgp_HArray1OfPnt2d)&Points, const Standard_Boolean PeriodicFlag, const Standard_Real Tolerance)
 Tolerance is to check if the points are not too close to one an other
It is also used to check if the tangent vector is not too small.
There should be at least 2 points
if PeriodicFlag is True then the curve will be periodic.
.
Standard_EXPORT Geom2dAPI_Interpolate (const Handle(TColgp_HArray1OfPnt2d)&Points, const Handle(TColStd_HArray1OfReal)&Parameters, const Standard_Boolean PeriodicFlag, const Standard_Real Tolerance)
 if PeriodicFlag is True then the curve will be periodic
Warning:
There should be as many parameters as there are points
except if PeriodicFlag is True : then there should be one more
parameter to close the curve

Standard_EXPORT void Load (const gp_Vec2d &InitialTangent, const gp_Vec2d &FinalTangent)
 Assigns this constrained BSpline curve to be
tangential to vectors InitialTangent and FinalTangent
at its first and last points respectively (i.e.
the first and last points of the table of
points through which the curve passes, as
defined at the time of initialization).
.
Standard_EXPORT void Load (const TColgp_Array1OfVec2d &Tangents, const Handle(TColStd_HArray1OfBoolean)&TangentFlags)
 Assigns this constrained BSpline curve to be
tangential to vectors defined in the table Tangents,
which is parallel to the table of points
through which the curve passes, as
defined at the time of initialization. Vectors
in the table Tangents are defined only if
the flag given in the parallel table
TangentFlags is true: only these vectors
are set as tangency constraints.
.
Standard_EXPORT void ClearTangents ()
 Clears all tangency constraints on this
constrained BSpline curve (as initialized by the function Load).
.
Standard_EXPORT void Perform ()
 Computes the constrained BSpline curve. Use the function IsDone to verify that the
computation is successful, and then the function Curve to obtain the result.
.
Standard_EXPORT const Handle_Geom2d_BSplineCurve & Curve () const
 Returns the computed BSpline curve. Raises StdFail_NotDone if the interpolation fails.
.
Standard_EXPORT operator Handle( Geom2d_BSplineCurve () const )
Standard_EXPORT Standard_Boolean IsDone () const
 Returns true if the constrained BSpline curve is successfully constructed.
Note: in this case, the result is given by the function Curve.
.

Private Member Functions

Standard_EXPORT void PerformNonPeriodic ()
 Interpolates in a non periodic fashion
.
Standard_EXPORT void PerformPeriodic ()
 Interpolates in a C1 periodic fashion
.

Private Attributes

Standard_Real myTolerance
Handle_TColgp_HArray1OfPnt2d myPoints
Standard_Boolean myIsDone
Handle_Geom2d_BSplineCurve myCurve
Handle_TColgp_HArray1OfVec2d myTangents
Handle_TColStd_HArray1OfBoolean myTangentFlags
Handle_TColStd_HArray1OfReal myParameters
Standard_Boolean myPeriodic
Standard_Boolean myTangentRequest


Constructor & Destructor Documentation

Standard_EXPORT Geom2dAPI_Interpolate::Geom2dAPI_Interpolate const Handle(TColgp_HArray1OfPnt2d)&  Points,
const Standard_Boolean  PeriodicFlag,
const Standard_Real  Tolerance
 

Standard_EXPORT Geom2dAPI_Interpolate::Geom2dAPI_Interpolate const Handle(TColgp_HArray1OfPnt2d)&  Points,
const Handle(TColStd_HArray1OfReal)&  Parameters,
const Standard_Boolean  PeriodicFlag,
const Standard_Real  Tolerance
 


Member Function Documentation

Standard_EXPORT void Geom2dAPI_Interpolate::ClearTangents  ) 
 

Standard_EXPORT const Handle_Geom2d_BSplineCurve& Geom2dAPI_Interpolate::Curve  )  const
 

Standard_EXPORT operator Handle( Geom2dAPI_Interpolate::Geom2d_BSplineCurve  )  const
 

Standard_EXPORT Standard_Boolean Geom2dAPI_Interpolate::IsDone  )  const
 

Standard_EXPORT void Geom2dAPI_Interpolate::Load const TColgp_Array1OfVec2d &  Tangents,
const Handle(TColStd_HArray1OfBoolean)&  TangentFlags
 

Standard_EXPORT void Geom2dAPI_Interpolate::Load const gp_Vec2d &  InitialTangent,
const gp_Vec2d &  FinalTangent
 

void Geom2dAPI_Interpolate::operator delete void *  anAddress  )  [inline]
 

void* Geom2dAPI_Interpolate::operator new size_t  size  )  [inline]
 

void* Geom2dAPI_Interpolate::operator new size_t  ,
void *  anAddress
[inline]
 

Standard_EXPORT void Geom2dAPI_Interpolate::Perform  ) 
 

Standard_EXPORT void Geom2dAPI_Interpolate::PerformNonPeriodic  )  [private]
 

Standard_EXPORT void Geom2dAPI_Interpolate::PerformPeriodic  )  [private]
 


Field Documentation

Handle_Geom2d_BSplineCurve Geom2dAPI_Interpolate::myCurve [private]
 

Standard_Boolean Geom2dAPI_Interpolate::myIsDone [private]
 

Handle_TColStd_HArray1OfReal Geom2dAPI_Interpolate::myParameters [private]
 

Standard_Boolean Geom2dAPI_Interpolate::myPeriodic [private]
 

Handle_TColgp_HArray1OfPnt2d Geom2dAPI_Interpolate::myPoints [private]
 

Handle_TColStd_HArray1OfBoolean Geom2dAPI_Interpolate::myTangentFlags [private]
 

Standard_Boolean Geom2dAPI_Interpolate::myTangentRequest [private]
 

Handle_TColgp_HArray1OfVec2d Geom2dAPI_Interpolate::myTangents [private]
 

Standard_Real Geom2dAPI_Interpolate::myTolerance [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 13:41:46 2008 for OpenCASCADE by  doxygen 1.4.1