Visual Computing Library
Loading...
Searching...
No Matches
vcl::PrincipalCurvature< Scalar > Class Template Reference

The PrincipalCurvature class stores the principal curvature directions and values at a point on a 3D surface. More...

#include <vclib/space/core/principal_curvature.h>

Public Types

using ScalarType = Scalar
 The scalar type of the curvature values.
 

Public Member Functions

 PrincipalCurvature ()
 Empty constructor. Directions and values are set to 0.
 
template<typename S >
auto cast () const
 Casts the PrincipalCurvature object to a different scalar type.
 
const Point3< Scalar > & maxDir () const
 Returns a const reference to the maximum curvature direction.
 
Point3< Scalar > & maxDir ()
 Returns a reference to the maximum curvature direction.
 
const Point3< Scalar > & minDir () const
 Returns a const reference to the minimum curvature direction.
 
Point3< Scalar > & minDir ()
 Returns a reference to the minimum curvature direction.
 
const Scalar & maxValue () const
 Returns a const reference to the maximum curvature value.
 
Scalar & maxValue ()
 Returns a reference to the maximum curvature value.
 
const Scalar & minValue () const
 Returns a const reference to the minimum curvature value.
 
Scalar & minValue ()
 Returns a reference to the minimum curvature value.
 
void serialize (std::ostream &os) const
 
void deserialize (std::istream &is)
 

Private Attributes

Point3< Scalar > mDir1
 
Point3< Scalar > mDir2
 
Scalar mK1 = 0
 
Scalar mK2 = 0
 

Detailed Description

template<typename Scalar>
class vcl::PrincipalCurvature< Scalar >

The PrincipalCurvature class stores the principal curvature directions and values at a point on a 3D surface.

It stores the two principal curvature directions (maxDir() and minDir(), also note as k1 and k2 respectively) and the maximum and minimum values of the curvature (maxValue() and minValue()).

Template Parameters
ScalarThe scalar type of the curvature values.

Member Function Documentation

◆ cast()

template<typename Scalar >
template<typename S >
auto vcl::PrincipalCurvature< Scalar >::cast ( ) const
inline

Casts the PrincipalCurvature object to a different scalar type.

The function returns a new PrincipalCurvature object with each scalar value casted to a different type.

Template Parameters
SThe scalar type to cast to.
Returns
A new PrincipalCurvature object with each scalar value casted to a different type.

◆ maxDir() [1/2]

template<typename Scalar >
Point3< Scalar > & vcl::PrincipalCurvature< Scalar >::maxDir ( )
inline

Returns a reference to the maximum curvature direction.

Returns
A reference to the maximum curvature direction.

◆ maxDir() [2/2]

template<typename Scalar >
const Point3< Scalar > & vcl::PrincipalCurvature< Scalar >::maxDir ( ) const
inline

Returns a const reference to the maximum curvature direction.

Returns
A const reference to the maximum curvature direction.

◆ maxValue() [1/2]

template<typename Scalar >
Scalar & vcl::PrincipalCurvature< Scalar >::maxValue ( )
inline

Returns a reference to the maximum curvature value.

Returns
A reference to the maximum curvature value.

◆ maxValue() [2/2]

template<typename Scalar >
const Scalar & vcl::PrincipalCurvature< Scalar >::maxValue ( ) const
inline

Returns a const reference to the maximum curvature value.

Returns
A const reference to the maximum curvature value.

◆ minDir() [1/2]

template<typename Scalar >
Point3< Scalar > & vcl::PrincipalCurvature< Scalar >::minDir ( )
inline

Returns a reference to the minimum curvature direction.

Returns
A reference to the minimum curvature direction.

◆ minDir() [2/2]

template<typename Scalar >
const Point3< Scalar > & vcl::PrincipalCurvature< Scalar >::minDir ( ) const
inline

Returns a const reference to the minimum curvature direction.

Returns
A const reference to the minimum curvature direction.

◆ minValue() [1/2]

template<typename Scalar >
Scalar & vcl::PrincipalCurvature< Scalar >::minValue ( )
inline

Returns a reference to the minimum curvature value.

Returns
A reference to the minimum curvature value.

◆ minValue() [2/2]

template<typename Scalar >
const Scalar & vcl::PrincipalCurvature< Scalar >::minValue ( ) const
inline

Returns a const reference to the minimum curvature value.

Returns
A const reference to the minimum curvature value.

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