if (this->Renderer && this->GetInput()) {
double scale = this->Renderer->GetActiveCamera()->GetParallelScale();
- this->Renderer->ResetCamera();
+ ResetCamera();
this->Renderer->GetActiveCamera()->SetParallelScale(scale);
}
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) {
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