Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions
GeomLProp_SLPropsBase< SurfaceType, Access > Class Template Reference

Template class for computing local properties of a 3D surface: point, first and second derivatives, tangent directions, normal, and curvature analysis (max, min, mean, Gaussian). More...

#include <GeomLProp_SLProps.hxx>

Public Member Functions

 GeomLProp_SLPropsBase (const SurfaceType &S, const double U, const double V, const int N, const double Resolution)
 Initializes the local properties of the surface for the parameter values (, <V>). 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, or 2). 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_SLPropsBase (const SurfaceType &S, const int N, const double Resolution)
 idem as previous constructor but without setting the value of parameters and <V>.
 
 GeomLProp_SLPropsBase (const int N, const double Resolution)
 idem as previous constructor but without setting the value of parameters and <V> and the surface. the surface can have an empty constructor.
 
void SetSurface (const SurfaceType &S)
 Initializes the local properties of the surface S for the new surface.
 
void SetParameters (const double U, const double V)
 Initializes the local properties of the surface S for the new parameter values (, <V>).
 
const gp_PntValue () const
 Returns the point.
 
const gp_VecD1U ()
 Returns the first U derivative. The derivative is computed if it has not been yet.
 
const gp_VecD1V ()
 Returns the first V derivative. The derivative is computed if it has not been yet.
 
const gp_VecD2U ()
 Returns the second U derivatives The derivative is computed if it has not been yet.
 
const gp_VecD2V ()
 Returns the second V derivative. The derivative is computed if it has not been yet.
 
const gp_VecDUV ()
 Returns the second UV cross-derivative. The derivative is computed if it has not been yet.
 
bool IsTangentUDefined ()
 returns True if the U tangent is defined. For example, the tangent is not defined if the two first U derivatives are null.
 
void TangentU (gp_Dir &D)
 Returns the tangent direction <D> on the iso-V.
 
bool IsTangentVDefined ()
 returns if the V tangent is defined. For example, the tangent is not defined if the two first V derivatives are null.
 
void TangentV (gp_Dir &D)
 Returns the tangent direction <D> on the iso-V.
 
bool IsNormalDefined ()
 Tells if the normal is defined.
 
const gp_DirNormal ()
 Returns the normal direction.
 
bool IsCurvatureDefined ()
 returns True if the curvature is defined.
 
bool IsUmbilic ()
 returns True if the point is umbilic (i.e. if the curvature is constant).
 
double MaxCurvature ()
 Returns the maximum curvature.
 
double MinCurvature ()
 Returns the minimum curvature.
 
void CurvatureDirections (gp_Dir &MaxD, gp_Dir &MinD)
 Returns the direction of the maximum and minimum curvature <MaxD> and <MinD>
 
double MeanCurvature ()
 Returns the mean curvature.
 
double GaussianCurvature ()
 Returns the Gaussian curvature.
 

Detailed Description

template<typename SurfaceType, typename Access = LProp_SurfaceUtils::DirectAccess>
class GeomLProp_SLPropsBase< SurfaceType, Access >

Template class for computing local properties of a 3D surface: point, first and second derivatives, tangent directions, normal, and curvature analysis (max, min, mean, Gaussian).

Template Parameters
SurfaceTypethe surface storage type (e.g. occ::handle<Geom_Surface>, BRepAdaptor_Surface, occ::handle<Adaptor3d_Surface>, HLRBRep_SurfacePtr)
Accessthe access policy for evaluating surface derivatives

Constructor & Destructor Documentation

◆ GeomLProp_SLPropsBase() [1/3]

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
GeomLProp_SLPropsBase< SurfaceType, Access >::GeomLProp_SLPropsBase ( const SurfaceType & S,
const double U,
const double V,
const int N,
const double Resolution )
inline

Initializes the local properties of the surface for the parameter values (, <V>). 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, or 2). 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_SLPropsBase() [2/3]

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
GeomLProp_SLPropsBase< SurfaceType, Access >::GeomLProp_SLPropsBase ( const SurfaceType & S,
const int N,
const double Resolution )
inline

idem as previous constructor but without setting the value of parameters and <V>.

◆ GeomLProp_SLPropsBase() [3/3]

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
GeomLProp_SLPropsBase< SurfaceType, Access >::GeomLProp_SLPropsBase ( const int N,
const double Resolution )
inline

idem as previous constructor but without setting the value of parameters and <V> and the surface. the surface can have an empty constructor.

Member Function Documentation

◆ CurvatureDirections()

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
void GeomLProp_SLPropsBase< SurfaceType, Access >::CurvatureDirections ( gp_Dir & MaxD,
gp_Dir & MinD )
inline

Returns the direction of the maximum and minimum curvature <MaxD> and <MinD>

◆ D1U()

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
const gp_Vec & GeomLProp_SLPropsBase< SurfaceType, Access >::D1U ( )
inline

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

◆ D1V()

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
const gp_Vec & GeomLProp_SLPropsBase< SurfaceType, Access >::D1V ( )
inline

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

◆ D2U()

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
const gp_Vec & GeomLProp_SLPropsBase< SurfaceType, Access >::D2U ( )
inline

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

◆ D2V()

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
const gp_Vec & GeomLProp_SLPropsBase< SurfaceType, Access >::D2V ( )
inline

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

◆ DUV()

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
const gp_Vec & GeomLProp_SLPropsBase< SurfaceType, Access >::DUV ( )
inline

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

◆ GaussianCurvature()

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
double GeomLProp_SLPropsBase< SurfaceType, Access >::GaussianCurvature ( )
inline

Returns the Gaussian curvature.

◆ IsCurvatureDefined()

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
bool GeomLProp_SLPropsBase< SurfaceType, Access >::IsCurvatureDefined ( )
inline

returns True if the curvature is defined.

◆ IsNormalDefined()

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
bool GeomLProp_SLPropsBase< SurfaceType, Access >::IsNormalDefined ( )
inline

Tells if the normal is defined.

◆ IsTangentUDefined()

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
bool GeomLProp_SLPropsBase< SurfaceType, Access >::IsTangentUDefined ( )
inline

returns True if the U tangent is defined. For example, the tangent is not defined if the two first U derivatives are null.

◆ IsTangentVDefined()

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
bool GeomLProp_SLPropsBase< SurfaceType, Access >::IsTangentVDefined ( )
inline

returns if the V tangent is defined. For example, the tangent is not defined if the two first V derivatives are null.

◆ IsUmbilic()

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
bool GeomLProp_SLPropsBase< SurfaceType, Access >::IsUmbilic ( )
inline

returns True if the point is umbilic (i.e. if the curvature is constant).

◆ MaxCurvature()

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
double GeomLProp_SLPropsBase< SurfaceType, Access >::MaxCurvature ( )
inline

Returns the maximum curvature.

◆ MeanCurvature()

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
double GeomLProp_SLPropsBase< SurfaceType, Access >::MeanCurvature ( )
inline

Returns the mean curvature.

◆ MinCurvature()

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
double GeomLProp_SLPropsBase< SurfaceType, Access >::MinCurvature ( )
inline

Returns the minimum curvature.

◆ Normal()

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
const gp_Dir & GeomLProp_SLPropsBase< SurfaceType, Access >::Normal ( )
inline

Returns the normal direction.

◆ SetParameters()

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
void GeomLProp_SLPropsBase< SurfaceType, Access >::SetParameters ( const double U,
const double V )
inline

Initializes the local properties of the surface S for the new parameter values (, <V>).

◆ SetSurface()

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
void GeomLProp_SLPropsBase< SurfaceType, Access >::SetSurface ( const SurfaceType & S)
inline

Initializes the local properties of the surface S for the new surface.

◆ TangentU()

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
void GeomLProp_SLPropsBase< SurfaceType, Access >::TangentU ( gp_Dir & D)
inline

Returns the tangent direction <D> on the iso-V.

◆ TangentV()

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
void GeomLProp_SLPropsBase< SurfaceType, Access >::TangentV ( gp_Dir & D)
inline

Returns the tangent direction <D> on the iso-V.

◆ Value()

template<typename SurfaceType , typename Access = LProp_SurfaceUtils::DirectAccess>
const gp_Pnt & GeomLProp_SLPropsBase< SurfaceType, Access >::Value ( ) const
inline

Returns the point.


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