Visual Computing Library  devel
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

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

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.

◆ deserialize()

template<typename Scalar >
void vcl::PrincipalCurvature< Scalar >::deserialize ( std::istream &  is)
inline

Deserializes the principal curvature from the given input stream.

Parameters
[in]isThe input stream.

◆ 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.

◆ serialize()

template<typename Scalar >
void vcl::PrincipalCurvature< Scalar >::serialize ( std::ostream &  os) const
inline

Serializes the principal curvature to the given output stream.

Parameters
[in]osThe output stream.

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