13 #ifndef mitkArbitraryTimeGeometry_h
14 #define mitkArbitraryTimeGeometry_h
51 itkFactorylessNewMacro(Self);
258 void PrintSelf(std::ostream &os, itk::Indent indent)
const override;
~ArbitraryTimeGeometry() override
bool IsValidTimePoint(TimePointType timePoint) const override
Tests if a given time point is covered by this time geometry instance.
void ClearAllGeometries()
Remove all stored geometries and time bounds, leaving the container empty.
TimePointType GetMinimumTimePoint(TimeStepType step) const override
Returns the first time point for which the time geometry instance is valid.
std::vector< BaseGeometry::Pointer > m_GeometryVector
TimePointType GetMaximumTimePoint() const override
Returns the last time point for which the time geometry instance is valid.
void AppendNewTimeStepClone(const BaseGeometry *geometry, TimePointType minimumTimePoint, TimePointType maximumTimePoint)
Append a new time step with a clone of the given geometry.
TimePointType GetMinimumTimePoint() const override
Returns the first time point for which the time geometry instance is valid.
void Expand(TimeStepType size) override
Expands the time geometry to the given number of time steps.
mitkClassMacro(ArbitraryTimeGeometry, TimeGeometry)
ArbitraryTimeGeometry(const ArbitraryTimeGeometry &other)
bool IsValid() const override
Tests if all necessary information are set and the object is valid.
TimeStepType TimePointToTimeStep(TimePointType timePoint) const override
Converts a time point to the corresponding time step.
TimeBounds GetTimeBounds() const override
Get the time bounds (in ms) it returns GetMinimumTimePoint() and GetMaximumTimePoint() results as bou...
BaseGeometry::Pointer GetGeometryForTimePoint(TimePointType timePoint) const override
Returns the geometry which corresponds to the given time point.
std::vector< TimePointType > m_MaximumTimePoints
std::vector< TimePointType > m_MinimumTimePoints
void ReplaceTimeStepGeometries(const BaseGeometry *geometry) override
Replaces the geometry instances with clones of the passed geometry.
void AppendNewTimeStep(BaseGeometry *geometry, TimePointType minimumTimePoint, TimePointType maximumTimePoint)
Append a new time step with the given geometry and time bounds.
BaseGeometry::Pointer GetGeometryCloneForTimeStep(TimeStepType timeStep) const override
Returns the geometry which corresponds to the given time step.
TimePointType GetMaximumTimePoint(TimeStepType step) const override
Returns the last time point for which the time geometry instance is valid.
void SetTimeStepGeometry(BaseGeometry *geometry, TimeStepType timeStep) override
Sets the geometry for the given time step.
void PrintSelf(std::ostream &os, itk::Indent indent) const override
TimePointType TimeStepToTimePoint(TimeStepType timeStep) const override
Converts a time step to a time point.
TimeStepType CountTimeSteps() const override
Returns the number of time steps.
TimeBounds GetTimeBounds(TimeStepType step) const override
Get the time bounds for the given TimeStep (in ms)
BaseGeometry::Pointer GetGeometryForTimeStep(TimeStepType timeStep) const override
Returns the geometry which corresponds to the given time step.
bool IsValidTimeStep(TimeStepType timeStep) const override
Test for the given time step if a geometry is available.
void Initialize() override
Initializes a new object with one time steps which contains an empty geometry.
bool HasCollapsedFinalTimeStep() const
Check whether the final time step has collapsed (zero-duration) bounds.
void ReserveSpaceForGeometries(TimeStepType numberOfGeometries)
Pre-allocate space for a given number of geometries.
Abstract base class describing the geometry of a data object.
Find image slices visible on a given plane.
std::size_t TimeStepType
Type for time step indices (non-negative integers starting from 0).
itk::FixedArray< ScalarType, 2 > TimeBounds
Fixed-size array holding a pair of time bound values [min, max] in milliseconds.
mitk::ScalarType TimePointType
Type for time point values in milliseconds (ms).