18#ifndef itkContourSpatialObject_h
19#define itkContourSpatialObject_h
44 EXPLICIT_INTERPOLATION,
50extern ITKSpatialObjects_EXPORT std::ostream &
68template <
unsigned int TDimension = 3>
88 using typename Superclass::TransformType;
89 using typename Superclass::BoundingBoxType;
94#if !defined(ITK_LEGACY_REMOVE)
99 static constexpr InterpolationMethodEnum EXPLICIT_INTERPOLATION = InterpolationMethodEnum::EXPLICIT_INTERPOLATION;
119 return m_ControlPoints;
123 const ControlPointListType &
126 return m_ControlPoints;
141 return &(m_ControlPoints[id]);
148 return &(m_ControlPoints[id]);
166 itkSetMacro(InterpolationFactor,
unsigned int);
169 itkGetConstMacro(InterpolationFactor,
unsigned int);
172 itkSetMacro(IsClosed,
bool);
175 itkGetConstMacro(IsClosed,
bool);
177 itkBooleanMacro(IsClosed);
185 itkSetMacro(AttachedToSlice,
int);
189 itkGetConstMacro(AttachedToSlice,
int);
210 unsigned int m_InterpolationFactor{};
212 mutable bool m_IsClosed{};
213 mutable int m_OrientationInObjectSpace{};
215 int m_AttachedToSlice{};
219#ifndef ITK_MANUAL_INSTANTIATION
220# include "itkContourSpatialObject.hxx"
Point used for a Contour definition.
Representation of a Contour based on the spatial object classes.
ControlPointType * GetControlPoint(IdentifierType id)
int GetOrientationInObjectSpace() const
~ContourSpatialObject() override=default
ControlPointListType & GetControlPoints()
std::vector< ContourPointType > ContourPointListType
std::vector< ControlPointType > ControlPointListType
void SetControlPoints(const ControlPointListType &points)
void AddControlPoint(const ControlPointType &point)
SizeValueType GetNumberOfControlPoints() const
const ControlPointType * GetControlPoint(IdentifierType id) const
LightObject::Pointer InternalClone() const override
void PrintSelf(std::ostream &os, Indent indent) const override
const ControlPointListType & GetControlPoints() const
Base class for all data objects in ITK.
Control indentation during Print() invocation.
Base class for most ITK classes.
This class serves as the base class for point-based spatial objects.
Define a front-end to the STL "vector" container that conforms to the IndexedContainerInterface.
ImageBaseType::PointType PointType
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
ITKCommon_EXPORT std::ostream & operator<<(std::ostream &out, typename AnatomicalOrientation::CoordinateEnum value)
SizeValueType IdentifierType
SizeValueType ModifiedTimeType
unsigned long SizeValueType