#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.
1.7.2