18 #ifndef itkContourSpatialObject_h
19 #define itkContourSpatialObject_h
38 template<
unsigned int TDimension = 3 >
78 {
return &( m_ControlPoints[id] ); }
82 {
return &( m_ControlPoints[id] ); }
86 {
return static_cast<SizeValueType>( m_ControlPoints.size() ); }
89 InterpolatedPointListType & GetInterpolatedPoints();
92 const InterpolatedPointListType & GetInterpolatedPoints()
const;
95 void SetInterpolatedPoints(InterpolatedPointListType & newPoints);
99 {
return &( m_InterpolatedPoints[id] ); }
103 {
return &( m_InterpolatedPoints[id] ); }
107 {
return static_cast<SizeValueType>( m_InterpolatedPoints.size() ); }
111 LINEAR_INTERPOLATION };
115 {
return m_InterpolationType; }
117 { m_InterpolationType = interpolation; }
121 itkSetMacro(Closed,
bool);
122 itkGetConstMacro(Closed,
bool);
126 itkSetMacro(DisplayOrientation,
int);
127 itkGetConstMacro(DisplayOrientation,
int);
132 itkSetMacro(AttachedToSlice,
int);
133 itkGetConstMacro(AttachedToSlice,
int);
141 bool IsEvaluableAt(
const PointType & point,
142 unsigned int depth = 0,
char *name = ITK_NULLPTR) const ITK_OVERRIDE;
148 bool ValueAt(const
PointType & point,
double & value,
149 unsigned int depth = 0,
char *name = ITK_NULLPTR) const ITK_OVERRIDE;
153 unsigned int depth,
char *name) const ITK_OVERRIDE;
158 virtual
bool IsInside(const
PointType & point) const;
161 bool ComputeLocalBoundingBox(
void) const ITK_OVERRIDE;
170 int m_DisplayOrientation;
171 int m_AttachedToSlice;
173 ContourSpatialObject();
174 virtual ~ContourSpatialObject() ITK_OVERRIDE;
177 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
181 #ifndef ITK_MANUAL_INSTANTIATION
182 #include "itkContourSpatialObject.hxx"
185 #endif // itkContourSpatialObject_h
Representation of a Contour based on the spatial object classes.
SmartPointer< PointContainerType > PointContainerPointer
SmartPointer< const Self > ConstPointer
Superclass::PointType PointType
void SetInterpolationType(InterpolationType interpolation)
Superclass::TransformType TransformType
const InterpolatedPointType * GetInterpolatedPoint(IdentifierType id) const
VectorContainer< IdentifierType, PointType > PointContainerType
This class serves as the base class for point-based spatial objects.
InterpolationType GetInterpolationType() const
InterpolatedPointType * GetInterpolatedPoint(IdentifierType id)
unsigned long SizeValueType
std::vector< ControlPointType > ControlPointListType
Point used for a Contour definition.
SizeValueType IdentifierType
Superclass::BoundingBoxType BoundingBoxType
SizeValueType GetNumberOfInterpolatedPoints(void) const
ImageBaseType::PointType PointType
PointBasedSpatialObject< TDimension > Superclass
SpatialObjectPoint< TDimension > InterpolatedPointType
SizeValueType GetNumberOfControlPoints(void) const
const ControlPointType * GetControlPoint(IdentifierType id) const
ContourSpatialObject Self
Point used for spatial objets.
Define a front-end to the STL "vector" container that conforms to the IndexedContainerInterface.
ContourSpatialObjectPoint< TDimension > ControlPointType
Control indentation during Print() invocation.
std::vector< InterpolatedPointType > InterpolatedPointListType
Superclass::SpatialObjectPointType SpatialObjectPointType
ControlPointType * GetControlPoint(IdentifierType id)
Base class for all data objects in ITK.
SmartPointer< Self > Pointer