|
|
|
|
@@ -189,6 +189,32 @@ void ResliceImageViewer::Render() {
|
|
|
|
|
MeasureRenderer->AddActor2D(cursor1);
|
|
|
|
|
MeasureRenderer->AddActor2D(cursor2);
|
|
|
|
|
|
|
|
|
|
InitOrthogonalCursor();
|
|
|
|
|
this->InteractorStyle->AddObserver(ResliceCursorLegendActor::MOUSE_FREE_MOVE,this,&ResliceImageViewer::updateHandle);
|
|
|
|
|
this->InteractorStyle->AddObserver(ResliceCursorLegendActor::IMAGE_INTERACT_ON,cursor1,&ResliceCursorLegendActor::ActiveControlPointOff);
|
|
|
|
|
this->InteractorStyle->AddObserver(ResliceCursorLegendActor::IMAGE_INTERACT_ON,this,&ResliceImageViewer::InvokeClick);
|
|
|
|
|
this->InteractorStyle->AddObserver(ResliceCursorLegendActor::IMAGE_INTERACT_OFF,this,&ResliceImageViewer::ResetHandle);
|
|
|
|
|
this->InteractorStyle->AddObserver(ResliceCursorLegendActor::END_DRAG,this,&ResliceImageViewer::EndDrag);
|
|
|
|
|
this->InteractorStyle->AddObserver(SliceEvent,this, &ResliceImageViewer::SliceCallback);
|
|
|
|
|
this->InteractorStyle->AddObserver(vtkCommand::WindowLevelEvent,this, &ResliceImageViewer::WindowLevelCallback);
|
|
|
|
|
this->InteractorStyle->AddObserver(vtkCommand::EndWindowLevelEvent,this, &ResliceImageViewer::EndWindowLevelCallback);
|
|
|
|
|
|
|
|
|
|
this->RenderWindow->AddObserver(vtkCommand::WindowResizeEvent,this,&ResliceImageViewer::handleResize);
|
|
|
|
|
cursor1->AddObserver(ResliceCursorLegendActor::ROLL,this, &ResliceImageViewer::handleRoll);
|
|
|
|
|
cursor1->AddObserver(ResliceCursorLegendActor::MOVE,this, &ResliceImageViewer::handleMove);
|
|
|
|
|
cursor2->AddObserver(ResliceCursorLegendActor::ROLL,this, &ResliceImageViewer::handleRoll);
|
|
|
|
|
cursor2->AddObserver(ResliceCursorLegendActor::MOVE,this, &ResliceImageViewer::handleMove);
|
|
|
|
|
MeasureRenderer->AddActor2D(Square);
|
|
|
|
|
MeasureRenderer->AddActor(annotation);
|
|
|
|
|
UpdateDirectionAnnotation();
|
|
|
|
|
Render();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
Interactor->Render();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void ResliceImageViewer::InitOrthogonalCursor() const {
|
|
|
|
|
cursor1->SetSlicePoint(MeasureRenderer->GetActiveCamera()->GetFocalPoint());
|
|
|
|
|
cursor2->SetSlicePoint(MeasureRenderer->GetActiveCamera()->GetFocalPoint());
|
|
|
|
|
cursor1->SetProjectDirectionVector(MeasureRenderer->GetActiveCamera()->GetDirectionOfProjection());
|
|
|
|
|
@@ -226,28 +252,6 @@ void ResliceImageViewer::Render() {
|
|
|
|
|
OrientationMatrix->MultiplyPoint(sliceDirection2, sliceDirection2);
|
|
|
|
|
cursor1->SetSliceDirectionVector(sliceDirection1);
|
|
|
|
|
cursor2->SetSliceDirectionVector(sliceDirection2);
|
|
|
|
|
this->InteractorStyle->AddObserver(ResliceCursorLegendActor::MOUSE_FREE_MOVE,this,&ResliceImageViewer::updateHandle);
|
|
|
|
|
this->InteractorStyle->AddObserver(ResliceCursorLegendActor::IMAGE_INTERACT_ON,cursor1,&ResliceCursorLegendActor::ActiveControlPointOff);
|
|
|
|
|
this->InteractorStyle->AddObserver(ResliceCursorLegendActor::IMAGE_INTERACT_ON,this,&ResliceImageViewer::InvokeClick);
|
|
|
|
|
this->InteractorStyle->AddObserver(ResliceCursorLegendActor::IMAGE_INTERACT_OFF,this,&ResliceImageViewer::ResetHandle);
|
|
|
|
|
this->InteractorStyle->AddObserver(ResliceCursorLegendActor::END_DRAG,this,&ResliceImageViewer::EndDrag);
|
|
|
|
|
this->InteractorStyle->AddObserver(SliceEvent,this, &ResliceImageViewer::SliceCallback);
|
|
|
|
|
this->InteractorStyle->AddObserver(vtkCommand::WindowLevelEvent,this, &ResliceImageViewer::WindowLevelCallback);
|
|
|
|
|
this->InteractorStyle->AddObserver(vtkCommand::EndWindowLevelEvent,this, &ResliceImageViewer::EndWindowLevelCallback);
|
|
|
|
|
|
|
|
|
|
this->RenderWindow->AddObserver(vtkCommand::WindowResizeEvent,this,&ResliceImageViewer::handleResize);
|
|
|
|
|
cursor1->AddObserver(ResliceCursorLegendActor::ROLL,this, &ResliceImageViewer::handleRoll);
|
|
|
|
|
cursor1->AddObserver(ResliceCursorLegendActor::MOVE,this, &ResliceImageViewer::handleMove);
|
|
|
|
|
cursor2->AddObserver(ResliceCursorLegendActor::ROLL,this, &ResliceImageViewer::handleRoll);
|
|
|
|
|
cursor2->AddObserver(ResliceCursorLegendActor::MOVE,this, &ResliceImageViewer::handleMove);
|
|
|
|
|
MeasureRenderer->AddActor2D(Square);
|
|
|
|
|
MeasureRenderer->AddActor(annotation);
|
|
|
|
|
UpdateDirectionAnnotation();
|
|
|
|
|
Render();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
Interactor->Render();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void ResliceImageViewer::SetDefaultSliceOrientation(int orientation) {
|
|
|
|
|
|