// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _CPnts_UniformDeflection_HeaderFile #define _CPnts_UniformDeflection_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Standard_Address_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _gp_Pnt_HeaderFile #include #endif class Standard_DomainError; class StdFail_NotDone; class Standard_OutOfRange; class Adaptor3d_Curve; class Adaptor2d_Curve2d; //! This classe defines an algorithm to create a set of points at the
//! positions of constant deflection of a given curve or a trimmed
//! circle.
//! The continuity of the curve must be at least C2.
class CPnts_UniformDeflection { public: void* operator new(size_t,void* anAddress) { return anAddress; } void* operator new(size_t size) { return Standard::Allocate(size); } void operator delete(void *anAddress) { if (anAddress) Standard::Free((Standard_Address&)anAddress); } //! creation of a indefinite UniformDeflection
Standard_EXPORT CPnts_UniformDeflection(); //! Computes a uniform deflection distribution of points
//! on the curve .
//! defines the constant deflection value.
//! The algorithm computes the number of points and the points.
//! The curve must be at least C2 else the computation can fail.
//! If just some parts of the curve is C2 it is better to give the
//! parameters bounds and to use the below constructor .
//! if is True, the algorithm controls the estimate
//! deflection
//! when the curve is singular at the point P(u),the algorithm
//! computes the next point as
//! P(u + Max(CurrentStep,Abs(LastParameter-FirstParameter)))
//! if the singularity is at the first point ,the next point
//! calculated is the P(LastParameter)
Standard_EXPORT CPnts_UniformDeflection(const Adaptor3d_Curve& C,const Standard_Real Deflection,const Standard_Real Resolution,const Standard_Boolean WithControl); //! As above with 2d curve
Standard_EXPORT CPnts_UniformDeflection(const Adaptor2d_Curve2d& C,const Standard_Real Deflection,const Standard_Real Resolution,const Standard_Boolean WithControl); //! Computes an uniform deflection distribution of points on a part of
//! the curve . Deflection defines the step between the points.
//! and define the distribution span.
//! and must be in the parametric range of the curve.
Standard_EXPORT CPnts_UniformDeflection(const Adaptor3d_Curve& C,const Standard_Real Deflection,const Standard_Real U1,const Standard_Real U2,const Standard_Real Resolution,const Standard_Boolean WithControl); //! As above with 2d curve
Standard_EXPORT CPnts_UniformDeflection(const Adaptor2d_Curve2d& C,const Standard_Real Deflection,const Standard_Real U1,const Standard_Real U2,const Standard_Real Resolution,const Standard_Boolean WithControl); //! Initialize the algoritms with , , ,
//! and
Standard_EXPORT void Initialize(const Adaptor3d_Curve& C,const Standard_Real Deflection,const Standard_Real Resolution,const Standard_Boolean WithControl) ; //! Initialize the algoritms with , , ,
//! and
Standard_EXPORT void Initialize(const Adaptor2d_Curve2d& C,const Standard_Real Deflection,const Standard_Real Resolution,const Standard_Boolean WithControl) ; //! Initialize the algoritms with , , ,
//! , and
Standard_EXPORT void Initialize(const Adaptor3d_Curve& C,const Standard_Real Deflection,const Standard_Real U1,const Standard_Real U2,const Standard_Real Resolution,const Standard_Boolean WithControl) ; //! Initialize the algoritms with , , ,
//! , and
Standard_EXPORT void Initialize(const Adaptor2d_Curve2d& C,const Standard_Real Deflection,const Standard_Real U1,const Standard_Real U2,const Standard_Real Resolution,const Standard_Boolean WithControl) ; //! To know if all the calculus were done successfully
//! (ie all the points have been computed). The calculus can fail if
//! the Curve is not C1 in the considered domain.
//! Returns True if the calculus was successful.
Standard_Boolean IsAllDone() const; //! go to the next Point.
void Next() ; //! returns True if it exists a next Point.
Standard_EXPORT Standard_Boolean More() ; //! return the computed parameter
Standard_Real Value() const; //! return the computed parameter
gp_Pnt Point() const; protected: private: //! algorithm
Standard_EXPORT void Perform() ; Standard_Boolean myDone; Standard_Boolean my3d; Standard_Address myCurve; Standard_Boolean myFinish; Standard_Real myTolCur; Standard_Boolean myControl; Standard_Integer myIPoint; Standard_Integer myNbPoints; Standard_Real myParams[3]; gp_Pnt myPoints[3]; Standard_Real myDwmax; Standard_Real myDeflection; Standard_Real myFirstParam; Standard_Real myLastParam; Standard_Real myDu; }; #include // other Inline functions and methods (like "C++: function call" methods) #endif