Make cosmotools compiled without voronoi.h the default

Change-Id: If51c64fd9f4d79143d80acbd22568b778b45c51d
Add a streaming multiblock reader for GenericIO files

Change-Id: I7ac13aecf2958e1cced8218b3a6ec407f30aa720
Added a multi-resolution streaming reader for GenericIO files

This reader reads a JSON file that describes which files are on what
resolutions and at which timesteps and then handles the streaming
pipeline calls and time requests in the pipeline to read in the data
that is needed.

Change-Id: Ie2a70bc79c68326c1dbe597a6cd7bbae27e3fd46
Modify representation to handle same sized blocks

This commit modifies vtkStreamingParticlesRepresentation to handle
blocks of different resolutions being the same size by adding an 'amount
of detail' information type to the block information object and using
this to approximate how much detail will be visible.  This behavior is
now an option on the vtkStreamingParticlesRepresentation, although it
will not be used unless the source provides the new information key on
its data.

Change-Id: I9efe899618c7b17df4c09b2d64e2c6cb3f8bfe55
GerenericIO multiresolution reader now sets bounds

Not all GenericIO files have block bounds information.  This change to
the multi-resolution reader ensures that if even one resolution has
bounds information it will be set on all of them (it is assumed to be
the same on corresponding blocks in each resolution).

Change-Id: I00b78736584534fe2cf224a1dd77361db462ad7d
Streaming now prioritizes blocks near the center of the view

Change-Id: I17130ef7d299181ce9c68824e993361d5d7fbe9f
Expose the level of detail to load property

When streaming particles is loading blocks based on their detail and
distance, it now uses a user-controllable level of detail to pick which
ones to load.

Change-Id: I497ff1a3af6a9f4675d385588fbd7b2548bf95a4
Delete lower level blocks when higher level is requested

TEMP COMMIT - will break older behavoir of streaming when higher level
blocks and lower level ones did not have a subset relationship.  This
should be handled by generalizing the code to do both.

Change-Id: I2ee5465d7820b161823c6b57058a64b98b02a90e
Added a vtk writer for the GenericIO file format

Change-Id: Idf5f3f7a903936a6562022536e7db7515575f10c
Playing with alternate way to determine resolution to read.

Change-Id: I840344f29fc22e9804751f2905823ed14256c08d
Modified GenericIO reader to use new information key

This allows the pipeline to know which blocks are on which processes,
and also fixes a name clash with vtkACosmoReader.

Change-Id: I67f7195b7b6dbbee1890c45d3876cbe75cd5f111
Block queue is now process local and pipeline execution short-circuits

The queue in vtkStreamingParitclesPriorityQueue now contains only the
blocks available on the current process.  Additionally, the
representation now only executes the pipeline on processes that have
blocks to fetch.

Change-Id: Ied7ee44a9ddd825a442c83ffbf12ed4421b7f3d6
Blocks sent from server to client are now deleted when not needed

This commit fixes a bug in vtkStreamingParticlesRepresentation that
prevented blocks from being purged from the dataset when no longer
needed if the client was doing the rendering and the server had the
data.  The deletion only happened on the server side.  The fix was to
add a field data to the dataset sent to the client to request purging of
blocks and change the vtkComposite(Reader|Writer) to support saving
field data.

Change-Id: I3d7cc0ad6978d7e25a3b8abc759a5e1203eff27a
Changes to a distance-from-camera method of which blocks to load

Change-Id: I368f8feda03f12d7b1c935abb2737b298aed1097
Made Streaming Particles compatible with old behavoir

Made flag to enable new behavoir and correctly defaulted it.  Fixed
inconsistency with old behavoir in the case where blocks do not directly
correspond.

Change-Id: I6d37aa4a068d4f1d9ead630b26ba3f99f1c900c9
Add test for new streaming behavior and multiresolution genericio reader

Change-Id: I691221f46f0f75aea7c74980cfe067ef3dda203e
Made old GenericIO reader append block information data array

Change-Id: Ia0541b42e1d2931a8a8c07858adaa995a47d92a5
Merge topic 'streaming-multiblock-genericio-reader' into next

2e7a68b1 Made old GenericIO reader append block information data array
7eda0345 Add test for new streaming behavior and multiresolution genericio reader
24f0f2e1 Made Streaming Particles compatible with old behavoir
35f05e49 Changes to a distance-from-camera method of which blocks to load
de35055c Blocks sent from server to client are now deleted when not needed
981453c1 Block queue is now process local and pipeline execution short-circuits
17d38d8e Modified GenericIO reader to use new information key
97a4dfc7 Playing with alternate way to determine resolution to read.
b44ea38d Added a vtk writer for the GenericIO file format
fe0ae99c Delete lower level blocks when higher level is requested
daf4b511 Expose the level of detail to load property
7a5292f3 Streaming now prioritizes blocks near the center of the view
d536cb3f GerenericIO multiresolution reader now sets bounds
6d84327f Modify representation to handle same sized blocks
fa2954ba Added a multi-resolution streaming reader for GenericIO files
cb86bb23 Add a streaming multiblock reader for GenericIO files
...