120 if (timePoint < *pos)
209 *pos = geometry->
Clone();
231 newTimeGeometry->m_GeometryVector.clear();
245 mitkThrow() <<
"Cannot append geometry to time geometry. Invalid geometry passed (nullptr pointer).";
248 if (maximumTimePoint < minimumTimePoint)
250 mitkThrow() <<
"Cannot append geometry to time geometry. Time bound conflict. Maxmimum time point ("<<maximumTimePoint<<
") is smaller than minimum time point ("<<minimumTimePoint<<
").";
257 mitkThrow() <<
"Cannot append geometry to time geometry. Time bound conflict new time point and currently last time point overlapp.";
279 os << indent <<
" MinimumTimePoint: " << this->
GetMinimumTimePoint() <<
" ms" << std::endl;
280 os << indent <<
" MaximumTimePoint: " << this->
GetMaximumTimePoint() <<
" ms" << std::endl;
283 os << indent <<
" min TimeBounds: " << std::endl;
286 os << indent.GetNextIndent() <<
"Step " << i <<
": " <<
m_MinimumTimePoints[i] <<
" ms" << std::endl;
289 os << indent <<
" max TimeBounds: " << std::endl;
292 os << indent.GetNextIndent() <<
"Step " << i <<
": " <<
m_MaximumTimePoints[i] <<
" ms" << std::endl;
void AppendNewTimeStepClone(const BaseGeometry *geometry, TimePointType minimumTimePoint, TimePointType maximumTimePoint)
void ReplaceTimeStepGeometries(const BaseGeometry *geometry) override
Replaces the geometry instances with clones of the passed geometry.
std::vector< TimePointType > m_MinimumTimePoints
itk::FixedArray< ScalarType, 2 > TimeBounds
Standard typedef for time-bounds.
TimeStepType CountTimeSteps() const override
Returns the number of time steps.
~ArbitraryTimeGeometry() override
TimePointType GetMaximumTimePoint() const override
Returns the last time point for which the time geometry instance is valid.
void PrintSelf(std::ostream &os, itk::Indent indent) const override
void Initialize() override
Initializes a new object with one time steps which contains an empty geometry.
TimePointType TimeStepToTimePoint(TimeStepType timeStep) const override
Converts a time step to a time point.
void ReserveSpaceForGeometries(TimeStepType numberOfGeometries)
void AppendNewTimeStep(BaseGeometry *geometry, TimePointType minimumTimePoint, TimePointType maximumTimePoint)
TimeStepType TimePointToTimeStep(TimePointType timePoint) const override
Converts a time point to the corresponding time step.
TimePointType GetMinimumTimePoint() const override
Returns the first time point for which the time geometry instance is valid.
itk::LightObject::Pointer InternalClone() const override
Makes a deep copy of the current object.
bool IsValidTimeStep(TimeStepType timeStep) const override
Test for the given time step if a geometry is availible.
BaseGeometry::Pointer GetGeometryForTimePoint(TimePointType timePoint) const override
Returns the geometry which corresponds to the given time point.
BaseGeometry::Pointer GetGeometryForTimeStep(TimeStepType timeStep) const override
Returns the geometry which corresponds to the given time step.
static void clone(T *&dst, S *src, int n)
std::vector< TimePointType > m_MaximumTimePoints
mitk::ScalarType TimePointType
std::vcl_size_t TimeStepType
void PrintSelf(std::ostream &os, itk::Indent indent) const override
void Expand(TimeStepType size) override
Expands the time geometry to the given number of time steps.
bool IsValidTimePoint(TimePointType timePoint) const override
Tests if a given time point is covered by this time geometry instance.
void ClearAllGeometries()
void SetTimeStepGeometry(BaseGeometry *geometry, TimeStepType timeStep) override
Sets the geometry for the given time step.
BaseGeometry::Pointer GetGeometryCloneForTimeStep(TimeStepType timeStep) const override
Returns the geometry which corresponds to the given time step.
TimeBounds GetTimeBounds() const override
Get the time bounds (in ms) it returns GetMinimumTimePoint() and GetMaximumTimePoint() results as bou...
bool IsValid() const override
Tests if all necessary informations are set and the object is valid.
std::vector< BaseGeometry::Pointer > m_GeometryVector
LightObject::Pointer InternalClone() const override
Makes a deep copy of the current object.
void Update()
Updates the geometry.
BaseGeometry Describes the geometry of a data object.