Cache number of points used in asserts.

Change-Id: I8798d80fcc1134227b355461e56ae8477543fea2
Simplify and inline much of the logic in vtkStructuredData.

The dataDescription argument wasn't necessary for most of the computations
and, at best, saved a few integer operation at the cost of extra analysis
logic and branching.

Moved the workhorse functions to the header so they can be inlined.

For now, I've just documented that the dataDescription arguments aren't
used. Might be worth removing them from the API at some point.

Change-Id: Iea23e2127eba14614455c610df558b7753196b36
Update vtkExtractStructuredGridHelper to remove data descriptions args.

Change-Id: If6cf0f264565d1003e57542a5ed9b3ad01a3fda7
Batch copy point data.

Change-Id: I569fe915e0c76683971aab7ceedc457e575e32a7
Add API to copy ranges of tuples efficiently.

Change-Id: I3dbf3126b1d2279126200cfde32f7ff428912b22
Copy ranges of points during VOI extraction, if possible.

Change-Id: I41f2077815c66f973f5f075d3ab92404cd433cad
Move InsertTuples implementation to helper class.

This was causing issues between the implicit template instantation in
vtkDataArrayIteratorMacro and the explict instantiations in vtk*Array.cxx.

Change-Id: Icf5896951fdf390f070f20b796d75dde7ffefc9f
Fix "uninitialized usage" warnings.

Change-Id: Iae0f7f6ab7f620a9c83596ddf6010e7f992fbf36
Make a clear distinction between extent indices and values.

The vtkExtractStructuredGridHelper::GetMapping method was being used
to compute both actual extent values and indices (e.g. for rectilinear
grid coordinate arrays) in places. The method has been split into:

GetMappedIndex,
GetMappedIndexFromExtentValue,
GetMappedExtentValue, and
GetMappedExtentValueFromIndex,

all of which map an output value to an input value.

The class also caches the initialization parameters to avoid rebuilding
the map if the parameters do not change. This is done for the parallel
filters, which use different extents for information vs. data requests.

Change-Id: Ie26a0149c93e10e11003eb6daf7ef4d958f305a7
Add helper functions for computing partitioned structured data.

Added GetPartitionedVOI and GetPartitionedOutputExtent to
vtkExtractStructuredGridHelper.

Fixed const-correctness issue in vtkStructuredExtent, too.

Change-Id: Iec413bf171fda95358b51a5002ba7f74732172b4
Fix bugs in vtkStructuredImplicitConnectivity.

Removed some asserts in the registration functions, since often a
plane or line is passed in place of a grid due to partitioning
artifacts.

Removed a value from the communication stream that was not being read
and unsynchronizing the read/write process.

This seemed to assume that the VOI would pass through every process's
partition. Fixed that.

Also patched a possible memory leak during grid registration.

Change-Id: Ia16601c672225fc3a0c1a11480409394c3fd9e09
Fix vtkPExtractRectilinearGrid extent issues.

Update the filter so that extents are properly managed in parallel.

Change-Id: I480ab56b003e967f6b0f65e4c82fd6cea4a4a200
Fix vtkPExtractVOI extent issues.

Update the filter so that extents are properly managed in parallel.

Change-Id: I2991f427a33b740b6679a469b2844f6b44b89ff5
Fix vtkPExtractStructuredGrid extent issues.

Update the filter so that extents are properly managed in parallel.

Change-Id: Ie3a39a7a147b639851a25c1e79fbc7c7f111afc9
Merge topic 'extract-voi-performance' into master

73de835e Fix "uninitialized usage" warnings.
49406afa Move InsertTuples implementation to helper class.
713d44ca Copy ranges of points during VOI extraction, if possible.
3d68c23e Add API to copy ranges of tuples efficiently.
b4b79f02 Batch copy point data.
600f681b Update vtkExtractStructuredGridHelper to remove data descriptions args.
892b7880 Simplify and inline much of the logic in vtkStructuredData.
951527c2 Cache number of points used in asserts.
Merge topic 'fix-parallel-extract-voi' into master

22f54281 Fix vtkPExtractStructuredGrid extent issues.
79ada2aa Fix vtkPExtractVOI extent issues.
fd4b3e5a Fix vtkPExtractRectilinearGrid extent issues.
e335ba44 Fix bugs in vtkStructuredImplicitConnectivity.
73943594 Add helper functions for computing partitioned structured data.
275bb6cd Make a clear distinction between extent indices and values.