18#ifndef itkPointBasedSpatialObject_h
19#define itkPointBasedSpatialObject_h
36template <
unsigned int TDimension = 3,
class TSpatialObjectPo
intType = SpatialObjectPo
int<TDimension>>
53 using typename Superclass::TransformType;
55 using typename Superclass::CovariantVectorType;
56 using typename Superclass::BoundingBoxType;
90 virtual const SpatialObjectPointListType &
97 virtual const SpatialObjectPointType *
100 return &(m_Points[id]);
103 virtual SpatialObjectPointType *
106 return &(m_Points[id]);
117 TSpatialObjectPointType
121 TSpatialObjectPointType
132 using Superclass::IsInsideInObjectSpace;
153#ifndef ITK_MANUAL_INSTANTIATION
154# include "itkPointBasedSpatialObject.hxx"
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.
bool IsInsideInObjectSpace(const PointType &point) const override
LightObject::Pointer InternalClone() const override
void ComputeMyBoundingBox() override
virtual const SpatialObjectPointListType & GetPoints() const
TSpatialObjectPointType ClosestPointInWorldSpace(const PointType &point) const
void PrintSelf(std::ostream &os, Indent indent) const override
virtual void SetPoints(const SpatialObjectPointListType &newPoints)
virtual SpatialObjectPointType * GetPoint(IdentifierType id)
virtual void AddPoint(const SpatialObjectPointType &newPoint)
TSpatialObjectPointType ClosestPointInObjectSpace(const PointType &point) const
TSpatialObjectPointType SpatialObjectPointType
PointBasedSpatialObject()
std::vector< SpatialObjectPointType > SpatialObjectPointListType
virtual SizeValueType GetNumberOfPoints() const
virtual const SpatialObjectPointType * GetPoint(IdentifierType id) const
~PointBasedSpatialObject() override=default
virtual SpatialObjectPointListType & GetPoints()
virtual void RemovePoint(IdentifierType id)
A templated class holding a geometric point in n-Dimensional space.
Implementation of the composite pattern.
ImageBaseType::PointType PointType
ImageBaseType::SpacingType VectorType
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
SizeValueType IdentifierType
unsigned long SizeValueType