13 #ifndef TimeGeometry_h 14 #define TimeGeometry_h 17 #include <itkObject.h> 57 LightObject::Pointer InternalClone()
const override;
62 itkCreateAnotherMacro(
Self);
72 virtual TimeStepType CountTimeSteps()
const = 0;
80 virtual TimePointType GetMinimumTimePoint()
const = 0;
87 virtual TimePointType GetMaximumTimePoint()
const = 0;
95 virtual TimePointType GetMinimumTimePoint(TimeStepType step)
const = 0;
101 virtual TimePointType GetMaximumTimePoint(TimeStepType step)
const = 0;
111 virtual TimeBounds GetTimeBounds(TimeStepType step)
const = 0;
118 virtual bool IsValidTimePoint(TimePointType timePoint)
const = 0;
126 virtual bool IsValidTimeStep(TimeStepType timeStep)
const = 0;
137 virtual TimePointType TimeStepToTimePoint(TimeStepType timeStep)
const = 0;
147 virtual TimeStepType TimePointToTimeStep(TimePointType timePoint)
const = 0;
190 virtual void SetTimeStepGeometry(
BaseGeometry *geometry, TimeStepType timeStep) = 0;
199 virtual void Expand(TimeStepType size) = 0;
211 virtual void ReplaceTimeStepGeometries(
const BaseGeometry *geometry) = 0;
216 virtual bool IsValid()
const = 0;
222 Point3D GetCornerPointInWorld(
int id)
const;
229 Point3D GetCornerPointInWorld(
bool xFront =
true,
bool yFront =
true,
bool zFront =
true)
const;
234 Point3D GetCenterInWorld()
const;
239 double GetDiagonalLength2InWorld()
const;
244 double GetDiagonalLengthInWorld()
const;
258 void UpdateBoundingBox();
267 BoundingBox::BoundsArrayType
GetBoundsInWorld()
const {
return m_BoundingBox->GetBounds(); }
271 ScalarType GetExtentInWorld(
unsigned int direction)
const;
276 virtual void Initialize();
294 void ExecuteOperation(
Operation *op)
override;
296 void PrintSelf(std::ostream &os, itk::Indent indent)
const override;
349 #endif // TimeGeometry_h itk::BoundingBox< unsigned long, 3, ScalarType > BoundingBox
Standard 3D-BoundingBox typedef.
BoundingBox * GetBoundingBoxInWorld() const
Returns a bounding box that covers all time steps.
MITKCORE_EXPORT const ScalarType eps
itk::FixedArray< ScalarType, 2 > TimeBounds
Standard typedef for time-bounds.
Base class of all Operation-classes.
DataCollection - Class to facilitate loading/accessing structured data.
abstract class, that can be used by Undo to undo an operation.
MITKNEWMODULE_EXPORT bool Equal(mitk::ExampleDataStructure *leftHandSide, mitk::ExampleDataStructure *rightHandSide, mitk::ScalarType eps, bool verbose)
Returns true if the example data structures are considered equal.
#define mitkClassMacroItkParent(className, SuperClassName)
mitk::ScalarType TimePointType
std::vcl_size_t TimeStepType
virtual void UpdateWithoutBoundingBox()
Updates everything except the Bounding box.
BoundingBox::BoundsArrayType GetBoundsInWorld() const
Returns the world bounds of the object that cover all time steps.
BoundingBox::Pointer m_BoundingBox
Contains a bounding box which includes all time steps.
BaseGeometry Describes the geometry of a data object.