18#ifndef itkDiscretePrincipalCurvaturesQuadEdgeMeshFilter_h
19#define itkDiscretePrincipalCurvaturesQuadEdgeMeshFilter_h
33template <
typename TInputMesh,
typename TOutputMesh = TInputMesh>
67#ifdef ITK_USE_CONCEPT_CHECKING
102 if (qe_it != qe_it->GetOnext())
115 Laplace += temp_coeff * (iP - q0);
124 normal += face_normal;
127 }
while (qe_it != qe);
132 Laplace *= 0.25 * area;
133 m_Mean = Laplace * normal;
typename OutputMeshType::QEType OutputQEType
typename OutputMeshTraits::PixelType OutputCurvatureType
typename OutputMeshType::PointsContainerPointer OutputPointsContainerPointer
typename OutputMeshType::PointsContainerIterator OutputPointsContainerIterator
typename OutputMeshType::MeshTraits OutputMeshTraits
TOutputMesh OutputMeshType
typename OutputMeshType::PointIdentifier OutputPointIdentifier
TriangleHelper< OutputPointType > TriangleType
typename OutputMeshType::Pointer OutputMeshPointer
OutputCurvatureType ComputeMixedArea(OutputQEType *iQE1, OutputQEType *iQE2)
typename InputMeshType::Pointer InputMeshPointer
typename OutputMeshType::PointType OutputPointType
typename OutputPointType::CoordinateType OutputCoordType
typename OutputMeshType::CellIdentifier OutputCellIdentifier
FIXME add documentation here.
OutputCurvatureType m_Mean
OutputCurvatureType m_Gaussian
~DiscretePrincipalCurvaturesQuadEdgeMeshFilter() override=default
virtual OutputCurvatureType ComputeDelta()
void ComputeMeanAndGaussianCurvatures(const OutputPointType &iP)
DiscretePrincipalCurvaturesQuadEdgeMeshFilter()
Light weight base class for most itk classes.
typename OutputMeshType::Pointer OutputMeshPointer
OutputMeshType * GetOutput()
typename OutputMeshType::PointType OutputPointType
typename OutputMeshType::VectorType OutputVectorType
static VectorType ComputeNormal(const PointType &iA, const PointType &iB, const PointType &iC)
Compute Normal vector to the triangle formed by (iA,iB,iC)
static CoordinateType ComputeAngle(const PointType &iP1, const PointType &iP2, const PointType &iP3)
Compute angles (iA,iB,iC)
#define itkConceptMacro(name, concept)
static constexpr double pi
static constexpr double e
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....