Summary of problem description
mitkMaterialProperty became obsolete.
surfaces can now have a variable number of properties (depending on bound shaders), and mitkMaterialProperty would have to manage a propertylist, but the mitkMaterialProperty is already itself a member of such a list.
additionally its concept of aliasing its attributes into the propertylist of the associated node is no longer maintainable.
mitkMaterialProperty is used in the old QT3 MaterialEditior, which also became obsolete, and has already an QT4-equivalent with shader support (though not the complete functionality)
it is also used in the vesseltreelookup classes, in a map from vessel label to a material.
in all other cases there is no real usage of the mitkMaterialProperty except setting a member, like representation mode (filled/wireframe).
the material attributes are replaced as standard datanode color&float properties:
- color
- material.ambientColor
- material.diffuseColor
- material.specularColor
- material.wireframeLineWidth
- material.ambientCoefficient
- material.diffuseCoefficient
- material.specularCoefficient
- material.specularPower
- material.representation
- material.interpolation
Cause of the bug
mitkMaterialProperty became outdated
Proposed solution
remove any reference to mitkMaterialProperty from the complete svn, except in the vesseltreelookup tables
reintegrate all members of mitkMaterialProperty as standard datanode properties.
rename mitkMaterialProperty to mitkMaterial (and remove inheritance from BaseProperty), so that it can be still used as a material container class for the vesseltreelookup tables.
Affected classes
VesselTreeToLookupTableFilter: rename
VesselTreeLookupTable: rename
VesselTreeLookupTableProperty: rename
ReliverSceneIO: rename
ReliverSceneReaderV1: rename
YetAnotherVesselTreeMapper3D: rename
SurfaceParameterization: attribut access -> property access
PatchProposalPlanningView: attribut access -> property access
LiverPlannerRapidGUI: attribut access -> property access
LymphNodeSegmentationTool: attribut access -> property access
SurfaceVtkOcclusionMapper3D: removal
CoreObjectFactory: removal
DataTreeNodeFactory: removal
DataTreeNode: removal
SurfaceVtkMapper3D: removal and replacement through standard properties
MaterialPropertyTest: renamed to MaterialTest and adapted
MaterialEditor: class COMPLETELY removed
MaterialShowCase: class COMPLETELY removed
DataManagerView: attribut access -> property access
SurfaceMaterialEditorView: properties renamed
ShowSegmentationAsSurface: attribut access -> property access
ExtrudedContourInteractor: property rename
UnstructuredGridVtkMapper3D: removal and replacement through standard properties
PropertyListPopup: removal
MaterialProperty renamed to Material, removed inheritance from BaseProperty and moved to Core/DataManagement
How will the bugfix get tested?
Trough the already existent tests for the modified classes and mitkMaterialPropertyTest is adapted to mitkMaterialTest
