ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
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::CoordinateType
 
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::CoordinateType

◆ PointType

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

◆ Self

◆ TriangleType

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

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

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

◆ 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()

◆ ComputeError()

◆ ComputeErrorAtOptimalLocation()

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

TODO this method should be really optimized!!!

Definition at line 137 of file itkQuadEdgeMeshDecimationQuadricElementHelper.h.

◆ ComputeOptimalLocation() [1/2]

◆ 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

◆ 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>
unsigned int itk::QuadEdgeMeshDecimationQuadricElementHelper< TPoint >::NumberOfCoefficients = PointDimension * (PointDimension + 1 / 2 + PointDimension + 1)
staticconstexpr

◆ PointDimension

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

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