+ if (mOverlay && mOverlayActor->GetVisibility()) {
+ int overExtent[6];
+ ComputeOverlayDisplayedExtent(w_ext[0], w_ext[1], this->Slice, this->Slice, w_ext[4], w_ext[5],overExtent);
+ mOverlayActor->SetDisplayExtent(overExtent);
+ if (Renderer->GetActiveCamera()->GetPosition()[1] > this->Slice)
+ mOverlayActor->SetPosition(0,1,0);
+ else
+ mOverlayActor->SetPosition(0,-1,0);
+ }
+ if (mFusion && mFusionActor->GetVisibility()) {
+ int fusExtent[6];
+ ComputeFusionDisplayedExtent(w_ext[0], w_ext[1], this->Slice, this->Slice, w_ext[4], w_ext[5],fusExtent);
+ mFusionActor->SetDisplayExtent(fusExtent);
+ if (Renderer->GetActiveCamera()->GetPosition()[1] > this->Slice)
+ mFusionActor->SetPosition(0,1.5,0);
+ else
+ mFusionActor->SetPosition(0,-1.5,0);
+ }
+ if (mLandActor) {
+ if (mClipBox) {
+ double bounds [6];
+ bounds[0] = ImageActor->GetBounds()[0];
+ bounds[1] = ImageActor->GetBounds()[1];
+ bounds[2] = ImageActor->GetBounds()[2]-fabs(0.5/this->GetInput()->GetSpacing()[1]);
+ bounds[3] = ImageActor->GetBounds()[3]+fabs(0.5/this->GetInput()->GetSpacing()[1]);
+ bounds[4] = ImageActor->GetBounds()[4];
+ bounds[5] = ImageActor->GetBounds()[5];
+ mClipBox->SetBounds(bounds);
+ UpdateLandmarks();
+ }
+ if (Renderer->GetActiveCamera()->GetPosition()[1] > this->Slice)
+ mLandActor->SetPosition(0,1.5,0);
+ else
+ mLandActor->SetPosition(0,-1.5,0);
+ }
+ break;
+
+ case vtkImageViewer2::SLICE_ORIENTATION_YZ:
+ this->ImageActor->SetDisplayExtent(
+ this->Slice, this->Slice, w_ext[2], w_ext[3], w_ext[4], w_ext[5]);
+ if (mVF && mVFActor->GetVisibility()) {
+ int vfExtent[6];
+ ComputeVFDisplayedExtent(this->Slice, this->Slice, w_ext[2], w_ext[3], w_ext[4], w_ext[5],vfExtent);
+ mVOIFilter->SetVOI(vfExtent);
+ mGlyphFilter->SetOrientation(0,1,1);
+ mVFMapper->Update();
+ // put the vector field between the image and the camera
+ if (Renderer->GetActiveCamera()->GetPosition()[0] > this->Slice)
+ mVFActor->SetPosition(ImageActor->GetBounds()[1]+2,0,0);
+ else
+ mVFActor->SetPosition(ImageActor->GetBounds()[0]-2,0,0);
+ }
+ if (mOverlay && mOverlayActor->GetVisibility()) {
+ int overExtent[6];
+ ComputeOverlayDisplayedExtent(this->Slice, this->Slice, w_ext[2], w_ext[3], w_ext[4], w_ext[5],overExtent);
+ mOverlayActor->SetDisplayExtent(overExtent);
+ if (Renderer->GetActiveCamera()->GetPosition()[0] > this->Slice)
+ mOverlayActor->SetPosition(1,0,0);
+ else
+ mOverlayActor->SetPosition(-1,0,0);
+ }
+ if (mFusion && mFusionActor->GetVisibility()) {
+ int fusExtent[6];
+ ComputeFusionDisplayedExtent(this->Slice, this->Slice, w_ext[2], w_ext[3], w_ext[4], w_ext[5],fusExtent);
+ mFusionActor->SetDisplayExtent(fusExtent);
+ if (Renderer->GetActiveCamera()->GetPosition()[0] > this->Slice)
+ mFusionActor->SetPosition(1.5,0,0);
+ else
+ mFusionActor->SetPosition(-1.5,0,0);
+ }
+ if (mLandActor) {
+ if (mClipBox) {
+ double bounds [6];
+ bounds[0] = ImageActor->GetBounds()[0]-fabs(0.5/this->GetInput()->GetSpacing()[0]);
+ bounds[1] = ImageActor->GetBounds()[1]+fabs(0.5/this->GetInput()->GetSpacing()[0]);
+ bounds[2] = ImageActor->GetBounds()[2];
+ bounds[3] = ImageActor->GetBounds()[3];
+ bounds[4] = ImageActor->GetBounds()[4];
+ bounds[5] = ImageActor->GetBounds()[5];
+ mClipBox->SetBounds(bounds);
+ UpdateLandmarks();
+ }
+ if (Renderer->GetActiveCamera()->GetPosition()[0] > this->Slice)
+ mLandActor->SetPosition(1.5,0,0);
+ else
+ mLandActor->SetPosition(-1.5,0,0);
+ }
+ break;
+ }