Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F457
ug.patch
Public
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Authored By
zelzer
Feb 12 2010, 6:50 PM
2010-02-12 18:50:06 (UTC+1)
Size
6 KB
Referenced Files
None
Subscribers
None
ug.patch
View Options
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
Details
Attached
Mime Type
text/plain
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
439
Default Alt Text
ug.patch (6 KB)
Attached To
Mode
T3337: Unstructured grid rendering is broken
Attached
Detach File
Event Timeline
zelzer
added a comment.
Feb 12 2010, 6:50 PM
2010-02-12 18:50:06 (UTC+1)
Comment Actions
Enable unstructured grid rendering (first version)
Log In to Comment