From 6c0de63744ffe3a25f3ac0a44332f14a60e83ec3 Mon Sep 17 00:00:00 2001 From: Sebastien Valette Date: Thu, 19 Feb 2026 16:08:49 +0100 Subject: [PATCH 1/3] change : use F1 tto F10 keys for snapshot and other utilisies --- Common/RenderWindow.cxx | 131 ++++++++++++++++------------------------ 1 file changed, 53 insertions(+), 78 deletions(-) diff --git a/Common/RenderWindow.cxx b/Common/RenderWindow.cxx index c4c8794..9688dc8 100644 --- a/Common/RenderWindow.cxx +++ b/Common/RenderWindow.cxx @@ -100,62 +100,20 @@ class MyInteractorStyleTrackballCamera:public virtual void OnChar () { vtkRenderWindowInteractor *rwi = this->Interactor; - switch (rwi->GetKeyCode ()) - { - case '1': + std::string key = rwi->GetKeySym(); + + if ( key == "F1" ) this->Window->Capture ("Capture.jpg"); - return; - case '2': + else if ( key == "F2" ) this->Window->Capture ("Capture.eps"); - return; - case '3': + else if ( key == "F3" ) this->Window->Capture ("Capture.png"); - return; - case '4' : + else if ( key == "F4" ) { int Factor; cout<<"Enter new magnification factor :"; cin>>Factor; this->Window->SetCaptureMagnificationFactor(Factor); - return; - case 'E' : - int Number; - cout<<"Enter number of interactions to skip :"; - cin>>Number; - this->Window->SkipInteractions(Number); - return; - case 'N': - case 'n': - this->Window->EnableNormalMap(); - return; - - case 'x': - case 'X': - if (this->EdgesDisplay == 0) - { - this->EdgesDisplay = 1; - this->Window->DisplayInputEdges (); - } - else - { - this->EdgesDisplay = 0; - this->Window->SetInputEdges (0); - } - this->Window->Render (); - return; - case 'I': - case 'i': - this->Window->SwitchDisplayIds (); - return; - case 'a': - this->Window->Render(); - return; - case 'O': - case 'o': - this->Window->SwitchOrientation(); - this->Window->Render(); - return; - case '5': - { + } else if ( key == "F5" ) { char name[100]; cout<<"Save Camera (.view)"<Window->SaveCamera(name); - return; - } - case '6': - { + } else if ( key == "F6" ) { char name[100]; int flag; cout<<"Load Camera"< [OK]"< [BUG]"<SetInputData (this->Window->GetInput ()); SWriter->SetFileName ("mesh.vtk"); SWriter->Write (); SWriter->Delete (); - return; - } - case '8': - { + } else if ( key == "F8" ) { vtkOBJExporter * SWriter = vtkOBJExporter::New (); SWriter->SetInput (this->Window->GetvtkRenderWindow()); SWriter->SetFilePrefix ("mesh"); SWriter->Write (); SWriter->Delete (); - return; - } - case '9': - { + } else if ( key == "F9" ) { vtkSTLWriter * SWriter = vtkSTLWriter::New (); SWriter->SetInputData (this->Window->GetInput ()); SWriter->SetFileName ("mesh.stl"); SWriter->Write (); SWriter->Delete (); - return; - } - case '0': - { + } else if ( key == "F10" ) { vtkPLYWriter * Writer = vtkPLYWriter::New (); Writer->SetInputData (this->Window->GetInput ()); Writer->SetFileName ("mesh.ply"); Writer->Write (); Writer->Delete (); - return; - } - case '_': - { + } else if ( key == "F11" ) { vtkVRMLExporter * Writer = vtkVRMLExporter::New (); Writer->SetInput (this->Window->GetvtkRenderWindow()); Writer->SetFileName ("mesh.wrl"); Writer->Write (); Writer->Delete (); - return; } + + switch (rwi->GetKeyCode ()) + { + case 'E' : + int Number; + cout<<"Enter number of interactions to skip :"; + cin>>Number; + this->Window->SkipInteractions(Number); + break; + case 'N': + case 'n': + this->Window->EnableNormalMap(); + break; + + case 'x': + case 'X': + if (this->EdgesDisplay == 0) + { + this->EdgesDisplay = 1; + this->Window->DisplayInputEdges (); + } + else + { + this->EdgesDisplay = 0; + this->Window->SetInputEdges (0); + } + this->Window->Render (); + break; + case 'I': + case 'i': + this->Window->SwitchDisplayIds (); + break; + case 'a': + this->Window->Render(); + break; + case 'O': + case 'o': + this->Window->SwitchOrientation(); + this->Window->Render(); + break; case '+': { if (this->Window->GetEdgesActor()) @@ -236,7 +214,6 @@ class MyInteractorStyleTrackballCamera:public this->Window->GetEdgesActor()->GetProperty()->GetLineWidth()+1); this->Window->Render(); } - return; } case '-': { @@ -246,7 +223,6 @@ class MyInteractorStyleTrackballCamera:public this->Window->GetEdgesActor()->GetProperty()->GetLineWidth()-1); this->Window->Render(); } - return; } case 'v': { @@ -282,7 +258,6 @@ class MyInteractorStyleTrackballCamera:public } cout< Date: Thu, 19 Feb 2026 16:16:46 +0100 Subject: [PATCH 2/3] fix for vtk latest --- Common/RenderWindow.cxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Common/RenderWindow.cxx b/Common/RenderWindow.cxx index 9688dc8..c5b6312 100644 --- a/Common/RenderWindow.cxx +++ b/Common/RenderWindow.cxx @@ -1112,9 +1112,9 @@ RenderWindow::SetDisplayIdsOn () cellLabels->SetMapper (cellMapper); } - Renderer->AddActor2D (rectActor); - Renderer->AddActor2D (pointLabels); - Renderer->AddActor2D (cellLabels); + Renderer->AddViewProp (rectActor); + Renderer->AddViewProp (pointLabels); + Renderer->AddViewProp (cellLabels); renWin->Render (); From 22e92a4aedc2372a204d3acfa1678873a8d7800e Mon Sep 17 00:00:00 2001 From: Sebastien Valette Date: Thu, 19 Feb 2026 16:21:34 +0100 Subject: [PATCH 3/3] fix for vtk latest --- Common/RenderWindow.cxx | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Common/RenderWindow.cxx b/Common/RenderWindow.cxx index c5b6312..24e7bca 100644 --- a/Common/RenderWindow.cxx +++ b/Common/RenderWindow.cxx @@ -419,7 +419,7 @@ RenderWindow::AddText (char *text, float x, float y, float z, float R, Actor->SetMapper (Mapper); Mapper->Delete(); - this->GetMeshRenderer()->AddActor2D (Actor); + this->GetMeshRenderer()->AddViewProp (Actor); } void @@ -970,11 +970,10 @@ RenderWindow::GetEdgesVisibilityArray() void RenderWindow::SwitchDisplayIds () { - vtkActor2DCollection *Actors = this->GetMeshRenderer()->GetActors2D (); + auto *Actors = this->GetMeshRenderer()->GetViewProps (); - vtkActor2D *Actor; Actors->InitTraversal (); - Actor = Actors->GetNextActor2D (); + auto Actor = Actors->GetNextProp (); while (Actor) { @@ -984,7 +983,7 @@ RenderWindow::SwitchDisplayIds () this->SetDisplayIdsOff (); return; } - Actor = Actors->GetNextActor2D (); + Actor = Actors->GetNextProp (); }