Skip to content

Adding ArrayHandleVirtual, and VariantArrayHandle, Removing DynamicArrayHandle

This is one small step for virtuals, one large leap for VTK-m.

This is no where near completion, but should allow for compilation of vtkm_cont and all tests in vtkm/cont/.

Below is currently all the known issues/tasks that need to be resolved. As I update this work I will be adding new tasks, checking off work.

Major Tasks:

  • Redesign Filter Policies for virtuals
  • Correct dynamic_cast visibility issues showing on OSX.

Documentation Tasks:

  • Add Changelog for ArrayHandleVirtual
  • Add Changelog for ArrayHandleVariant
  • Update User's Guide

Conversion Tasks:

  • Convert over IO
  • Convert over Rendering
  • Convert over Filters
  • Convert over Worklets
  • Convert over Benchmarks
  • Convert over Examples
  • Convert over per backend unit tests
  • Convert over Serialization to support ArrayHandleVirtual

Design Tasks:

  • Redesign ArrayRangeCompute to handle ArrayHandleVirtual.
  • Re-Activate fast paths for Worklets executing on UniformPointCoordinates.
  • Get ArrayHandleZip to be stored by ArrayHandleVariant.

Minor Design Tasks:

  • Investigate which Fancy ArrayHandles should be moved over to always use ArrayHandleVirtual as the parent class

Minor Coding Tasks:

  • Implement Shrink on StorageVirtual
  • Implement Allocate on StorageVirtual
  • Implement PrepareForInPlace on StorageVirtual
  • Mark Get and Set methods as noexcept on ArrayPortalVirtual, ArrayPortalWrapper, ArrayPortalRef
  • Add Move (&&) Constructors and Assignment Operator ArrayPortalVirtual, ArrayPortalWrapper, ArrayPortalRef
  • Add Move (&&) Constructors and Assignment Operators for ArrayHandleVariant, Field, CoordinateSystem, and DataSet
Edited by Robert Maynard

Merge request reports