18 #ifndef __itkAffineGeometryFrame_h
19 #define __itkAffineGeometryFrame_h
32 template<
class TScalarType =
double,
unsigned int NDimensions = 3 >
57 itkAssertInDebugAndIgnoreInReleaseMacro( m_BoundingBox.IsNotNull() );
58 return m_BoundingBox->GetBounds();
64 virtual void SetBounds(
const BoundsArrayType & bounds);
67 TScalarType GetExtent(
unsigned int direction)
const
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();
105 void PrintSelf(std::ostream & os,
Indent indent)
const;
108 virtual void InitializeGeometry(Self *newGeometry)
const;
110 void SetBoundsArray(
const BoundsArrayType & bounds,
111 BoundingBoxPointer & boundingBox);
123 void operator=(
const Self &);
127 #ifndef ITK_MANUAL_INSTANTIATION
128 #include "itkAffineGeometryFrame.hxx"