18#ifndef itkQuadEdgeMeshParamMatrixCoefficients_h
19#define itkQuadEdgeMeshParamMatrixCoefficients_h
32template <
typename TInputMesh>
38#ifndef ITK_FUTURE_LEGACY_REMOVE
39 using InputCoordRepType ITK_FUTURE_DEPRECATED(
40 "ITK 6 discourages using `InputCoordRepType`. Please use `InputCoordinateType` instead!") =
InputCoordinateType;
58template <
typename TInputMesh>
66#ifndef ITK_FUTURE_LEGACY_REMOVE
67 using InputCoordRepType ITK_FUTURE_DEPRECATED(
68 "ITK 6 discourages using `InputCoordRepType`. Please use `InputCoordinateType` instead!") =
InputCoordinateType;
91template <
typename TInputMesh>
99#ifndef ITK_FUTURE_LEGACY_REMOVE
100 using InputCoordRepType ITK_FUTURE_DEPRECATED(
101 "ITK 6 discourages using `InputCoordRepType`. Please use `InputCoordinateType` instead!") =
InputCoordinateType;
138template <
typename TInputMesh>
146#ifndef ITK_FUTURE_LEGACY_REMOVE
147 using InputCoordRepType ITK_FUTURE_DEPRECATED(
148 "ITK 6 discourages using `InputCoordRepType`. Please use `InputCoordinateType` instead!") =
InputCoordinateType;
172 if (iEdge->IsLeftSet())
178 if (iEdge->IsRightSet())
197template <
typename TInputMesh>
205#ifndef ITK_FUTURE_LEGACY_REMOVE
206 using InputCoordRepType ITK_FUTURE_DEPRECATED(
207 "ITK 6 discourages using `InputCoordRepType`. Please use `InputCoordinateType` instead!") =
InputCoordinateType;
233 if (iEdge->IsLeftSet())
240 if (iEdge->IsRightSet())
247 return oValue / pt1.SquaredEuclideanDistanceTo(pt2);
258template <
typename TInputMesh>
266#ifndef ITK_FUTURE_LEGACY_REMOVE
267 using InputCoordRepType ITK_FUTURE_DEPRECATED(
268 "ITK 6 discourages using `InputCoordRepType`. Please use `InputCoordinateType` instead!") =
InputCoordinateType;
284 const InputCoordinateType oValue = m_Lambda * conformal(iMesh, iEdge) + (1.0 - m_Lambda) * authalic(iMesh, iEdge);
297template <
typename TInputMesh>
305#ifndef ITK_FUTURE_LEGACY_REMOVE
306 using InputCoordRepType ITK_FUTURE_DEPRECATED(
307 "ITK 6 discourages using `InputCoordRepType`. Please use `InputCoordinateType` instead!") =
InputCoordinateType;
314 static constexpr unsigned int PointDimension = InputPointType::PointDimension;
Compute a matrix filled with Authalic Coefficients of the edge, wherever two vertices are connected w...
typename InputMeshType::PointIdentifier InputPointIdentifier
typename InputMeshType::PointType InputPointType
InputCoordinateType operator()(const InputMeshType *iMesh, InputQEType *iEdge) const override
AuthalicMatrixCoefficients()=default
Compute a matrix filled with Harmonic coefficients, wherever two vertices are connected by an edge.
typename InputMeshType::PointIdentifier InputPointIdentifier
typename InputMeshType::PointType InputPointType
InputCoordinateType operator()(const InputMeshType *iMesh, InputQEType *iEdge) const override
HarmonicMatrixCoefficients()=default
typename InputPointType::VectorType InputVectorType
Compute a matrix filled by intrinsic Coefficients of the edge, wherever two vertices are connected by...
IntrinsicMatrixCoefficients(const InputCoordinateType &iLambda)
InputCoordinateType m_Lambda
InputCoordinateType operator()(const InputMeshType *iMesh, InputQEType *iEdge) const override
Compute a matrix filed with the inverse of the euclidean distance wherever two vertices are connected...
typename InputMeshType::PointType InputPointType
InputCoordinateType operator()(const InputMeshType *iMesh, InputQEType *iEdge) const override
InverseEuclideanDistanceMatrixCoefficients()=default
typename InputMeshType::VectorType InputVectorType
typename InputMeshType::PointIdentifier InputPointIdentifier
Superclass for all the matrix coefficients computation classes.
typename InputMeshType::CoordinateType InputCoordinateType
MatrixCoefficients()=default
typename InputMeshType::QEType InputQEType
virtual ~MatrixCoefficients()=default
virtual InputCoordinateType operator()(const InputMeshType *iMesh, InputQEType *iEdge) const =0
Compute a matrix filled by 1s wherever two vertices are connected by an edge.
OnesMatrixCoefficients()=default
InputCoordinateType operator()(const InputMeshType *, InputQEType *) const override
static CoordinateType Cotangent(const PointType &iA, const PointType &iB, const PointType &iC)
Compute cotangent(iA,iB,iC)
ImageBaseType::PointType PointType
ImageBaseType::SpacingType VectorType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....