#include <QmitkVolumeVisualizationView.h>
Public Member Functions | |
void | SetFocus () |
QmitkVolumeVisualizationView () | |
virtual | ~QmitkVolumeVisualizationView () |
virtual void | CreateQtPartControl (QWidget *parent) |
virtual void | OnSelectionChanged (std::vector< mitk::DataNode * > nodes) |
Protected Slots | |
void | OnEnableRendering (bool state) |
void | OnEnableLOD (bool state) |
void | OnRenderMode (int mode) |
Protected Attributes | |
berry::ISelectionListener::Pointer | m_SelectionListener |
Ui::QmitkVolumeVisualizationViewControls * | m_Controls |
Definition at line 41 of file QmitkVolumeVisualizationView.h.
QmitkVolumeVisualizationView::QmitkVolumeVisualizationView | ( | ) |
Definition at line 54 of file QmitkVolumeVisualizationView.cpp.
: QmitkFunctionality(), m_Controls(NULL) { }
QmitkVolumeVisualizationView::~QmitkVolumeVisualizationView | ( | ) | [virtual] |
Definition at line 60 of file QmitkVolumeVisualizationView.cpp.
{ }
void QmitkVolumeVisualizationView::CreateQtPartControl | ( | QWidget * | parent ) | [virtual] |
Implements berry::QtViewPart.
Definition at line 64 of file QmitkVolumeVisualizationView.cpp.
References m_Controls, Ui_QmitkVolumeVisualizationViewControls::m_EnableLOD, Ui_QmitkVolumeVisualizationViewControls::m_EnableRenderingCB, Ui_QmitkVolumeVisualizationViewControls::m_ErrorImageLabel, Ui_QmitkVolumeVisualizationViewControls::m_RenderMode, Ui_QmitkVolumeVisualizationViewControls::m_SelectedImageLabel, Ui_QmitkVolumeVisualizationViewControls::m_TransferFunctionGeneratorWidget, Ui_QmitkVolumeVisualizationViewControls::m_TransferFunctionWidget, OnEnableLOD(), OnEnableRendering(), OnRenderMode(), and Ui_QmitkVolumeVisualizationViewControls::setupUi().
{ if (!m_Controls) { m_Controls = new Ui::QmitkVolumeVisualizationViewControls; m_Controls->setupUi(parent); m_Controls->m_RenderMode->addItem("CPU raycast"); m_Controls->m_RenderMode->addItem("CPU MIP raycast"); m_Controls->m_RenderMode->addItem("GPU slicing"); // Only with VTK 5.6 or above #if ((VTK_MAJOR_VERSION > 5) || ((VTK_MAJOR_VERSION==5) && (VTK_MINOR_VERSION>=6) )) m_Controls->m_RenderMode->addItem("GPU raycast"); m_Controls->m_RenderMode->addItem("GPU MIP raycast"); #endif connect( m_Controls->m_EnableRenderingCB, SIGNAL( toggled(bool) ),this, SLOT( OnEnableRendering(bool) )); connect( m_Controls->m_EnableLOD, SIGNAL( toggled(bool) ),this, SLOT( OnEnableLOD(bool) )); connect( m_Controls->m_RenderMode, SIGNAL( activated(int) ),this, SLOT( OnRenderMode(int) )); connect( m_Controls->m_TransferFunctionGeneratorWidget, SIGNAL( SignalUpdateCanvas( ) ), m_Controls->m_TransferFunctionWidget, SLOT( OnUpdateCanvas( ) ) ); m_Controls->m_EnableRenderingCB->setEnabled(false); m_Controls->m_EnableLOD->setEnabled(false); m_Controls->m_RenderMode->setEnabled(false); m_Controls->m_TransferFunctionWidget->setEnabled(false); m_Controls->m_TransferFunctionGeneratorWidget->setEnabled(false); m_Controls->m_SelectedImageLabel->hide(); m_Controls->m_ErrorImageLabel->hide(); } }
void QmitkVolumeVisualizationView::OnEnableLOD | ( | bool | state ) | [protected, slot] |
Definition at line 273 of file QmitkVolumeVisualizationView.cpp.
References mitk::RenderingManager::GetInstance(), mitk::WeakPointer< TObjectType >::IsNull(), and mitk::BoolProperty::New().
Referenced by CreateQtPartControl().
{ if(m_SelectedNode.IsNull()) return; m_SelectedNode->SetProperty("volumerendering.uselod",mitk::BoolProperty::New(state)); mitk::RenderingManager::GetInstance()->RequestUpdateAll(); }
void QmitkVolumeVisualizationView::OnEnableRendering | ( | bool | state ) | [protected, slot] |
Definition at line 263 of file QmitkVolumeVisualizationView.cpp.
References mitk::RenderingManager::GetInstance(), mitk::WeakPointer< TObjectType >::IsNull(), and mitk::BoolProperty::New().
Referenced by CreateQtPartControl().
{ if(m_SelectedNode.IsNull()) return; m_SelectedNode->SetProperty("volumerendering",mitk::BoolProperty::New(state)); UpdateInterface(); mitk::RenderingManager::GetInstance()->RequestUpdateAll(); }
void QmitkVolumeVisualizationView::OnRenderMode | ( | int | mode ) | [protected, slot] |
Definition at line 282 of file QmitkVolumeVisualizationView.cpp.
References mitk::RenderingManager::GetInstance(), mitk::WeakPointer< TObjectType >::IsNull(), mitk::BoolProperty::New(), RM_CPU_MIP_RAYCAST, RM_GPU_COMPOSITE_RAYCAST, RM_GPU_COMPOSITE_SLICING, and RM_GPU_MIP_RAYCAST.
Referenced by CreateQtPartControl().
{ if(m_SelectedNode.IsNull()) return; bool usegpu=mode==RM_GPU_COMPOSITE_SLICING; // Only with VTK 5.6 or above #if ((VTK_MAJOR_VERSION > 5) || ((VTK_MAJOR_VERSION==5) && (VTK_MINOR_VERSION>=6) )) bool useray=(mode==RM_GPU_COMPOSITE_RAYCAST)||(mode==RM_GPU_MIP_RAYCAST); #endif bool usemip=(mode==RM_GPU_MIP_RAYCAST)||(mode==RM_CPU_MIP_RAYCAST); m_SelectedNode->SetProperty("volumerendering.usegpu",mitk::BoolProperty::New(usegpu)); // Only with VTK 5.6 or above #if ((VTK_MAJOR_VERSION > 5) || ((VTK_MAJOR_VERSION==5) && (VTK_MINOR_VERSION>=6) )) m_SelectedNode->SetProperty("volumerendering.useray",mitk::BoolProperty::New(useray)); #endif m_SelectedNode->SetProperty("volumerendering.usemip",mitk::BoolProperty::New(usemip)); mitk::RenderingManager::GetInstance()->RequestUpdateAll(); }
void QmitkVolumeVisualizationView::OnSelectionChanged | ( | std::vector< mitk::DataNode * > | nodes ) | [virtual] |
Invoked when the DataManager selection changed
Reimplemented from QmitkFunctionality.
Definition at line 100 of file QmitkVolumeVisualizationView.cpp.
References m_Controls, Ui_QmitkVolumeVisualizationViewControls::m_ErrorImageLabel, Ui_QmitkVolumeVisualizationViewControls::m_NoSelectedImageLabel, and Ui_QmitkVolumeVisualizationViewControls::m_SelectedImageLabel.
{ bool weHadAnImageButItsNotThreeDeeOrFourDee = false; mitk::DataNode::Pointer node; for (std::vector<mitk::DataNode*>::iterator iter = nodes.begin(); iter != nodes.end(); ++iter) { mitk::DataNode::Pointer currentNode = *iter; if( currentNode.IsNotNull() && dynamic_cast<mitk::Image*>(currentNode->GetData()) ) { if( dynamic_cast<mitk::Image*>(currentNode->GetData())->GetDimension()>=3 ) { if (node.IsNull()) { node = currentNode; } } else { weHadAnImageButItsNotThreeDeeOrFourDee = true; } } } if( node.IsNotNull() ) { m_Controls->m_NoSelectedImageLabel->hide(); m_Controls->m_ErrorImageLabel->hide(); m_Controls->m_SelectedImageLabel->show(); std::string infoText; if (node->GetName().empty()) infoText = std::string("Selected Image: [currently selected image has no name]"); else infoText = std::string("Selected Image: ") + node->GetName(); m_Controls->m_SelectedImageLabel->setText( QString( infoText.c_str() ) ); m_SelectedNode = node; } else { if(weHadAnImageButItsNotThreeDeeOrFourDee) { m_Controls->m_NoSelectedImageLabel->hide(); m_Controls->m_ErrorImageLabel->show(); std::string infoText; infoText = std::string("only 3D or 4D images are supported"); m_Controls->m_ErrorImageLabel->setText( QString( infoText.c_str() ) ); } else { m_Controls->m_SelectedImageLabel->hide(); m_Controls->m_ErrorImageLabel->hide(); m_Controls->m_NoSelectedImageLabel->show(); } m_SelectedNode = 0; } UpdateInterface(); }
void QmitkVolumeVisualizationView::SetFocus | ( | ) | [virtual] |
Called when this view receives the focus. Same as Activated()
Reimplemented from QmitkFunctionality.
Definition at line 304 of file QmitkVolumeVisualizationView.cpp.
{ }
Definition at line 75 of file QmitkVolumeVisualizationView.h.
Referenced by CreateQtPartControl(), and OnSelectionChanged().
A selection listener for datatreenode events
Definition at line 73 of file QmitkVolumeVisualizationView.h.