18#ifndef itkTubeSpatialObject_h
19#define itkTubeSpatialObject_h
41template <
unsigned int TDimension = 3,
class TSpatialObjectPo
intType = TubeSpatialObjectPo
int<TDimension>>
78 itkSetMacro(EndRounded,
bool);
79 itkGetConstMacro(EndRounded,
bool);
80 itkBooleanMacro(EndRounded);
87#if !defined(ITK_LEGACY_REMOVE)
89 itkLegacyMacro(
bool ComputeTangentAndNormals())
101 itkSetMacro(ParentPoint,
int);
105 itkGetConstMacro(ParentPoint,
int);
109 itkSetMacro(Root,
bool);
113 itkGetConstMacro(Root,
bool);
115 itkBooleanMacro(Root);
155#ifndef ITK_MANUAL_INSTANTIATION
156# include "itkTubeSpatialObject.hxx"
Base class for all data objects in ITK.
Control indentation during Print() invocation.
SmartPointer< Self > Pointer
AffineTransform< ScalarType, VDimension > TransformType
bool IsInsideInObjectSpace(const PointType &point) const override
Vector< ScalarType, VDimension > VectorType
CovariantVector< ScalarType, VDimension > CovariantVectorType
TSpatialObjectPointType SpatialObjectPointType
PointBasedSpatialObject()
Point< ScalarType, VDimension > PointType
BoundingBox< IdentifierType, VDimension, ScalarType, VectorContainerType > BoundingBoxType
Implements transparent reference counting.
PointBasedSpatialObject< TDimension, DTITubeSpatialObjectPoint< TDimension > > Superclass
~TubeSpatialObject() override=default
bool ComputeTangentsAndNormals()
VectorContainer< PointType > PointContainerType
SmartPointer< const Self > ConstPointer
std::vector< TubePointType > TubePointListType
void PrintSelf(std::ostream &os, Indent indent) const override
DTITubeSpatialObjectPoint< TDimension > TubePointType
LightObject::Pointer InternalClone() const override
bool IsInsideInObjectSpace(const PointType &point) const override
SmartPointer< PointContainerType > PointContainerPointer
unsigned int RemoveDuplicatePointsInObjectSpace(double minSpacingInObjectSpace=0)
void CopyInformation(const DataObject *data) override
void ComputeMyBoundingBox() override
Point< ScalarType, VDimension > PointType
SmartPointer< Self > Pointer
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
detail::VectorContainer< std::conditional_t< std::is_void_v< T2 >, SizeValueType, T1 >, std::conditional_t< std::is_void_v< T2 >, T1, T2 > > VectorContainer