18 #ifndef itkSimplexMeshVolumeCalculator_h
19 #define itkSimplexMeshVolumeCalculator_h
49 template<
typename TInputMesh >
121 typedef typename SimplexPolygonType::PointIdIterator PointIdIterator;
130 m_Mesh->GetPoint(*it, &p);
131 center += p.GetVectorFromOrigin();
174 itkGetConstMacro(Volume,
double);
177 itkGetConstMacro(Area,
double);
182 virtual void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
186 void operator=(const
Self &) ITK_DELETE_FUNCTION;
227 #ifndef ITK_MANUAL_INSTANTIATION
228 #include "itkSimplexMeshVolumeCalculator.hxx"
Light weight base class for most itk classes.
A template class used to implement a visitor object.
PointMapPointer GetCenterMap()
visits all polygon cells and compute the cell centers
itk::CellInterfaceVisitorImplementation< InputPixelType, InputCellTraitsType, SimplexPolygonType, SimplexCellVisitor > SimplexVisitorInterfaceType
SimplexMeshVolumeCalculator Self
InputMeshType::CellType SimplexCellType
The class represents a 2-simplex mesh.
A wrapper of the STL "map" container.
InputMeshType::NeighborListType InputNeighbors
signed long IndexValueType
InputMeshType::MeshTraits::CellTraits InputCellTraitsType
InputMeshType::PointsContainer InputPointsContainer
virtual ~SimplexCellVisitor()
virtual ~SimplexMeshVolumeCalculator()
itk::PolygonCell< SimplexCellType > SimplexPolygonType
virtual PointIdIterator PointIdsEnd(void) override
unsigned long SizeValueType
SizeValueType m_NumberOfTriangles
PointMapPointer m_Centers
SmartPointer< const Self > ConstPointer
InputPointType::VectorType VectorType
SizeValueType IdentifierType
InputMeshType::ConstPointer InputMeshConstPointer
CovariantVector< typename VectorType::ValueType, 3 > CovariantVectorType
SmartPointer< Self > Pointer
void CalculateTriangleVolume(InputPointType p1, InputPointType p2, InputPointType p3)
InputMeshPointer m_SimplexMesh
virtual void PrintSelf(std::ostream &os, Indent indent) const override
virtual PointIdIterator PointIdsBegin(void) override
itk::MapContainer< IdentifierType, InputPointType > PointMapType
SimplexMeshVolumeCalculator()
PointMapPointer m_CenterMap
visits all polygon cells and compute the cell centers
InputMeshType::PixelType InputPixelType
Represents a polygon in a Mesh.
PointMapType::Pointer PointMapPointer
InputMeshType::PointType InputPointType
void SetMesh(InputMeshPointer mesh)
visits all polygon cells and compute the cell centers
InputMeshType::NeighborListType::iterator InputNeighborsIterator
InputPointsContainer::ConstIterator InputPointsContainerIterator
Adapted from itkSimplexMeshToTriangleFilter to calculate the volume of a simplex mesh using the baryc...
InputMeshType::Pointer InputMeshPointer
Control indentation during Print() invocation.
CellMultiVisitorType::Pointer CellMultiVisitorPointer
InputMeshPointer m_Mesh
visits all polygon cells and compute the cell centers
virtual unsigned int GetNumberOfPoints(void) const override
void Visit(IdentifierType cellId, SimplexPolygonType *poly)
visits all polygon cells and compute the cell centers
Base class for most ITK classes.
A templated class holding a n-Dimensional covariant vector.
InputPointsContainer::ConstPointer InputPointsContainerPointer
IdentifierType FindCellId(IdentifierType id1, IdentifierType id2, IdentifierType id3)
SimplexCellType::MultiVisitor CellMultiVisitorType
SimplexVisitorInterfaceType::Pointer SimplexVisitorInterfacePointer