+//----------------------------------------------------------------------------
+void vvSlicerManager::SetSlicingPreset(SlicingPresetType preset)
+{
+ if(mSlicingPreset==preset)
+ return;
+
+ vtkMatrix4x4 *imageTransformInverse = vtkMatrix4x4::New();
+ mImage->GetTransform()[this->GetTSlice()]->GetInverse(imageTransformInverse);
+
+ for(int i=0; i< this->GetNumberOfSlicers(); i++){
+ switch(preset)
+ {
+ case WORLD_SLICING:
+ this->GetSlicer(i)->GetSlicingTransform()->Identity();
+ break;
+ case VOXELS_SLICING:
+ this->GetSlicer(i)->GetSlicingTransform()->SetMatrix(imageTransformInverse);
+ break;
+ default:
+ imageTransformInverse->Delete();
+ return;
+ }
+ this->GetSlicer(i)->ForceUpdateDisplayExtent();
+ this->GetSlicer(i)->ResetCamera();
+ this->GetSlicer(i)->Render();
+ }
+
+ imageTransformInverse->Delete();
+ mSlicingPreset = preset;
+}
+
+//----------------------------------------------------------------------------