18 #ifndef itkTriangleMeshToBinaryImageFilter_h 19 #define itkTriangleMeshToBinaryImageFilter_h 70 template<
typename TInputMesh,
typename TOutputImage >
81 typedef typename TOutputImage::SizeType
SizeType;
84 typedef typename OutputImageType::ValueType
ValueType;
133 itkSetMacro(Spacing, SpacingType);
134 virtual void SetSpacing(
const double spacing[3]);
137 virtual void SetSpacing(
const float spacing[3]);
139 itkGetConstReferenceMacro(Spacing, SpacingType);
144 itkSetMacro(Direction, DirectionType);
145 itkGetConstMacro(Direction, DirectionType);
153 itkSetMacro(InsideValue, ValueType);
154 itkGetConstMacro(InsideValue, ValueType);
162 itkSetMacro(OutsideValue, ValueType);
163 itkGetConstMacro(OutsideValue, ValueType);
170 itkSetMacro(Origin, PointType);
171 virtual void SetOrigin(
const double origin[3]);
174 virtual void SetOrigin(
const float origin[3]);
176 itkGetConstReferenceMacro(Origin, PointType);
179 itkSetMacro(
Index, IndexType);
180 itkGetConstMacro(
Index, IndexType);
184 itkSetMacro(
Size, SizeType);
185 itkGetConstMacro(
Size, SizeType);
189 using Superclass::SetInput;
190 void SetInput(InputMeshType *input);
194 if ( InfoImage != m_InfoImage )
197 m_InfoImage = InfoImage;
202 InputMeshType * GetInput();
204 InputMeshType * GetInput(
unsigned int idx);
207 itkSetMacro(Tolerance,
double);
208 itkGetConstMacro(Tolerance,
double);
215 virtual void GenerateData() ITK_OVERRIDE;
217 virtual void RasterizeTriangles();
219 static int PolygonToImageRaster(PointVector coords, Point1DArray & zymatrix,
int extent[6]);
240 virtual void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
244 void operator=(const Self &) ITK_DELETE_FUNCTION;
246 static
bool ComparePoints2D(Point2DType a, Point2DType b);
252 #ifndef ITK_MANUAL_INSTANTIATION 253 #include "itkTriangleMeshToBinaryImageFilter.hxx"
Point1D(const Point1D &point)
InputMeshType::CellsContainerIterator CellsContainerIterator
std::vector< Point2DType > Point2DVector
SmartPointer< const Self > ConstPointer
3D Rasterization algorithm Courtesy of Dr David Gobbi of Atamai Inc.
Represent the size (bounds) of a n-dimensional image.
OutputImageType * m_InfoImage
Superclass::OutputImageRegionType OutputImageRegionType
std::vector< Point1D > Point1DVector
InputPointsContainer::Iterator InputPointsContainerIterator
itk::Point< double, 2 > Point2DType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
itk::Array< double > DoubleArrayType
TriangleMeshToBinaryImageFilter Self
TOutputImage::SizeType SizeType
InputMeshType::CellsContainerPointer CellsContainerPointer
Base class for all process objects that output image data.
Point1D(const double p, const int s)
InputMeshType::CellType CellType
InputMeshType::PointsContainer InputPointsContainer
OutputImageType::DirectionType DirectionType
PointSetType::PointsContainer PointsContainer
StencilIndexVector m_StencilIndex
InputMeshType::Pointer InputMeshPointer
ImageSource< TOutputImage > Superclass
virtual void GenerateOutputInformation() override
InputMeshType::MeshTraits::CellTraits InputCellTraitsType
std::vector< std::vector< Point1D > > Point1DArray
A superclass of the N-dimensional mesh structure; supports point (geometric coordinate and attribute)...
MeshTraits::PointsContainer PointsContainer
SmartPointer< Self > Pointer
DirectionType m_Direction
void SetInfoImage(OutputImageType *InfoImage)
InputMeshType::PointType InputPointType
TOutputImage OutputImageType
InputMeshType::PixelType InputPixelType
std::vector< std::vector< PointType > > PointArray
Control indentation during Print() invocation.
itk::PointSet< double, 3 > PointSetType
OutputImageType::SpacingType SpacingType
std::vector< PointType > PointVector
std::vector< std::vector< Point2DType > > Point2DArray
OutputImageType::Pointer OutputImagePointer
Represent a n-dimensional index in a n-dimensional image.
InputPointsContainer::Pointer InputPointsContainerPointer
OutputImageType::ValueType ValueType
itk::Point< double, 3 > PointType
std::vector< int > StencilIndexVector
TOutputImage::IndexType IndexType