18#ifndef itkTriangleMeshToBinaryImageFilter_h
19#define itkTriangleMeshToBinaryImageFilter_h
72template <
typename TInputMesh,
typename TOutputImage>
88 using ValueType =
typename OutputImageType::ValueType;
99 using typename Superclass::OutputImageRegionType;
196 using Superclass::SetInput;
203 if (InfoImage != m_InfoImage)
206 m_InfoImage = InfoImage;
218 itkSetMacro(Tolerance,
double);
219 itkGetConstMacro(Tolerance,
double);
248 double m_Tolerance{};
267#ifndef ITK_MANUAL_INSTANTIATION
268# include "itkTriangleMeshToBinaryImageFilter.hxx"
Base class for all process objects that output image data.
typename OutputImageType::Pointer OutputImagePointer
Control indentation during Print() invocation.
Point1D(const double p, const int s)
Point1D(const Point1D &point)
A superclass of the N-dimensional mesh structure; supports point (geometric coordinate and attribute)...
typename MeshTraits::PointsContainer PointsContainer
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
3D Rasterization algorithm Courtesy of Dr David Gobbi of Atamai Inc.
std::vector< Point1D > Point1DVector
typename InputPointsContainer::Iterator InputPointsContainerIterator
typename TOutputImage::IndexType IndexType
virtual void RasterizeTriangles()
typename InputMeshType::PointsContainer InputPointsContainer
void GenerateData() override
typename OutputImageType::DirectionType DirectionType
typename OutputImageType::SpacingType SpacingType
virtual void SetOrigin(const double origin[3])
InputMeshType * GetInput(unsigned int idx)
virtual void SetSpacing(const float spacing[3])
void PrintSelf(std::ostream &os, Indent indent) const override
typename InputMeshType::CellsContainerPointer CellsContainerPointer
typename InputPointsContainer::Pointer InputPointsContainerPointer
TOutputImage OutputImageType
void GenerateOutputInformation() override
void SetInfoImage(OutputImageType *InfoImage)
typename InputMeshType::PixelType InputPixelType
static bool ComparePoints2D(Point2DType a, Point2DType b)
typename InputMeshType::PointType InputPointType
virtual void SetOrigin(const float origin[3])
~TriangleMeshToBinaryImageFilter() override=default
std::vector< std::vector< PointType > > PointArray
typename InputMeshType::MeshTraits::CellTraits InputCellTraitsType
std::vector< PointType > PointVector
typename PointSetType::PointsContainer PointsContainer
typename InputMeshType::CellType CellType
static int PolygonToImageRaster(PointVector coords, Point1DArray &zymatrix, int extent[6])
typename OutputImageType::ValueType ValueType
typename InputMeshType::CellsContainerIterator CellsContainerIterator
InputMeshType * GetInput()
virtual void SetSpacing(const double spacing[3])
static bool ComparePoints1D(Point1D a, Point1D b)
std::vector< std::vector< Point1D > > Point1DArray
typename InputMeshType::Pointer InputMeshPointer
typename TOutputImage::SizeType SizeType
TriangleMeshToBinaryImageFilter()
void SetInput(InputMeshType *input)
std::vector< std::vector< Point2DType > > Point2DArray
std::vector< Point2DType > Point2DVector
SmartPointer< Self > Pointer
ImageBaseType::DirectionType DirectionType
ImageBaseType::IndexType IndexType
ImageBaseType::PointType PointType
ImageBaseType::SizeType SizeType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
*par Constraints *The filter image with at least two dimensions and a vector *length of at least The theory supports extension to scalar but *the implementation of the itk vector classes do not **The template parameter TRealType must be floating point(float or double) or *a user-defined "real" numerical type with arithmetic operations defined *sufficient to compute derivatives. **\par Performance *This filter will automatically multithread if run with *SetUsePrincipleComponents
Represent a n-dimensional index in a n-dimensional image.
Represent a n-dimensional size (bounds) of a n-dimensional image.