18 #ifndef itkAffineGeometryFrame_h
19 #define itkAffineGeometryFrame_h
32 template<
typename TScalar =
double,
unsigned int NDimensions = 3 >
57 itkAssertInDebugAndIgnoreInReleaseMacro( m_BoundingBox.IsNotNull() );
58 return m_BoundingBox->GetBounds();
64 virtual void SetBounds(
const BoundsArrayType & bounds);
69 itkAssertInDebugAndIgnoreInReleaseMacro(direction < NDimensions);
70 itkAssertInDebugAndIgnoreInReleaseMacro( m_BoundingBox.IsNotNull() );
72 return bounds[direction * 2 + 1] - bounds[direction * 2];
77 itkSetObjectMacro(IndexToObjectTransform, TransformType);
78 itkGetModifiableObjectMacro(IndexToObjectTransform, TransformType);
82 itkSetObjectMacro(ObjectToNodeTransform, TransformType);
83 itkGetModifiableObjectMacro(ObjectToNodeTransform, TransformType);
87 itkSetObjectMacro(IndexToWorldTransform, TransformType);
88 itkGetModifiableObjectMacro(IndexToWorldTransform, TransformType);
93 itkGetModifiableObjectMacro(IndexToNodeTransform, TransformType);
96 virtual void Initialize();
104 virtual ~AffineGeometryFrame() ITK_OVERRIDE;
105 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
108 virtual
void InitializeGeometry(Self *newGeometry) const;
110 void SetBoundsArray(const BoundsArrayType & bounds,
111 BoundingBoxPointer & boundingBox);
122 ITK_DISALLOW_COPY_AND_ASSIGN(AffineGeometryFrame);
126 #ifndef ITK_MANUAL_INSTANTIATION
127 #include "itkAffineGeometryFrame.hxx"
Light weight base class for most itk classes.
TScalar GetExtent(unsigned int direction) const
BoundingBoxType::Pointer BoundingBoxPointer
ScalableAffineTransform< TScalar, NDimensions > TransformType
SmartPointer< const Self > ConstPointer
BoundingBoxType::BoundsArrayType BoundsArrayType
Control indentation during Print() invocation.
const BoundsArrayType GetBounds() const
Describes the geometry of a data object.
Base class for most ITK classes.
Represent and compute information about bounding boxes.
SmartPointer< Self > Pointer
BoundingBox< IdentifierType, NDimensions, TScalar > BoundingBoxType