Page MenuHomePhabricator

Renderwindow specific properties cannot be loaded when Display is closed
Closed, ResolvedPublic

Description

A DataNode can have render window specific properties, e.g., planar figures create such a property for the render window in which they were drawn.

When loading a scene the SceneReaderV1 tries to get render windows by the stored render window names to be able to get access to the render window specific property lists of data nodes in turn. If the display is closed, e.g., after a project was closed, there is no possibility for the reader to get the matching render windows as there are no render windows at that time.

The actual problem is that data nodes use a map to access their property lists and these maps use renderer pointers as key. They should use renderer names instead to be able to read all properties no matter if the display is open or not.

This change would not affect the public interface in a sense of incompatibilities. It is a small class internal change plus an *additional* GetPropertyList() method that takes a string. This method can be used by SceneReaderV1 to read all properties successfully.

Event Timeline

User kislinsk has pushed new remote branch:

bug-17412-StdStringAsKeyForDataNodePropertyListMap

[587dd0]: Merge branch 'bug-17412-StdStringAsKeyForDataNodePropertyListMap'

Merged commits:

2014-03-05 16:37:25 Stefan Kislinskiy [42f10f]
Changed internal property list map key type of DataNode to std::string.

Removed deprecated (since 2012) "transversal" stuff in favor of "axial" stuff.

[305ee5]: Merge branch 'bug-17412-StdStringAsKeyForDataNodePropertyListMap'

Merged commits:

2014-03-06 23:42:12 Andreas Fetzer [474950]
COMP Fixed test which fails because of equally named renderers