ITK  6.0.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint > Class Template Reference

#include <itkQuadEdgeMeshDecimationQuadricElementHelper.h>

Detailed Description

template<typename TPoint>
class itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >

TODO explicit specification for VDimension=3!!!

Definition at line 32 of file itkQuadEdgeMeshDecimationQuadricElementHelper.h.

Public Types

using CoefficientVectorType = vnl_vector_fixed< CoordType, Self::NumberOfCoefficients >
 
using CoordType = typename PointType::CoordRepType
 
using PointType = TPoint
 
using Self = QuadEdgeMeshDecimationQuadricElementHelper
 
using TriangleType = TriangleHelper< PointType >
 
using VectorType = typename PointType::VectorType
 
using VNLMatrixType = vnl_matrix< CoordType >
 
using VNLVectorType = vnl_vector_fixed< CoordType, Self::PointDimension >
 

Public Member Functions

void AddPoint (const PointType &iP, const VectorType &iN, const CoordType &iWeight=static_cast< CoordType >(1.))
 
void AddTriangle (const PointType &iP1, const PointType &iP2, const PointType &iP3, const CoordType &iWeight=static_cast< CoordType >(1.))
 
CoordType ComputeError (const PointType &iP) const
 
CoordType ComputeErrorAtOptimalLocation (const PointType &iP)
 
PointType ComputeOptimalLocation (const PointType &iP)
 
PointType ComputeOptimalLocation (const unsigned int)
 
VNLMatrixType GetAMatrix ()
 
VNLVectorType GetBVector ()
 
CoefficientVectorType GetCoefficients () const
 
unsigned int GetRank () const
 
Self operator* (const CoordType &iV) const
 
Selfoperator*= (const CoordType &iV)
 
Self operator+ (const Self &iRight) const
 
Selfoperator+= (const Self &iRight)
 
Self operator- (const Self &iRight) const
 
Selfoperator-= (const Self &iRight)
 
Selfoperator= (const Self &iRight)
 
 QuadEdgeMeshDecimationQuadricElementHelper ()
 
 QuadEdgeMeshDecimationQuadricElementHelper (const CoefficientVectorType &iCoefficients)
 
 ~QuadEdgeMeshDecimationQuadricElementHelper ()=default
 

Static Public Attributes

static constexpr unsigned int NumberOfCoefficients = PointDimension * (PointDimension + 1 / 2 + PointDimension + 1)
 
static constexpr unsigned int PointDimension = PointType::PointDimension
 

Protected Member Functions

void ComputeAMatrixAndBVector ()
 

Protected Attributes

VNLMatrixType m_A
 
VNLVectorType m_B
 
CoefficientVectorType m_Coefficients
 
unsigned int m_Rank
 
CoordType m_SVDAbsoluteThreshold
 
CoordType m_SVDRelativeThreshold
 

Member Typedef Documentation

◆ CoefficientVectorType

template<typename TPoint >
using itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::CoefficientVectorType = vnl_vector_fixed<CoordType, Self::NumberOfCoefficients>

◆ CoordType

template<typename TPoint >
using itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::CoordType = typename PointType::CoordRepType

◆ PointType

template<typename TPoint >
using itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::PointType = TPoint

◆ Self

◆ TriangleType

◆ VectorType

template<typename TPoint >
using itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::VectorType = typename PointType::VectorType

◆ VNLMatrixType

template<typename TPoint >
using itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::VNLMatrixType = vnl_matrix<CoordType>

◆ VNLVectorType

template<typename TPoint >
using itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::VNLVectorType = vnl_vector_fixed<CoordType, Self::PointDimension>

Constructor & Destructor Documentation

◆ QuadEdgeMeshDecimationQuadricElementHelper() [1/2]

◆ QuadEdgeMeshDecimationQuadricElementHelper() [2/2]

template<typename TPoint >
itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::QuadEdgeMeshDecimationQuadricElementHelper ( const CoefficientVectorType iCoefficients)
inline

◆ ~QuadEdgeMeshDecimationQuadricElementHelper()

Member Function Documentation

◆ AddPoint()

template<typename TPoint >
void itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::AddPoint ( const PointType iP,
const VectorType iN,
const CoordType iWeight = static_cast<CoordType>(1.) 
)
inline

◆ AddTriangle()

template<typename TPoint >
void itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::AddTriangle ( const PointType iP1,
const PointType iP2,
const PointType iP3,
const CoordType iWeight = static_cast<CoordType>(1.) 
)
inline

◆ ComputeAMatrixAndBVector()

template<typename TPoint >
void itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::ComputeAMatrixAndBVector ( )
inlineprotected

◆ ComputeError()

template<typename TPoint >
CoordType itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::ComputeError ( const PointType iP) const
inline

◆ ComputeErrorAtOptimalLocation()

template<typename TPoint >
CoordType itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::ComputeErrorAtOptimalLocation ( const PointType iP)
inline

◆ ComputeOptimalLocation() [1/2]

template<typename TPoint >
PointType itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::ComputeOptimalLocation ( const PointType iP)
inline

◆ ComputeOptimalLocation() [2/2]

template<typename TPoint >
PointType itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::ComputeOptimalLocation ( const unsigned int  )
inline

TODO to be implemented!!!

Definition at line 168 of file itkQuadEdgeMeshDecimationQuadricElementHelper.h.

◆ GetAMatrix()

template<typename TPoint >
VNLMatrixType itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::GetAMatrix ( )
inline

◆ GetBVector()

template<typename TPoint >
VNLVectorType itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::GetBVector ( )
inline

◆ GetCoefficients()

template<typename TPoint >
CoefficientVectorType itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::GetCoefficients ( ) const
inline

◆ GetRank()

template<typename TPoint >
unsigned int itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::GetRank ( ) const
inline

◆ operator*()

template<typename TPoint >
Self itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::operator* ( const CoordType iV) const
inline

◆ operator*=()

template<typename TPoint >
Self& itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::operator*= ( const CoordType iV)
inline

◆ operator+()

template<typename TPoint >
Self itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::operator+ ( const Self iRight) const
inline

◆ operator+=()

template<typename TPoint >
Self& itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::operator+= ( const Self iRight)
inline

◆ operator-()

template<typename TPoint >
Self itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::operator- ( const Self iRight) const
inline

◆ operator-=()

template<typename TPoint >
Self& itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::operator-= ( const Self iRight)
inline

◆ operator=()

template<typename TPoint >
Self& itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::operator= ( const Self iRight)
inline

Member Data Documentation

◆ m_A

template<typename TPoint >
VNLMatrixType itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::m_A
protected

◆ m_B

template<typename TPoint >
VNLVectorType itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::m_B
protected

◆ m_Coefficients

template<typename TPoint >
CoefficientVectorType itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::m_Coefficients
protected

◆ m_Rank

template<typename TPoint >
unsigned int itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::m_Rank
protected

◆ m_SVDAbsoluteThreshold

template<typename TPoint >
CoordType itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::m_SVDAbsoluteThreshold
protected

◆ m_SVDRelativeThreshold

template<typename TPoint >
CoordType itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::m_SVDRelativeThreshold
protected

◆ NumberOfCoefficients

template<typename TPoint >
constexpr unsigned int itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::NumberOfCoefficients = PointDimension * (PointDimension + 1 / 2 + PointDimension + 1)
staticconstexpr

◆ PointDimension

template<typename TPoint >
constexpr unsigned int itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::PointDimension = PointType::PointDimension
staticconstexpr

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