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)
TMeshTraits::PointsContainer PointsContainer
A superclass of the N-dimensional mesh structure; supports point (geometric coordinate and attribute)...
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.