Page MenuHomePhabricator

4D datatypes are not rendered properly
Closed, ResolvedPublic

Description

4D Datatypes (except images) are not rendered propably.
This is due to the recent changes in the geometry system.

Load e.g. a 4D curve model (MBI datatype). You can propably use 4D pointsets or meshes as well.

The bounding geometry will only have one time step.

The reason for this lies in the method

mitk::TimeGeometry::Pointer mitk::DataStorage::ComputeBoundingGeometry3D( const SetOfObjects* input, const char* boolPropertyKey, mitk::BaseRenderer* renderer, const char* boolPropertyKey2)

In this function the min and max timebound for a set of dataobjects are detected and used to create a bounding geometry.

Within the method you will find something like this

for (SetOfObjects::ConstIterator it = input->Begin(); it != input->End(); ++it)
{
...
for (TimeStepType i=0; i<timeGeometry->CountTimeSteps(); i++)
{
...
const TimeBounds & curTimeBounds = node->GetData()->GetGeometry(i)->GetTimeBounds();
..
// remember the max, min and min-interval of all occuring timebounds
..
}
..
}

The problem here is that the timebounds are extracted from each geometry3D object within a time-geometry. This is bad behavior, since geometry3D should not contain time information. For 4D datatypes these timebound values are not set within the single geometry3D objects.

Solution would be to introduce a "GetMinTimebound", "GetMaxTimebound" and "GetMinIntervalTimebound" to the Time-Geometry class and use these functions here.

Event Timeline

User goetzm has pushed new remote branch:

bug-17209-RemoveTimeBoundsFromGeometry3D

Removed the time bounds from geometry 3d. This information is now stored in TimeGeometry, to meet the plan that all time related information are saved in time geometry.

Setting target milestone to upcoming release. What is the status of this bug?

This is a bigger change and will not be included in 2014-03. I changed the target milestone.

User goetzm has pushed new remote branch:

bug-17209-RemoveTimeBoundsFromGeometry3D-V2

MITK is compiling and working.

The problem is that STL are not rendered in 2D

The branch bug-17209-RemoveTimeBoundsFromGeometry3D-V2 is merged in T17035.