Page MenuHomePhabricator
Authored By
zelzer
Feb 12 2010, 6:50 PM
Size
6 KB
Referenced Files
None
Subscribers
None

ug.patch

Index: Modules/MitkExt/Algorithms/mitkCoreExtObjectFactory.cpp
===================================================================
--- Modules/MitkExt/Algorithms/mitkCoreExtObjectFactory.cpp (Revision 21303)
+++ Modules/MitkExt/Algorithms/mitkCoreExtObjectFactory.cpp (Arbeitskopie)
@@ -207,7 +207,10 @@
mitk::GPUVolumeMapper3D::SetDefaultProperties(node);
}
-
+ if (dynamic_cast<mitk::UnstructuredGrid*>(node->GetData()))
+ {
+ mitk::UnstructuredGridVtkMapper3D::SetDefaultProperties(node);
+ }
}
Index: Modules/MitkExt/Rendering/mitkUnstructuredGridMapper2D.cpp
===================================================================
--- Modules/MitkExt/Rendering/mitkUnstructuredGridMapper2D.cpp (Revision 21303)
+++ Modules/MitkExt/Rendering/mitkUnstructuredGridMapper2D.cpp (Arbeitskopie)
@@ -54,6 +54,7 @@
#include <vtkScalarsToColors.h>
#include <vtkPiecewiseFunction.h>
#include <vtkColorTransferFunction.h>
+#include <vtkProp3DCollection.h>
#include <itkProcessObject.h>
@@ -234,7 +235,7 @@
vlines->GetNextCell( cellSize, cell );
float rgba[4] = {1.0f, 1.0f, 1.0f, 0};
- if (m_ScalarVisibility->GetValue())
+ if (m_ScalarVisibility->GetValue() && vcellscalars)
{
if ( m_ScalarMode->GetVtkScalarMode() == VTK_SCALAR_MODE_DEFAULT ||
m_ScalarMode->GetVtkScalarMode() == VTK_SCALAR_MODE_USE_CELL_DATA )
@@ -298,7 +299,7 @@
vpolys->GetNextCell( cellSize, cell );
float rgba[4] = {1.0f, 1.0f, 1.0f, 0};
- if (m_ScalarVisibility->GetValue())
+ if (m_ScalarVisibility->GetValue() && vcellscalars)
{
if ( m_ScalarMode->GetVtkScalarMode() == VTK_SCALAR_MODE_DEFAULT ||
m_ScalarMode->GetVtkScalarMode() == VTK_SCALAR_MODE_USE_CELL_DATA )
@@ -397,13 +398,8 @@
vtkAbstractMapper3D*
mitk::UnstructuredGridMapper2D
-::GetVtkAbstractMapper3D(mitk::BaseRenderer * /*renderer*/)
+::GetVtkAbstractMapper3D(mitk::BaseRenderer * renderer)
{
-
- return NULL;
-
- /*
-
//MITK_INFO << "GETVTKABSTRACTMAPPER3D\n";
mitk::DataTreeNode::ConstPointer node = this->GetDataTreeNode();
if ( node.IsNull() )
@@ -417,20 +413,43 @@
mitkMapper->Update(renderer);
- vtkActor* actor = dynamic_cast<vtkActor*>( mitkMapper->GetVtkProp() );
- if (actor)
+ vtkAssembly* assembly = dynamic_cast<vtkAssembly*>(mitkMapper->GetVtkProp(renderer));
+ if (assembly)
{
- return dynamic_cast<vtkAbstractMapper3D*>( actor->GetMapper() );
+ vtkProp3DCollection* collection = assembly->GetParts();
+ collection->InitTraversal();
+ vtkProp3D* prop3d = 0;
+ do
+ {
+ prop3d = collection->GetNextProp3D();
+ vtkActor* actor = dynamic_cast<vtkActor*>( prop3d );
+ if (actor)
+ {
+ return dynamic_cast<vtkAbstractMapper3D*>( actor->GetMapper() );
+ }
+
+ vtkVolume* volume = dynamic_cast<vtkVolume*>( prop3d );
+ if (volume)
+ {
+ return dynamic_cast<vtkAbstractMapper3D*>( volume->GetMapper() );
+ }
+ } while (prop3d != collection->GetLastProp3D());
}
-
- vtkVolume* volume = dynamic_cast<vtkVolume*>( mitkMapper->GetVtkProp() );
- if (volume)
+ else
{
- return dynamic_cast<vtkAbstractMapper3D*>( volume->GetMapper() );
+ vtkActor* actor = dynamic_cast<vtkActor*>( mitkMapper->GetVtkProp(renderer) );
+ if (actor)
+ {
+ return dynamic_cast<vtkAbstractMapper3D*>( actor->GetMapper() );
+ }
+
+ vtkVolume* volume = dynamic_cast<vtkVolume*>( mitkMapper->GetVtkProp(renderer) );
+ if (volume)
+ {
+ return dynamic_cast<vtkAbstractMapper3D*>( volume->GetMapper() );
+ }
}
-
return 0;
- */
}
Index: Modules/MitkExt/Rendering/mitkUnstructuredGridVtkMapper3D.cpp
===================================================================
--- Modules/MitkExt/Rendering/mitkUnstructuredGridVtkMapper3D.cpp (Revision 21303)
+++ Modules/MitkExt/Rendering/mitkUnstructuredGridVtkMapper3D.cpp (Arbeitskopie)
@@ -191,19 +191,21 @@
//
// apply properties read from the PropertyList
//
- SetProperties(renderer);
+ ApplyProperties(0, renderer);
}
-void mitk::UnstructuredGridVtkMapper3D::SetProperties(mitk::BaseRenderer* renderer)
+void mitk::UnstructuredGridVtkMapper3D::ApplyProperties(vtkActor* actor, mitk::BaseRenderer* renderer)
{
- mitk::DataTreeNode::Pointer node = this->GetDataTreeNode();
+ Superclass::ApplyProperties(m_Actor, renderer);
+ Superclass::ApplyProperties(m_ActorWireframe, renderer);
+
vtkVolumeProperty* volProp = m_Volume->GetProperty();
vtkProperty* property = m_Actor->GetProperty();
+ mitk::DataTreeNode* node = this->GetDataTreeNode();
- mitk::MaterialProperty* materialProperty;
- this->GetDataTreeNode()->GetProperty(materialProperty, "material");
- if ( materialProperty != 0 )
+ mitk::MaterialProperty::Pointer materialProperty;
+ if (node->GetProperty(materialProperty, "material"))
{
if ( materialProperty->GetRenderer() == 0 || materialProperty->GetRenderer() == renderer )
{
@@ -352,6 +354,15 @@
//
// m_VtkVolumeRayCastMapper->SetScalarRange(scalarsMin,scalarsMax);
// }
+}
+void mitk::UnstructuredGridVtkMapper3D::SetDefaultProperties(mitk::DataTreeNode* node, mitk::BaseRenderer* renderer, bool overwrite)
+{
+ node->AddProperty("material", MaterialProperty::New(), renderer, overwrite);
+ //node->AddProperty("TransferFunction", TransferFunctionProperty::New(), renderer, overwrite);
+ node->AddProperty("grid representation", GridRepresentationProperty::New(), renderer, overwrite);
+ node->AddProperty("grid volume mapper", GridVolumeMapperProperty::New(), renderer, overwrite);
+
+ Superclass::SetDefaultProperties(node, renderer, overwrite);
}
Index: Modules/MitkExt/Rendering/mitkUnstructuredGridVtkMapper3D.h
===================================================================
--- Modules/MitkExt/Rendering/mitkUnstructuredGridVtkMapper3D.h (Revision 21303)
+++ Modules/MitkExt/Rendering/mitkUnstructuredGridVtkMapper3D.h (Arbeitskopie)
@@ -56,7 +56,10 @@
virtual const mitk::UnstructuredGrid* GetInput();
virtual vtkProp* GetVtkProp(mitk::BaseRenderer* renderer);
+
+ static void SetDefaultProperties(mitk::DataTreeNode* node, mitk::BaseRenderer* renderer = NULL, bool overwrite = false);
+ void ApplyProperties(vtkActor* actor, mitk::BaseRenderer* renderer);
protected:

File Metadata

Mime Type
text/plain
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
439
Default Alt Text
ug.patch (6 KB)

Event Timeline

Enable unstructured grid rendering (first version)