Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions
GeomLProp_CLPropsBase< Pnt, Vec, Dir, CurveType, Access > Class Template Reference

Implementation class for computing local properties of a curve: point, derivatives up to order 3, tangent, curvature, normal, and centre of curvature. Parameterized by geometric types (Pnt/Vec/Dir) and curve type. More...

#include <GeomLProp_CLProps.hxx>

Public Member Functions

 GeomLProp_CLPropsBase (const CurveType &C, const int N, const double Resolution)
 Initializes the local properties of the curve The current point and the derivatives are computed at the same time, which allows an optimization of the computation time. <N> indicates the maximum number of derivations to be done (0, 1, 2 or 3). For example, to compute only the tangent, N should be equal to 1. <Resolution> is the linear tolerance (it is used to test if a vector is null).
 
 GeomLProp_CLPropsBase (const CurveType &C, const double U, const int N, const double Resolution)
 Same as previous constructor but here the parameter is set to the value . All the computations done will be related to and .
 
 GeomLProp_CLPropsBase (const int N, const double Resolution)
 Same as previous constructor but here the parameter is set to the value and the curve is set with SetCurve. the curve can have a empty constructor All the computations done will be related to and when the functions "set" will be done.
 
void SetParameter (const double U)
 Initializes the local properties of the curve for the parameter value .
 
void SetCurve (const CurveType &C)
 Initializes the local properties of the curve for the new curve.
 
const Pnt & Value () const
 Returns the Point.
 
const Vec & D1 ()
 Returns the first derivative. The derivative is computed if it has not been yet.
 
const Vec & D2 ()
 Returns the second derivative. The derivative is computed if it has not been yet.
 
const Vec & D3 ()
 Returns the third derivative. The derivative is computed if it has not been yet.
 
bool IsTangentDefined ()
 Returns True if the tangent is defined. For example, the tangent is not defined if the three first derivatives are all null.
 
void Tangent (Dir &D)
 output the tangent direction <D>.
 
double Curvature ()
 Returns the curvature.
 
void Normal (Dir &N)
 Returns the normal direction <N>.
 
void CentreOfCurvature (Pnt &P)
 Returns the centre of curvature.
 

Detailed Description

template<typename Pnt, typename Vec, typename Dir, typename CurveType, typename Access = LProp_CurveUtils::DirectAccess>
class GeomLProp_CLPropsBase< Pnt, Vec, Dir, CurveType, Access >

Implementation class for computing local properties of a curve: point, derivatives up to order 3, tangent, curvature, normal, and centre of curvature. Parameterized by geometric types (Pnt/Vec/Dir) and curve type.

Template Parameters
Pntthe point type (gp_Pnt for 3D, gp_Pnt2d for 2D)
Vecthe vector type (gp_Vec for 3D, gp_Vec2d for 2D)
Dirthe direction type (gp_Dir for 3D, gp_Dir2d for 2D)
CurveTypethe curve storage type
Accessthe access policy for evaluating curve derivatives

Constructor & Destructor Documentation

◆ GeomLProp_CLPropsBase() [1/3]

template<typename Pnt , typename Vec , typename Dir , typename CurveType , typename Access = LProp_CurveUtils::DirectAccess>
GeomLProp_CLPropsBase< Pnt, Vec, Dir, CurveType, Access >::GeomLProp_CLPropsBase ( const CurveType & C,
const int N,
const double Resolution )
inline

Initializes the local properties of the curve The current point and the derivatives are computed at the same time, which allows an optimization of the computation time. <N> indicates the maximum number of derivations to be done (0, 1, 2 or 3). For example, to compute only the tangent, N should be equal to 1. <Resolution> is the linear tolerance (it is used to test if a vector is null).

◆ GeomLProp_CLPropsBase() [2/3]

template<typename Pnt , typename Vec , typename Dir , typename CurveType , typename Access = LProp_CurveUtils::DirectAccess>
GeomLProp_CLPropsBase< Pnt, Vec, Dir, CurveType, Access >::GeomLProp_CLPropsBase ( const CurveType & C,
const double U,
const int N,
const double Resolution )
inline

Same as previous constructor but here the parameter is set to the value . All the computations done will be related to and .

◆ GeomLProp_CLPropsBase() [3/3]

template<typename Pnt , typename Vec , typename Dir , typename CurveType , typename Access = LProp_CurveUtils::DirectAccess>
GeomLProp_CLPropsBase< Pnt, Vec, Dir, CurveType, Access >::GeomLProp_CLPropsBase ( const int N,
const double Resolution )
inline

Same as previous constructor but here the parameter is set to the value and the curve is set with SetCurve. the curve can have a empty constructor All the computations done will be related to and when the functions "set" will be done.

Member Function Documentation

◆ CentreOfCurvature()

template<typename Pnt , typename Vec , typename Dir , typename CurveType , typename Access = LProp_CurveUtils::DirectAccess>
void GeomLProp_CLPropsBase< Pnt, Vec, Dir, CurveType, Access >::CentreOfCurvature ( Pnt & P)
inline

Returns the centre of curvature.

.

◆ Curvature()

template<typename Pnt , typename Vec , typename Dir , typename CurveType , typename Access = LProp_CurveUtils::DirectAccess>
double GeomLProp_CLPropsBase< Pnt, Vec, Dir, CurveType, Access >::Curvature ( )
inline

Returns the curvature.

◆ D1()

template<typename Pnt , typename Vec , typename Dir , typename CurveType , typename Access = LProp_CurveUtils::DirectAccess>
const Vec & GeomLProp_CLPropsBase< Pnt, Vec, Dir, CurveType, Access >::D1 ( )
inline

Returns the first derivative. The derivative is computed if it has not been yet.

◆ D2()

template<typename Pnt , typename Vec , typename Dir , typename CurveType , typename Access = LProp_CurveUtils::DirectAccess>
const Vec & GeomLProp_CLPropsBase< Pnt, Vec, Dir, CurveType, Access >::D2 ( )
inline

Returns the second derivative. The derivative is computed if it has not been yet.

◆ D3()

template<typename Pnt , typename Vec , typename Dir , typename CurveType , typename Access = LProp_CurveUtils::DirectAccess>
const Vec & GeomLProp_CLPropsBase< Pnt, Vec, Dir, CurveType, Access >::D3 ( )
inline

Returns the third derivative. The derivative is computed if it has not been yet.

◆ IsTangentDefined()

template<typename Pnt , typename Vec , typename Dir , typename CurveType , typename Access = LProp_CurveUtils::DirectAccess>
bool GeomLProp_CLPropsBase< Pnt, Vec, Dir, CurveType, Access >::IsTangentDefined ( )
inline

Returns True if the tangent is defined. For example, the tangent is not defined if the three first derivatives are all null.

◆ Normal()

template<typename Pnt , typename Vec , typename Dir , typename CurveType , typename Access = LProp_CurveUtils::DirectAccess>
void GeomLProp_CLPropsBase< Pnt, Vec, Dir, CurveType, Access >::Normal ( Dir & N)
inline

Returns the normal direction <N>.

◆ SetCurve()

template<typename Pnt , typename Vec , typename Dir , typename CurveType , typename Access = LProp_CurveUtils::DirectAccess>
void GeomLProp_CLPropsBase< Pnt, Vec, Dir, CurveType, Access >::SetCurve ( const CurveType & C)
inline

Initializes the local properties of the curve for the new curve.

◆ SetParameter()

template<typename Pnt , typename Vec , typename Dir , typename CurveType , typename Access = LProp_CurveUtils::DirectAccess>
void GeomLProp_CLPropsBase< Pnt, Vec, Dir, CurveType, Access >::SetParameter ( const double U)
inline

Initializes the local properties of the curve for the parameter value .

◆ Tangent()

template<typename Pnt , typename Vec , typename Dir , typename CurveType , typename Access = LProp_CurveUtils::DirectAccess>
void GeomLProp_CLPropsBase< Pnt, Vec, Dir, CurveType, Access >::Tangent ( Dir & D)
inline

output the tangent direction <D>.

◆ Value()

template<typename Pnt , typename Vec , typename Dir , typename CurveType , typename Access = LProp_CurveUtils::DirectAccess>
const Pnt & GeomLProp_CLPropsBase< Pnt, Vec, Dir, CurveType, Access >::Value ( ) const
inline

Returns the Point.


The documentation for this class was generated from the following file: