|
| | VTKM_ARRAY_HANDLE_SUBCLASS (ArrayHandleExtractComponent,(ArrayHandleExtractComponent< ArrayHandleType >),(vtkm::cont::ArrayHandle< typename vtkm::VecTraits< typename ArrayHandleType::ValueType >::ComponentType, StorageTagExtractComponent< ArrayHandleType >>)) |
| |
| VTKM_CONT | ArrayHandleExtractComponent (const ArrayHandleType &array, vtkm::IdComponent component) |
| |
| VTKM_CONT vtkm::IdComponent | GetComponent () const |
| |
| VTKM_CONT ArrayHandleType | GetArray () const |
| |
Public Member Functions inherited from vtkm::cont::ArrayHandle< vtkm::VecTraits< ArrayHandleType::ValueType >::ComponentType, StorageTagExtractComponent< ArrayHandleType > > |
| VTKM_CONT | ArrayHandle () |
| | Constructs an empty ArrayHandle. More...
|
| |
| VTKM_CONT | ArrayHandle (const vtkm::cont::ArrayHandle< ValueType, StorageTag > &src) |
| | Copy constructor. More...
|
| |
| VTKM_CONT | ArrayHandle (vtkm::cont::ArrayHandle< ValueType, StorageTag > &&src) noexcept |
| | Move constructor. More...
|
| |
| VTKM_CONT | ~ArrayHandle () |
| | Destructs an empty ArrayHandle. More...
|
| |
| VTKM_CONT vtkm::cont::ArrayHandle< ValueType, StorageTag > & | operator= (const vtkm::cont::ArrayHandle< ValueType, StorageTag > &src) |
| | Copies an ArrayHandle. More...
|
| |
| VTKM_CONT vtkm::cont::ArrayHandle< ValueType, StorageTag > & | operator= (vtkm::cont::ArrayHandle< ValueType, StorageTag > &&src) noexcept |
| | Move and Assignment of an ArrayHandle. More...
|
| |
| VTKM_CONT bool | operator== (const ArrayHandle< ValueType, StorageTag > &rhs) const |
| | Like a pointer, two ArrayHandles are considered equal if they point to the same location in memory. More...
|
| |
| VTKM_CONT bool | operator== (const ArrayHandle< VT, ST > &) const |
| |
| VTKM_CONT bool | operator!= (const ArrayHandle< ValueType, StorageTag > &rhs) const |
| |
| VTKM_CONT bool | operator!= (const ArrayHandle< VT, ST > &) const |
| |
| VTKM_CONT StorageType | GetStorage () const |
| | Get the storage. More...
|
| |
| VTKM_CONT WritePortalType | WritePortal () const |
| | Get an array portal that can be used in the control environment. More...
|
| |
| VTKM_CONT WritePortalType | WritePortal (vtkm::cont::Token &token) const |
| |
| VTKM_CONT vtkm::Id | GetNumberOfValues () const |
| | Returns the number of entries in the array. More...
|
| |
| VTKM_CONT void | ReleaseResourcesExecution () const |
| | Releases any resources being used in the execution environment (that are not being shared by the control environment). More...
|
| |
| VTKM_CONT void | ReleaseResources () const |
| | Releases all resources in both the control and execution environments. More...
|
| |
| VTKM_CONT 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...
|
| |
| VTKM_CONT 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...
|
| |
| VTKM_CONT 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...
|
| |
| VTKM_CONT bool | IsOnDevice (vtkm::cont::DeviceAdapterId device) const |
| | Returns true if the ArrayHandle's data is on the given device. More...
|
| |
| VTKM_CONT bool | IsOnHost () const |
| | Returns true if the ArrayHandle's data is on the host. More...
|
| |
| VTKM_CONT void | SyncControlArray () const |
| | Synchronizes the control array with the execution array. More...
|
| |
| VTKM_CONT void | Enqueue (const vtkm::cont::Token &token) const |
| | Enqueue a token for access to this ArrayHandle. More...
|
| |
| VTKM_CONT void | DeepCopyFrom (const vtkm::cont::ArrayHandle< ValueType, StorageTag > &source) const |
| | Deep copies the data in the array. More...
|
| |
| const VTKM_CONT std::vector< vtkm::cont::internal::Buffer > & | GetBuffers () const |
| | Returns the internal Buffer structures that hold the data. More...
|
| |
| VTKM_CONT std::vector< vtkm::cont::internal::Buffer > & | GetBuffers () |
| |
| VTKM_CONT | ArrayHandle (const std::vector< vtkm::cont::internal::Buffer > &buffers) |
| |
| VTKM_CONT | ArrayHandle (std::vector< vtkm::cont::internal::Buffer > &&buffers) noexcept |
| |
| VTKM_CONT ReadPortalType | ReadPortal () const |
| | Get an array portal that can be used in the control environment. More...
|
| |
| VTKM_CONT ReadPortalType | ReadPortal (vtkm::cont::Token &token) const |
| | Get an array portal that can be used in the control environment. More...
|
| |
| VTKM_CONT 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...
|
| |
| VTKM_CONT 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...
|
| |
| VTKM_CONT 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...
|
| |
| VTKM_CONT 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...
|
| |
| VTKM_CONT void | Fill (const ValueType &fillValue, vtkm::Id startIndex, vtkm::Id endIndex, vtkm::cont::Token &token) const |
| | Fills the array with a given value. More...
|
| |
| VTKM_CONT void | Fill (const ValueType &fillValue, vtkm::Id startIndex, vtkm::Id endIndex) const |
| | Fills the array with a given value. More...
|
| |
| VTKM_CONT void | Fill (const ValueType &fillValue, vtkm::Id startIndex=0) const |
| | Fills the array with a given value. More...
|
| |
template<typename ArrayHandleType>
class vtkm::cont::ArrayHandleExtractComponent< ArrayHandleType >
A fancy ArrayHandle that turns a vector array into a scalar array by slicing out a single component of each vector.
ArrayHandleExtractComponent is a specialization of ArrayHandle. It takes an input ArrayHandle with a vtkm::Vec ValueType and a component index and uses this information to expose a scalar array consisting of the specified component across all vectors in the input ArrayHandle. So for a given index i, ArrayHandleExtractComponent looks up the i-th vtkm::Vec in the index array and reads or writes to the specified component, leave all other components unmodified. This is done on the fly rather than creating a copy of the array.