32 #include "vtkAnnotatedCubeActor.h" 33 #include "vtkCornerAnnotation.h" 35 #include "vtkOrientationMarkerWidget.h" 36 #include "vtkProperty.h" 37 #include "vtkRenderWindow.h" 38 #include "vtkRenderWindowInteractor.h" 39 #include "vtkTextProperty.h" 83 mitkWidget1->GetSliceNavigationController()->ConnectGeometrySendEvent(
87 mitkWidget1->GetSliceNavigationController()->ConnectGeometryTimeEvent(m_TimeNavigationController,
false);
88 mitkWidget2->GetSliceNavigationController()->ConnectGeometryTimeEvent(m_TimeNavigationController,
false);
89 mitkWidget3->GetSliceNavigationController()->ConnectGeometryTimeEvent(m_TimeNavigationController,
false);
90 mitkWidget4->GetSliceNavigationController()->ConnectGeometryTimeEvent(m_TimeNavigationController,
false);
92 mitkWidget4->GetRenderer()->GetVtkRenderer()->SetBackground(0.1, 0.1, 0.1);
93 mitkWidget4->GetRenderer()->GetVtkRenderer()->SetBackground(0.5, 0.5, 0.5);
94 mitkWidget4->GetRenderer()->GetVtkRenderer()->GradientBackgroundOn();
118 float white[3] = {1.0f, 1.0f, 1.0f};
130 m_PlaneNode1->SetProperty(
"layer", layer);
131 m_PlaneNode1->SetColor(1.0, 0.0, 0.0);
143 m_PlaneNode2->SetProperty(
"layer", layer);
144 m_PlaneNode2->SetColor(0.0, 1.0, 0.0);
156 m_PlaneNode3->SetProperty(
"layer", layer);
157 m_PlaneNode3->SetColor(0.0, 0.0, 1.0);
162 if (m_PlaneNode1.IsNotNull() && m_PlaneNode2.IsNotNull() && m_PlaneNode3.IsNotNull() && m_Node.IsNotNull())
164 if (m_DataStorage.IsNotNull())
166 m_DataStorage->Add(m_PlaneNode1);
167 m_DataStorage->Add(m_PlaneNode2);
168 m_DataStorage->Add(m_PlaneNode3);
175 vtkRenderer *vtkrenderer;
181 int w = vtkObject::GetGlobalWarningDisplay();
182 vtkObject::GlobalWarningDisplayOff();
185 if (vtkrenderer !=
nullptr)
186 vtkrenderer->ResetCamera();
189 if (vtkrenderer !=
nullptr)
190 vtkrenderer->ResetCamera();
193 if (vtkrenderer !=
nullptr)
194 vtkrenderer->ResetCamera();
197 if (vtkrenderer !=
nullptr)
198 vtkrenderer->ResetCamera();
200 vtkObject::SetGlobalWarningDisplay(w);
203 int main(
int argc,
char *argv[])
207 fprintf(stderr,
"Usage: %s [filename1] [filename2] ...\n\n",
"");
218 for (i = 1; i < argc; ++i)
221 if (strcmp(argv[i],
"-testing") == 0)
224 std::string filename = argv[i];
228 mitk::DataStorage::SetOfObjects::Pointer nodes =
mitk::IOUtil::Load(filename, *m_DataStorage);
230 for (mitk::DataStorage::SetOfObjects::Iterator nodeIter = nodes->Begin(), nodeIterEnd = nodes->End();
231 nodeIter != nodeIterEnd;
236 if (image.IsNotNull())
247 std::cerr <<
"Could not open file " << filename << std::endl;
262 mitkWidget1->GetRenderer()->PrepareRender();
263 mitkWidget2->GetRenderer()->PrepareRender();
264 mitkWidget3->GetRenderer()->PrepareRender();
267 mitkWidget1->GetRenderer()->SetDataStorage(m_DataStorage);
268 mitkWidget2->GetRenderer()->SetDataStorage(m_DataStorage);
269 mitkWidget3->GetRenderer()->SetDataStorage(m_DataStorage);
270 mitkWidget4->GetRenderer()->SetDataStorage(m_DataStorage);
273 if (m_DisplayInteractor.IsNull())
276 m_DisplayInteractor->LoadStateMachine(
"DisplayInteraction.xml");
277 m_DisplayInteractor->SetEventConfig(
"DisplayConfigMITK.xml");
289 mitkWidget1->SetSize(400, 400);
291 mitkWidget2->GetVtkRenderWindow()->SetPosition(mitkWidget1->GetVtkRenderWindow()->GetPosition()[0] + 420,
292 mitkWidget1->GetVtkRenderWindow()->GetPosition()[1]);
293 mitkWidget2->SetSize(400, 400);
295 mitkWidget3->GetVtkRenderWindow()->SetPosition(mitkWidget1->GetVtkRenderWindow()->GetPosition()[0],
296 mitkWidget1->GetVtkRenderWindow()->GetPosition()[1] + 450);
297 mitkWidget3->SetSize(400, 400);
299 mitkWidget4->GetVtkRenderWindow()->SetPosition(mitkWidget1->GetVtkRenderWindow()->GetPosition()[0] + 420,
300 mitkWidget1->GetVtkRenderWindow()->GetPosition()[1] + 450);
301 mitkWidget4->SetSize(400, 400);
310 auto geo = m_DataStorage->ComputeBoundingGeometry3D(m_DataStorage->GetAll());
313 m_DataStorage->Print(std::cout);
319 mitkWidget1->ReinitEventProvider();
320 mitkWidget2->ReinitEventProvider();
321 mitkWidget3->ReinitEventProvider();
323 mitkWidget1->GetVtkRenderWindow()->Render();
324 mitkWidget2->GetVtkRenderWindow()->Render();
325 mitkWidget3->GetVtkRenderWindow()->Render();
326 mitkWidget4->GetVtkRenderWindow()->Render();
327 mitkWidget4->GetVtkRenderWindowInteractor()->Start();
mitk::RenderWindow::Pointer mitkWidget4
virtual bool InitializeViews(const BaseGeometry *geometry, RequestType type=REQUEST_UPDATE_ALL, bool preserveRoughOrientationInWorldSpace=false)
Base class to implement InteractionEventObservers.
mitk::DisplayInteractor::Pointer m_DisplayInteractor
static BaseRenderer * GetInstance(vtkRenderWindow *renWin)
void AddDisplayPlaneSubTree()
mitk::RenderWindow::Pointer mitkWidget2
mitk::DataNode::Pointer m_PlaneNode3
vtkSmartPointer< vtkMitkRectangleProp > m_RectangleRendering4
Constants for most interaction classes, due to the generic StateMachines.
const SliceNavigationController * GetTimeNavigationController() const
Controls the selection of the slice the associated BaseRenderer will display.
vtkSmartPointer< vtkMitkRectangleProp > m_RectangleRendering2
mitk::DataNode::Pointer m_Node
mitk::DataNode::Pointer m_PlaneNode1
void ConnectGeometryTimeEvent(T *receiver, bool connectSendEvent=true)
mitk::DataStorage::Pointer m_DataStorage
mitk::RenderWindow::Pointer mitkWidget1
Example of a NON QT DEPENDENT MITK RENDERING APPLICATION.
static RenderingManager * GetInstance()
Image class for storing images.
mitk::RenderWindow::Pointer mitkWidget3
vtkSmartPointer< vtkMitkRectangleProp > m_RectangleRendering1
mitk::DataNode::Pointer m_PlaneNode2
mitk::Image::Pointer image
vtkSmartPointer< vtkMitkRectangleProp > m_RectangleRendering3
mitk::SliceNavigationController * m_TimeNavigationController
static ModuleContext * GetModuleContext()
Returns the module context of the calling module.
int main(int argc, char *argv[])
void RequestUpdateAll(RequestType type=REQUEST_UPDATE_ALL)
static DataStorage::SetOfObjects::Pointer Load(const std::string &path, DataStorage &storage, const ReaderOptionsFunctorBase *optionsCallback=nullptr)
Load a file into the given DataStorage.