From: tbaudier Date: Tue, 17 Jan 2017 14:47:36 +0000 (+0100) Subject: Merge branch 'master' into extentSimon X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=fa2e794ec6a4567ad36729f06d20f45e9c988519;hp=aa6b838a5b6880c40ca8d9dbe72846c5812e5f93;p=clitk.git Merge branch 'master' into extentSimon --- diff --git a/vv/vvSlicer.cxx b/vv/vvSlicer.cxx index 46139cd..26d2ac2 100644 --- a/vv/vvSlicer.cxx +++ b/vv/vvSlicer.cxx @@ -1007,7 +1007,7 @@ void vvSlicer::SetSliceOrientation(int orientation) if (this->Renderer && this->GetInput()) { double scale = this->Renderer->GetActiveCamera()->GetParallelScale(); - this->Renderer->ResetCamera(); + ResetCamera(); this->Renderer->GetActiveCamera()->SetParallelScale(scale); } @@ -1239,7 +1239,15 @@ void vvSlicer::UpdateDisplayExtent() if (this->Renderer) { if (this->InteractorStyle && this->InteractorStyle->GetAutoAdjustCameraClippingRange()) { + double positionCamera[3], originTemp[3]; + this->Renderer->GetActiveCamera()->GetPosition(positionCamera); this->Renderer->ResetCameraClippingRange(); + originTemp[0] = mImage->GetVTKImages()[mCurrentTSlice]->GetOrigin()[0]; + originTemp[1] = mImage->GetVTKImages()[mCurrentTSlice]->GetOrigin()[1]; + originTemp[2] = mImage->GetVTKImages()[mCurrentTSlice]->GetOrigin()[2]; + mConcatenatedTransform->GetInverse()->TransformPoint(originTemp, originTemp); + positionCamera[this->SliceOrientation] = originTemp[this->SliceOrientation]-1; + this->Renderer->GetActiveCamera()->SetPosition(positionCamera); } else { vtkCamera *cam = this->Renderer->GetActiveCamera(); if (cam) { @@ -1401,7 +1409,6 @@ void vvSlicer::SetRenderWindow(int orientation, vtkRenderWindow * rw) this->GetRenderer()->AddActor(pdmA); this->GetRenderer()->AddActor(ca); - this->GetRenderer()->ResetCamera(); //this is just a mapping between the labeling of the orientations presented to the user and //the one used by vtk