mConcatenatedTransform->Concatenate(mImage->GetTransform()[0]);
mConcatenatedTransform->Concatenate(mSlicingTransform);
mImageReslice->SetResliceTransform(mConcatenatedTransform);
+ //mImageReslice->SetResliceAxes(mConcatenatedTransform->GetMatrix());
#if VTK_MAJOR_VERSION <= 5
mImageReslice->SetInput(0, mImage->GetFirstVTKImageData());
#else
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
double Y = (pt[1] - mImage->GetVTKImages()[mCurrentTSlice]->GetOrigin()[1])/mImage->GetVTKImages()[mCurrentTSlice]->GetSpacing()[1];
double Z = (pt[2] - mImage->GetVTKImages()[mCurrentTSlice]->GetOrigin()[2])/mImage->GetVTKImages()[mCurrentTSlice]->GetSpacing()[2];
#if VTK_MAJOR_VERSION <= 5
- if (X >= this->GetInput()->GetWholeExtent()[0]-0.5 &&
- X <= this->GetInput()->GetWholeExtent()[1]+0.5 &&
- Y >= this->GetInput()->GetWholeExtent()[2]-0.5 &&
- Y <= this->GetInput()->GetWholeExtent()[3]+0.5 &&
- Z >= this->GetInput()->GetWholeExtent()[4]-0.5 &&
- Z <= this->GetInput()->GetWholeExtent()[5]+0.5) {
+ if (X >= mImage->GetVTKImages()[mCurrentTSlice]->GetWholeExtent()[0]-0.5 &&
+ X <= mImage->GetVTKImages()[mCurrentTSlice]->GetWholeExtent()[1]+0.5 &&
+ Y >= mImage->GetVTKImages()[mCurrentTSlice]->GetWholeExtent()[2]-0.5 &&
+ Y <= mImage->GetVTKImages()[mCurrentTSlice]->GetWholeExtent()[3]+0.5 &&
+ Z >= mImage->GetVTKImages()[mCurrentTSlice]->GetWholeExtent()[4]-0.5 &&
+ Z <= mImage->GetVTKImages()[mCurrentTSlice]->GetWholeExtent()[5]+0.5) {
#else
if (X >= mImage->GetVTKImages()[mCurrentTSlice]->GetInformation()->Get(vtkDataObject::DATA_EXTENT())[0]-0.5 &&
X <= mImage->GetVTKImages()[mCurrentTSlice]->GetInformation()->Get(vtkDataObject::DATA_EXTENT())[1]+0.5 &&