X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvSlicerManagerCommand.cxx;h=7415116f071e52eab1fc8a76dab06f76ca1f95bb;hb=f57924a2649534451ac1ae5a2bdc63e0b6a0092d;hp=b7c2b4669fff27f2a2bd4888ecf501b09d88b4d1;hpb=bb4e897df61593efc572a27c1312e87bb1f13c6e;p=clitk.git diff --git a/vv/vvSlicerManagerCommand.cxx b/vv/vvSlicerManagerCommand.cxx index b7c2b46..7415116 100644 --- a/vv/vvSlicerManagerCommand.cxx +++ b/vv/vvSlicerManagerCommand.cxx @@ -85,9 +85,10 @@ void vvSlicerManagerCommand::Execute(vtkObject *caller, if (event == vtkCommand::StartPickEvent && VisibleInWindow == -1) { - for (int i = 0; i < this->SM->NumberOfSlicers(); i++) { - if (this->SM->GetSlicer(i)->GetCursorVisibility()) { + for (int i = 0; i < this->SM->GetNumberOfSlicers(); i++) { + if (this->SM->GetSlicer(i)->GetCursorVisibility() && !this->SM->IsLinked()) { this->SM->GetSlicer(i)->SetCursorVisibility(0); + this->SM->GetSlicer(i)->SetCornerAnnotationVisibility(0); this->SM->GetSlicer(i)->Render(); } } @@ -184,12 +185,13 @@ void vvSlicerManagerCommand::Execute(vtkObject *caller, return; } if (KeyPress == "h") { - this->SM->SetCursorVisibility(0); + std::cout << "KeyPress == \"h\"\n"; + this->SM->SetCursorAndCornerAnnotationVisibility(0); this->SM->Render(); return; } if (KeyPress == "x") { - for(int i=0; iNumberOfSlicers(); i++) { + for(int i=0; iGetNumberOfSlicers(); i++) { SM->RemoveActor("overlay",0); SM->SetColorMap(0); SM->Render(); @@ -204,6 +206,7 @@ void vvSlicerManagerCommand::Execute(vtkObject *caller, if (KeyPress == "r" || KeyPress=="R") { this->SM->GetSlicer(VisibleInWindow)->ResetCamera(); this->SM->GetSlicer(VisibleInWindow)->Render(); + this->SM->UpdateLinkedNavigation( this->SM->GetSlicer(VisibleInWindow) ); return; } if (KeyPress == "g") { @@ -225,18 +228,12 @@ void vvSlicerManagerCommand::Execute(vtkObject *caller, return; } if (KeyPress == "Up") { - DD("------------ up"); this->SM->GetSlicer(VisibleInWindow)->SetSlice(this->SM->GetSlicer(VisibleInWindow)->GetSlice()+1); - DD("------------ after set slice"); - this->SM->UpdateInfoOnCursorPosition(VisibleInWindow); - DD("------------ after UpdateInfoOnCursorPosition"); this->SM->UpdateSlice(VisibleInWindow); - DD("------------ after updateslice"); } if (KeyPress == "Down") { this->SM->GetSlicer(VisibleInWindow)->SetSlice(this->SM->GetSlicer(VisibleInWindow)->GetSlice()-1); this->SM->UpdateSlice(VisibleInWindow); - this->SM->UpdateInfoOnCursorPosition(VisibleInWindow); } if (KeyPress == "space") { newLandmark = true; @@ -250,19 +247,16 @@ void vvSlicerManagerCommand::Execute(vtkObject *caller, this->SM->GetSlicer(VisibleInWindow)->GetAnnotation()->SetText(2,"Sagital\n"); this->SM->GetSlicer(VisibleInWindow)->SetSliceOrientation(0); this->SM->UpdateSliceRange(VisibleInWindow); - this->SM->UpdateInfoOnCursorPosition(VisibleInWindow); } if (KeyPress == "F3") { this->SM->GetSlicer(VisibleInWindow)->GetAnnotation()->SetText(2,"Coronal\n"); this->SM->GetSlicer(VisibleInWindow)->SetSliceOrientation(1); this->SM->UpdateSliceRange(VisibleInWindow); - this->SM->UpdateInfoOnCursorPosition(VisibleInWindow); } if (KeyPress == "F4") { this->SM->GetSlicer(VisibleInWindow)->GetAnnotation()->SetText(2,"Axial\n"); this->SM->GetSlicer(VisibleInWindow)->SetSliceOrientation(2); this->SM->UpdateSliceRange(VisibleInWindow); - this->SM->UpdateInfoOnCursorPosition(VisibleInWindow); } } @@ -300,27 +294,27 @@ void vvSlicerManagerCommand::Execute(vtkObject *caller, } if (event == vtkCommand::EndInteractionEvent) { + this->SM->Picked(); this->SM->UpdateLinkedNavigation(this->SM->GetSlicer(VisibleInWindow),true); return; } } if (VisibleInWindow > -1) { this->SM->Activated(); - //if(!this->SM->GetSlicer(VisibleInWindow)->GetAnnotation()->GetVisibility()) - this->SM->GetSlicer(VisibleInWindow)->GetAnnotation()->SetVisibility(1); + this->SM->GetSlicer(VisibleInWindow)->SetCornerAnnotationVisibility(1); if (event == vtkCommand::MouseWheelForwardEvent && !isi->GetInteractor()->GetControlKey()) { + this->SM->Picked(); this->SM->GetSlicer(VisibleInWindow)->SetSlice(this->SM->GetSlicer(VisibleInWindow)->GetSlice()+1); this->SM->UpdateSlice(VisibleInWindow); - this->SM->UpdateInfoOnCursorPosition(VisibleInWindow); } else if (event == vtkCommand::MouseWheelForwardEvent && isi->GetInteractor()->GetControlKey()) { double factor = 2; this->Dolly(pow((double)1.1, factor),isi->GetInteractor()); Execute(caller, vtkCommand::EndInteractionEvent, NULL); } else if (event == vtkCommand::MouseWheelBackwardEvent && !isi->GetInteractor()->GetControlKey()) { + this->SM->Picked(); this->SM->GetSlicer(VisibleInWindow)->SetSlice(this->SM->GetSlicer(VisibleInWindow)->GetSlice()-1); this->SM->UpdateSlice(VisibleInWindow); - this->SM->UpdateInfoOnCursorPosition(VisibleInWindow); } else if (event == vtkCommand::MouseWheelBackwardEvent && isi->GetInteractor()->GetControlKey()) { double factor = -2; this->Dolly(pow((double)1.1, factor),isi->GetInteractor()); @@ -370,6 +364,7 @@ void vvSlicerManagerCommand::Execute(vtkObject *caller, this->SM->Render(); } if (event == vtkCommand::PickEvent || event == vtkCommand::StartPickEvent) { + this->SM->Picked(); this->SM->UpdateViews(1,VisibleInWindow); this->SM->UpdateLinked(VisibleInWindow); this->SM->UpdateInfoOnCursorPosition(VisibleInWindow); @@ -382,7 +377,7 @@ void vvSlicerManagerCommand::Execute(vtkObject *caller, } if (event == vtkCommand::WindowLevelEvent && mStartSlicer > -1) { - this->SM->GetSlicer(mStartSlicer)->GetAnnotation()->SetVisibility(1); + this->SM->GetSlicer(mStartSlicer)->SetCornerAnnotationVisibility(1); // Adjust the window level here int *size = isi->GetInteractor()->GetRenderWindow()->GetSize(); double window = this->InitialWindow;