18 #ifndef itkTubeSpatialObject_h
19 #define itkTubeSpatialObject_h
41 template<
unsigned int TDimension = 3,
42 typename TTubePointType = TubeSpatialObjectPoint< TDimension > >
82 {
return &( m_Points[ind] ); }
86 {
return &( m_Points[ind] ); }
90 { m_Points[ind] = pnt; }
94 { m_Points.erase(m_Points.begin() + ind); }
103 itkSetMacro(EndType,
unsigned int);
104 itkGetConstMacro(EndType,
unsigned int);
108 void Clear(
void) ITK_OVERRIDE;
111 bool ComputeTangentAndNormals();
114 unsigned int RemoveDuplicatePoints(
unsigned int step = 1);
118 bool IsEvaluableAt(const
PointType & point,
119 unsigned int depth = 0,
char *name = ITK_NULLPTR) const ITK_OVERRIDE;
125 bool ValueAt(const
PointType & point,
double & value,
126 unsigned int depth = 0,
char *name = ITK_NULLPTR) const ITK_OVERRIDE;
130 unsigned int depth,
char *name) const ITK_OVERRIDE;
135 virtual
bool IsInside(const
PointType & point) const;
138 bool ComputeLocalBoundingBox() const ITK_OVERRIDE;
142 itkSetMacro(ParentPoint,
int);
143 itkGetConstMacro(ParentPoint,
int);
148 itkSetMacro(Root,
bool);
149 itkGetConstMacro(Root,
bool);
153 itkSetMacro(Artery,
bool);
154 itkGetConstMacro(Artery,
bool);
158 void CopyInformation(const
DataObject *data) ITK_OVERRIDE;
165 unsigned int m_EndType;
174 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
185 #ifndef ITK_MANUAL_INSTANTIATION
186 #include "itkTubeSpatialObject.hxx"
189 #endif // itkTubeSpatialObject_h
Superclass::VectorType VectorType
PointListType * PointListPointer
PointBasedSpatialObject< TDimension > Superclass
virtual SizeValueType GetNumberOfPoints(void) const override
unsigned long ModifiedTimeType
TTubePointType TubePointType
This class serves as the base class for point-based spatial objects.
unsigned long SizeValueType
ImageBaseType::SpacingType VectorType
Superclass::BoundingBoxType BoundingBoxType
virtual void SetPoint(IdentifierType ind, const TubePointType &pnt)
Point used for a tube definition.
SizeValueType IdentifierType
std::vector< TubePointType > PointListType
SmartPointer< const Self > ConstPointer
ImageBaseType::PointType PointType
Superclass::SpatialObjectPointType SpatialObjectPointType
Superclass::PointType PointType
SmartPointer< PointContainerType > PointContainerPointer
VectorContainer< IdentifierType, PointType > PointContainerType
virtual void RemovePoint(IdentifierType ind)
Superclass::TransformType TransformType
Point used for spatial objets.
virtual const SpatialObjectPointType * GetPoint(IdentifierType ind) const override
Define a front-end to the STL "vector" container that conforms to the IndexedContainerInterface.
Control indentation during Print() invocation.
Representation of a tube based on the spatial object classes.
SmartPointer< Self > Pointer
Base class for all data objects in ITK.
virtual SpatialObjectPointType * GetPoint(IdentifierType ind) override
Superclass::CovariantVectorType CovariantVectorType