#include "vtkTransform.h"
#include <cmath>
-
//------------------------------------------------------------------------------
vvSlicerManagerCommand::vvSlicerManagerCommand()
{
if (isi) {
double x = isi->GetInteractor()->GetEventPosition()[0];
double y = isi->GetInteractor()->GetEventPosition()[1];
- double z;
+ double z(4000);
int VisibleInWindow = this->FindSlicerNumber(isi->GetInteractor()->GetRenderWindow());
vtkRenderer* renderer=NULL;
this->SM->SetLocalColorWindowing(VisibleInWindow, bCtrlKey);
return;
}
- if (KeyPress == "0") {
- this->SM->SetPreset(0);
+ if (KeyPress == "0" || KeyPress == "KP_0") {
+ this->SM->SetPreset(WL_AUTO);
this->SM->UpdateWindowLevel();
return;
}
- if (KeyPress == "1") {
- this->SM->SetPreset(1);
+ if (KeyPress == "1" || KeyPress == "KP_1") {
+ this->SM->SetPreset(WL_HOUNSFIELD);
this->SM->UpdateWindowLevel();
return;
}
- if (KeyPress == "2") {
- this->SM->SetPreset(2);
+ if (KeyPress == "2" || KeyPress == "KP_2") {
+ this->SM->SetPreset(WL_SOFTTISSUE);
this->SM->UpdateWindowLevel();
return;
}
- if (KeyPress == "3") {
- this->SM->SetPreset(3);
+ if (KeyPress == "3" || KeyPress == "KP_3") {
+ this->SM->SetPreset(WL_LUNGS);
this->SM->UpdateWindowLevel();
return;
}
- if (KeyPress == "4") {
- this->SM->SetPreset(4);
+ if (KeyPress == "4" || KeyPress == "KP_4") {
+ this->SM->SetPreset(WL_BONES);
this->SM->UpdateWindowLevel();
return;
}
- if (KeyPress == "5") {
- this->SM->SetPreset(5);
+ if (KeyPress == "5" || KeyPress == "KP_5") {
+ this->SM->SetPreset(WL_HEAD);
this->SM->UpdateWindowLevel();
return;
}
- if (KeyPress == "6") {
+ if (KeyPress == "6" || KeyPress == "KP_6") {
this->SM->SetColorMap(0);
this->SM->UpdateWindowLevel();
return;
}
- if (KeyPress == "7") {
+ if (KeyPress == "7" || KeyPress == "KP_7") {
this->SM->SetColorMap(1);
this->SM->UpdateWindowLevel();
return;
}
- if (KeyPress == "8") {
+ if (KeyPress == "8" || KeyPress == "KP_8") {
this->SM->SetColorMap(2);
this->SM->UpdateWindowLevel();
return;
}
- if (KeyPress == "9") {
+ if (KeyPress == "9" || KeyPress == "KP_9") {
this->SM->SetColorMap(3);
this->SM->UpdateWindowLevel();
return;
}
if (KeyPress == "equal") { //keycodes are in vtkWin32RenderWindowInteractor
- this->SM->SetPreset(7);
+ this->SM->SetPreset(WL_VENTILATION);
//this->SM->SetColorMap(1);
this->SM->UpdateWindowLevel();
return;
this->SM->UpdateSliceRange(VisibleInWindow);
}
+ this->SM->EmitKeyPressed(KeyPress);
}
//All type of mouse events
if (event == vtkCommand::LeaveEvent) {
this->SM->GetSlicer(VisibleInWindow)->SetCurrentPosition(-VTK_DOUBLE_MAX,-VTK_DOUBLE_MAX,
- -VTK_DOUBLE_MAX,this->SM->GetSlicer(VisibleInWindow)->GetTSlice());
+ -VTK_DOUBLE_MAX,this->SM->GetSlicer(VisibleInWindow)->GetMaxCurrentTSlice());
this->SM->GetSlicer(VisibleInWindow)->Render();
return;
}
- //DD(event);
// Mouse release HERE
if (event == vtkCommand::EndPickEvent) {
// DD(VisibleInWindow);
zWorld = z;
break;
}
- this->SM->GetSlicer(VisibleInWindow)->SetCurrentPosition(xWorld,yWorld,zWorld,
- this->SM->GetSlicer(VisibleInWindow)->GetTSlice());
+
+ // <<<<<<< HEAD
+ // this->SM->GetSlicer(VisibleInWindow)->SetCurrentPosition(xWorld,yWorld,zWorld,
+ // this->SM->GetSlicer(VisibleInWindow)->GetTSlice());
+ // // We propagate the mouse position
+ // this->SM->EmitMousePositionUpdated(VisibleInWindow);
+ // =======
+ double p[3]; p[0] = xWorld; p[1] = yWorld; p[2] = zWorld;
+ double pt[3];
+ this->SM->GetSlicer(VisibleInWindow)->GetSlicingTransform()->TransformPoint(p, pt);
+
+ this->SM->GetSlicer(VisibleInWindow)->SetCurrentPosition(pt[0],pt[1],pt[2],
+ this->SM->GetSlicer(VisibleInWindow)->GetMaxCurrentTSlice());
+
+ // We propagate the mouse position
+ this->SM->EmitMousePositionUpdated(VisibleInWindow);
+
+ //>>>>>>> 921642d767beba2442dacc8fdb40dc36396e1b7d
+
if (newLandmark) {
- this->SM->AddLandmark(xWorld,yWorld,zWorld,
+ double pLand[3]; pLand[0] = xWorld; pLand[1] = yWorld; pLand[2] = zWorld;
+ double ptLand[3];
+ this->SM->GetSlicer(VisibleInWindow)->GetConcatenatedTransform()->TransformPoint(pLand, ptLand);
+ this->SM->AddNewLandmark(ptLand[0],ptLand[1],ptLand[2],
this->SM->GetSlicer(VisibleInWindow)->GetTSlice());
- this->SM->GetSlicer(VisibleInWindow)->UpdateLandmarks();
+ this->SM->GetSlicer(VisibleInWindow)->RemoveLandmarks();
+ //this->SM->GetSlicer(VisibleInWindow)->DisplayLandmarks();
this->SM->Render();
}
if (event == vtkCommand::PickEvent || event == vtkCommand::StartPickEvent) {
this->SM->SetColorWindow(window*dx);
this->SM->SetColorLevel(level-dy);
- this->SM->SetPreset(6);
+ this->SM->SetPreset(WL_USER);
this->SM->Render();
this->SM->UpdateWindowLevel();
return;