vtkFieldData range caching fixes
When computing the range for components, the backend used by
vtkDataArray
computes the ranges for all components at once. This was
not taken into account in vtkFieldData::GetRange
, and memory could be
written over by this process. The backend of
vtkDataArray::ComputeScalarRange
and
vtkDataArray::ComputeVectorRange
is now directly used by
vtkFieldData
. Since those methods are protected, vtkDataArray
is now
friend with vtkFieldData
.