|
using | Thisclass = typename vtkm::cont::detail::GetTypeInParentheses< void(ArrayHandleGroupVec< ComponentsArrayHandleType, NUM_COMPONENTS >) >::type |
|
using | Superclass = typename vtkm::cont::detail::GetTypeInParentheses< void(vtkm::cont::ArrayHandle< vtkm::Vec< typename ComponentsArrayHandleType::ValueType, NUM_COMPONENTS >, vtkm::cont::StorageTagGroupVec< typename ComponentsArrayHandleType::StorageTag, NUM_COMPONENTS > >) >::type |
|
using | ValueType = typename Superclass::ValueType |
|
using | StorageTag = typename Superclass::StorageTag |
|
using | StorageType = typename Superclass::StorageType |
|
using | ReadPortalType = typename Superclass::ReadPortalType |
|
using | WritePortalType = typename Superclass::WritePortalType |
|
using | ComponentType = typename ComponentsArrayHandleType::ValueType |
|
Public Types inherited from vtkm::cont::ArrayHandle< vtkm::Vec< ComponentsArrayHandleType::ValueType, NUM_COMPONENTS >, vtkm::cont::StorageTagGroupVec< ComponentsArrayHandleType::StorageTag, NUM_COMPONENTS > > |
using | ValueType = vtkm::Vec< ComponentsArrayHandleType::ValueType, NUM_COMPONENTS > |
|
using | StorageTag = vtkm::cont::StorageTagGroupVec< ComponentsArrayHandleType::StorageTag, NUM_COMPONENTS > |
|
using | StorageType = vtkm::cont::internal::Storage< ValueType, StorageTag > |
|
using | ReadPortalType = typename StorageType::ReadPortalType |
| The type of portal used when accessing data in a read-only mode. More...
|
|
using | WritePortalType = typename StorageType::WritePortalType |
| The type of portal used when accessing data in a read-write mode. More...
|
|
|
| ArrayHandleGroupVec () |
|
VTKM_CONT | ArrayHandleGroupVec (const Thisclass &src) |
|
VTKM_CONT | ArrayHandleGroupVec (Thisclass &&src) noexcept |
|
VTKM_CONT | ArrayHandleGroupVec (const vtkm::cont::ArrayHandle< typename Superclass::ValueType, typename Superclass::StorageTag > &src) |
|
VTKM_CONT | ArrayHandleGroupVec (vtkm::cont::ArrayHandle< typename Superclass::ValueType, typename Superclass::StorageTag > &&src) noexcept |
|
VTKM_CONT | ArrayHandleGroupVec (const std::vector< vtkm::cont::internal::Buffer > &buffers) |
|
VTKM_CONT | ArrayHandleGroupVec (std::vector< vtkm::cont::internal::Buffer > &&buffers) noexcept |
|
VTKM_CONT Thisclass & | operator= (const Thisclass &src) |
|
VTKM_CONT Thisclass & | operator= (Thisclass &&src) noexcept |
|
| ArrayHandleGroupVec (const ComponentsArrayHandleType &componentsArray) |
| Construct an ArrayHandleGroupVec with a provided components array. More...
|
|
ComponentsArrayHandleType | GetComponentsArray () const |
| Retrieve the components array being grouped. More...
|
|
Public Member Functions inherited from vtkm::cont::ArrayHandle< vtkm::Vec< ComponentsArrayHandleType::ValueType, NUM_COMPONENTS >, vtkm::cont::StorageTagGroupVec< ComponentsArrayHandleType::StorageTag, NUM_COMPONENTS > > |
| ArrayHandle () |
| Constructs an empty ArrayHandle. More...
|
|
| ArrayHandle (const vtkm::cont::ArrayHandle< ValueType, StorageTag > &src) |
| Copy constructor. More...
|
|
| ArrayHandle (vtkm::cont::ArrayHandle< ValueType, StorageTag > &&src) noexcept |
| Move constructor. More...
|
|
| ArrayHandle (const std::vector< vtkm::cont::internal::Buffer > &buffers) |
| Special constructor for subclass specializations that need to set the initial state array. More...
|
|
| ArrayHandle (std::vector< vtkm::cont::internal::Buffer > &&buffers) noexcept |
| Special constructor for subclass specializations that need to set the initial state array. More...
|
|
| ~ArrayHandle () |
| Destructs an empty ArrayHandle. More...
|
|
vtkm::cont::ArrayHandle< ValueType, StorageTag > & | operator= (const vtkm::cont::ArrayHandle< ValueType, StorageTag > &src) |
| Shallow copies an ArrayHandle. More...
|
|
vtkm::cont::ArrayHandle< ValueType, StorageTag > & | operator= (vtkm::cont::ArrayHandle< ValueType, StorageTag > &&src) noexcept |
| Move and Assignment of an ArrayHandle. More...
|
|
bool | operator== (const ArrayHandle< ValueType, StorageTag > &rhs) const |
| Like a pointer, two ArrayHandle s are considered equal if they point to the same location in memory. More...
|
|
bool | operator== (const ArrayHandle< VT, ST > &) const |
|
bool | operator!= (const ArrayHandle< ValueType, StorageTag > &rhs) const |
|
bool | operator!= (const ArrayHandle< VT, ST > &) const |
|
StorageType | GetStorage () const |
| Get the storage. More...
|
|
ReadPortalType | ReadPortal () const |
| Get an array portal that can be used in the control environment. More...
|
|
ReadPortalType | ReadPortal (vtkm::cont::Token &token) const |
| The type of portal used when accessing data in a read-only mode. More...
|
|
WritePortalType | WritePortal () const |
| Get an array portal that can be used in the control environment. More...
|
|
WritePortalType | WritePortal (vtkm::cont::Token &token) const |
| Get an array portal that can be used in the control environment. More...
|
|
vtkm::Id | GetNumberOfValues () const |
| Returns the number of entries in the array. More...
|
|
vtkm::IdComponent | GetNumberOfComponentsFlat () const |
| Returns the total number of components for each value in the array. More...
|
|
void | Allocate (vtkm::Id numberOfValues, vtkm::CopyFlag preserve, vtkm::cont::Token &token) const |
| Allocates an array large enough to hold the given number of values. More...
|
|
void | Allocate (vtkm::Id numberOfValues, vtkm::CopyFlag preserve=vtkm::CopyFlag::Off) const |
| Allocates an array large enough to hold the given number of values. More...
|
|
void | AllocateAndFill (vtkm::Id numberOfValues, const ValueType &fillValue, vtkm::CopyFlag preserve, vtkm::cont::Token &token) const |
| Allocates an array and fills it with an initial value. More...
|
|
void | AllocateAndFill (vtkm::Id numberOfValues, const ValueType &fillValue, vtkm::CopyFlag preserve=vtkm::CopyFlag::Off) const |
| Allocates an array and fills it with an initial value. More...
|
|
void | Fill (const ValueType &fillValue, vtkm::Id startIndex, vtkm::Id endIndex, vtkm::cont::Token &token) const |
| Fills the array with a given value. More...
|
|
void | Fill (const ValueType &fillValue, vtkm::Id startIndex, vtkm::Id endIndex) const |
| Fills the array with a given value. More...
|
|
void | Fill (const ValueType &fillValue, vtkm::Id startIndex=0) const |
| Fills the array with a given value. More...
|
|
void | ReleaseResourcesExecution () const |
| Releases any resources being used in the execution environment (that are not being shared by the control environment). More...
|
|
void | ReleaseResources () const |
| Releases all resources in both the control and execution environments. More...
|
|
ReadPortalType | PrepareForInput (vtkm::cont::DeviceAdapterId device, vtkm::cont::Token &token) const |
| Prepares this array to be used as an input to an operation in the execution environment. More...
|
|
WritePortalType | PrepareForInPlace (vtkm::cont::DeviceAdapterId device, vtkm::cont::Token &token) const |
| Prepares this array to be used in an in-place operation (both as input and output) in the execution environment. More...
|
|
WritePortalType | PrepareForOutput (vtkm::Id numberOfValues, vtkm::cont::DeviceAdapterId device, vtkm::cont::Token &token) const |
| Prepares (allocates) this array to be used as an output from an operation in the execution environment. More...
|
|
bool | IsOnDevice (vtkm::cont::DeviceAdapterId device) const |
| Returns true if the ArrayHandle's data is on the given device. More...
|
|
bool | IsOnHost () const |
| Returns true if the ArrayHandle's data is on the host. More...
|
|
void | SyncControlArray () const |
| Synchronizes the control array with the execution array. More...
|
|
void | Enqueue (const vtkm::cont::Token &token) const |
| Enqueue a token for access to this ArrayHandle. More...
|
|
void | DeepCopyFrom (const vtkm::cont::ArrayHandle< ValueType, StorageTag > &source) const |
| Deep copies the data in the array. More...
|
|
const std::vector< vtkm::cont::internal::Buffer > & | GetBuffers () const |
| Returns the internal Buffer structures that hold the data. More...
|
|
std::vector< vtkm::cont::internal::Buffer > & | GetBuffers () |
|
template<typename ComponentsArrayHandleType, vtkm::IdComponent NUM_COMPONENTS>
class vtkm::cont::ArrayHandleGroupVec< ComponentsArrayHandleType, NUM_COMPONENTS >
Fancy array handle that groups values into vectors.
It is sometimes the case that an array is stored such that consecutive entries are meant to form a group. This fancy array handle takes an array of values and a size of groups and then groups the consecutive values stored in a vtkm::Vec
.
For example, if you have an array handle with the six values 0,1,2,3,4,5 and give it to a ArrayHandleGroupVec
with the number of components set to 3, you get an array that looks like it contains two values of vtkm::Vec
of size 3 with the data [0,1,2], [3,4,5].
The array of components should have a number of values that divides evenly with the size of the vtkm::Vec
. If the components array does not divide evenly into vtkm::Vec
s, then a warning will be logged and the extra component values will be ignored.