mConcatenatedTransform = vtkSmartPointer<vtkTransform>::New();
mConcatenatedFusionTransform = vtkSmartPointer<vtkTransform>::New();
mConcatenatedOverlayTransform = vtkSmartPointer<vtkTransform>::New();
+ mFirstSetSliceOrientation = true;
}
//------------------------------------------------------------------------------
// DDV(cursorPos, 3);
// SetCurrentPosition(cursorPos[0],cursorPos[1],cursorPos[2],cursorPos[3]);
- if (this->Renderer && this->GetInput()) {
+ if (mFirstSetSliceOrientation) {
+ int *range = this->GetSliceRange();
+ if (range)
+ this->Slice = static_cast<int>((range[0] + range[1]) * 0.5);
+ mFirstSetSliceOrientation = false;
+ }
+ else if (this->Renderer && this->GetInput()) {
double s = mCursor[orientation];
double sCursor = (s - this->GetInput()->GetOrigin()[orientation])/this->GetInput()->GetSpacing()[orientation];
this->Slice = static_cast<int>(sCursor);
}
-
-// int *range = this->GetSliceRange();
-// if (range)
-// this->Slice = static_cast<int>((range[0] + range[1]) * 0.5);
this->UpdateOrientation();
this->UpdateDisplayExtent();
//----------------------------------------------------------------------------
void vvSlicer::SetOverlayColorWindow(double window)
{
- mOverlayMapper->SetWindow(window);
+ if(mOverlayMapper)
+ mOverlayMapper->SetWindow(window);
}
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
void vvSlicer::SetOverlayColorLevel(double level)
{
- mOverlayMapper->SetLevel(level);
+ if(mOverlayMapper)
+ mOverlayMapper->SetLevel(level);
}
//----------------------------------------------------------------------------