diff --git a/Imaging/Core/vtkAbstractImageInterpolator.cxx b/Imaging/Core/vtkAbstractImageInterpolator.cxx index 308c3cd43ec2e3d71674ffcbe275f6fb92eda530..926b10ed913a2c10e7605a731085ba8b4fe60db0 100644 --- a/Imaging/Core/vtkAbstractImageInterpolator.cxx +++ b/Imaging/Core/vtkAbstractImageInterpolator.cxx @@ -66,8 +66,6 @@ vtkAbstractImageInterpolator::vtkAbstractImageInterpolator() { this->Extent[2*j] = 0; this->Extent[2*j+1] = -1; - this->WholeExtent[2*j] = 0; - this->WholeExtent[2*j+1] = -1; this->Spacing[j] = 1.0; this->Origin[j] = 0.0; } @@ -110,7 +108,6 @@ void vtkAbstractImageInterpolator::DeepCopy(vtkAbstractImageInterpolator *obj) this->SetComponentCount(obj->ComponentCount); this->SetBorderMode(obj->BorderMode); obj->GetExtent(this->Extent); - obj->GetWholeExtent(this->WholeExtent); obj->GetOrigin(this->Origin); obj->GetSpacing(this->Spacing); if (this->Scalars) @@ -139,10 +136,6 @@ void vtkAbstractImageInterpolator::PrintSelf(ostream& os, vtkIndent indent) os << indent << "Extent: " << this->Extent[0] << " " << this->Extent[1] << " " << this->Extent[2] << " " << this->Extent[3] << " " << this->Extent[4] << " " << this->Extent[5] << "\n"; - os << indent << "WholeExtent: " - << this->WholeExtent[0] << " " << this->WholeExtent[1] << " " - << this->WholeExtent[2] << " " << this->WholeExtent[3] << " " - << this->WholeExtent[4] << " " << this->WholeExtent[5] << "\n"; os << indent << "Origin: " << this->Origin[0] << " " << this->Origin[1] << " " << this->Origin[2] << "\n"; os << indent << "Spacing: " << this->Spacing[0] << " " << this->Spacing[1] @@ -266,7 +259,6 @@ void vtkAbstractImageInterpolator::Initialize(vtkDataObject *o) // get the image information data->GetSpacing(this->Spacing); data->GetOrigin(this->Origin); - data->GetExtent(this->WholeExtent); data->GetExtent(this->Extent); // call update @@ -317,10 +309,9 @@ void vtkAbstractImageInterpolator::Update() extent[4] = this->Extent[4]; extent[5] = this->Extent[5]; - // use the WholeExtent and Tolerance to set the bounds + // use the Extent and Tolerance to set the bounds double *bounds = this->StructuredBoundsDouble; float *fbounds = this->StructuredBoundsFloat; - int *wholeExtent = this->WholeExtent; double tol = this->Tolerance; // always restrict the bounds to the limits of int int supportSize[3]; @@ -335,13 +326,13 @@ void vtkAbstractImageInterpolator::Update() for (int i = 0; i < 3; i++) { // use min tolerance of 0.5 if just one slice thick - double newtol = 0.5*(wholeExtent[2*i] == wholeExtent[2*i+1]); + double newtol = 0.5*(extent[2*i] == extent[2*i+1]); newtol = ((newtol > tol) ? newtol : tol); - double bound = wholeExtent[2*i] - newtol; + double bound = extent[2*i] - newtol; bound = ((bound > minbound) ? bound : minbound); fbounds[2*i] = bounds[2*i] = bound; - bound = wholeExtent[2*i+1] + newtol; + bound = extent[2*i+1] + newtol; bound = ((bound < maxbound) ? bound : maxbound); fbounds[2*i+1] = bounds[2*i+1] = bound; } @@ -509,3 +500,22 @@ void vtkAbstractImageInterpolator::FreePrecomputedWeights( weights = NULL; } + +//---------------------------------------------------------------------------- +#if !defined(VTK_LEGACY_REMOVE) +int *vtkAbstractImageInterpolator::GetWholeExtent() +{ + VTK_LEGACY_REPLACED_BODY( + vtkAbstractImageInterpolator::GetWholeExtent, "VTK 7.1", + vtkAbstractImageInterpolator::GetExtent); + return this->GetExtent(); +} + +void vtkAbstractImageInterpolator::GetWholeExtent(int extent[6]) +{ + VTK_LEGACY_REPLACED_BODY( + vtkAbstractImageInterpolator::GetWholeExtent, "VTK 7.1", + vtkAbstractImageInterpolator::GetExtent); + this->GetExtent(extent); +} +#endif diff --git a/Imaging/Core/vtkAbstractImageInterpolator.h b/Imaging/Core/vtkAbstractImageInterpolator.h index c286e9ff528b00aa6dcbc173afa9c786bc7be019..d3075103aabe719606eba19a690d9449a2ba1149 100644 --- a/Imaging/Core/vtkAbstractImageInterpolator.h +++ b/Imaging/Core/vtkAbstractImageInterpolator.h @@ -213,7 +213,8 @@ public: // Description: // Get the whole extent of the data being interpolated, including // parts of the data that are not currently in memory. - vtkGetVector6Macro(WholeExtent, int); + VTK_LEGACY(int *GetWholeExtent()); + VTK_LEGACY(void GetWholeExtent(int extent[6])); protected: vtkAbstractImageInterpolator(); @@ -248,7 +249,6 @@ protected: vtkDataArray *Scalars; double StructuredBoundsDouble[6]; float StructuredBoundsFloat[6]; - int WholeExtent[6]; int Extent[6]; double Spacing[3]; double Origin[3]; diff --git a/Imaging/Core/vtkImageReslice.cxx b/Imaging/Core/vtkImageReslice.cxx index 85d9dfc762b549c15587391b5efd32c05f798d90..ed73eacccae23978f082119d27feaa9fb20ed1a0 100644 --- a/Imaging/Core/vtkImageReslice.cxx +++ b/Imaging/Core/vtkImageReslice.cxx @@ -2054,7 +2054,6 @@ void vtkImageResliceExecute(vtkImageReslice *self, int componentOffset = interpolator->GetComponentOffset(); int borderMode = interpolator->GetBorderMode(); int *inExt = interpolator->GetExtent(); - int *inWholeExt = interpolator->GetWholeExtent(); vtkIdType inInc[3]; inInc[0] = scalars->GetNumberOfComponents(); inInc[1] = inInc[0]*(inExt[1] - inExt[0] + 1); @@ -2084,10 +2083,7 @@ void vtkImageResliceExecute(vtkImageReslice *self, !(newtrans || perspective || convertScalars || rescaleScalars) && inputScalarType == outData->GetScalarType() && fullSize == scalars->GetNumberOfTuples() && - self->GetBorder() == 1 && nsamples <= 1 && - inExt[0] >= inWholeExt[0] && inExt[1] <= inWholeExt[1] && - inExt[2] >= inWholeExt[2] && inExt[3] <= inWholeExt[3] && - inExt[4] >= inWholeExt[4] && inExt[5] <= inWholeExt[5]) + self->GetBorder() == 1 && nsamples <= 1) { optimizeNearest = 1; } @@ -2842,7 +2838,6 @@ void vtkReslicePermuteExecute(vtkImageReslice *self, bool doConversion = true; int inputScalarType = scalars->GetDataType(); if (interpolationMode == VTK_NEAREST_INTERPOLATION && - interpolator->IsA("vtkImageInterpolator") && inputScalarType == scalarType && !convertScalars && !rescaleScalars && nsamples == 1) {