Skip to content

Deprecate ArrayHandleVirtualCoordinates

As we port VTK-m to more types of accelerator architectures, supporting virtual methods is becoming more problematic. Thus, we are working to back out of using virtual methods in the execution environment.

One of the most widespread users of virtual methods in the execution environment is ArrayHandleVirtual. As a first step of deprecating this class, we first deprecate the ArrayHandleVirtualCoordinates subclass.

Not surprisingly, ArrayHandleVirtualCoordinates is used directly by CoordinateSystem. The biggest change necessary was that the GetData method returned an ArrayHandleVirtualCoordinates, which obviously would not work if that class is deprecated.

To continue to support ease of use, CoordinateSystem now has a method named GetDataAsMultiplexer that returns the data as an ArrayHandleMultiplexer. This can be employed to quickly use the CoordinateSystem as an array without the overhead of a CastAndCall.

Merge request reports