VTK-m
2.0
|
#include <VecTraits.h>
Public Types | |
using | VecType = vtkm::VecCConst< T > |
using | ComponentType = typename VecType::ComponentType |
Type of the components in the vector. More... | |
using | BaseComponentType = typename vtkm::VecTraits< ComponentType >::BaseComponentType |
Base component type in the vector. More... | |
using | HasMultipleComponents = vtkm::VecTraitsTagMultipleComponents |
A tag specifying whether this vector has multiple components (i.e. More... | |
using | IsSizeStatic = vtkm::VecTraitsTagSizeVariable |
A tag specifying whether the size of this vector is known at compile time. More... | |
template<typename NewComponentType > | |
using | ReplaceComponentType = vtkm::VecCConst< NewComponentType > |
Get a vector of the same type but with a different component. More... | |
template<typename NewComponentType > | |
using | ReplaceBaseComponentType = vtkm::VecCConst< typename vtkm::VecTraits< ComponentType >::template ReplaceBaseComponentType< NewComponentType > > |
Get a vector of the same type but with a different base component. More... | |
Static Public Member Functions | |
static VTKM_EXEC_CONT vtkm::IdComponent | GetNumberOfComponents (const VecType &vector) |
Number of components in the given vector. More... | |
static const VTKM_EXEC_CONT ComponentType & | GetComponent (const VecType &vector, vtkm::IdComponent component) |
Returns the value in a given component of the vector. More... | |
static VTKM_EXEC_CONT void | SetComponent (VecType &vector, vtkm::IdComponent component, ComponentType value) |
Changes the value in a given component of the vector. More... | |
template<vtkm::IdComponent destSize> | |
static VTKM_EXEC_CONT void | CopyInto (const VecType &src, vtkm::Vec< ComponentType, destSize > &dest) |
Converts whatever type this vector is into the standard VTKm Tuple. More... | |
using vtkm::VecTraits< vtkm::VecCConst< T > >::BaseComponentType = typename vtkm::VecTraits<ComponentType>::BaseComponentType |
Base component type in the vector.
Similar to ComponentType except that for nested vectors (e.g. Vec<Vec<T, M>, N>), it returns the base scalar type at the end of the composition (T in this example).
using vtkm::VecTraits< vtkm::VecCConst< T > >::ComponentType = typename VecType::ComponentType |
Type of the components in the vector.
If the type is really a scalar, then the component type is the same as the scalar type.
using vtkm::VecTraits< vtkm::VecCConst< T > >::HasMultipleComponents = vtkm::VecTraitsTagMultipleComponents |
A tag specifying whether this vector has multiple components (i.e.
is a "real" vector). This tag can be useful for creating specialized functions when a vector is really just a scalar.
The size of a VecCConst
is not known until runtime and can always potentially have multiple components, this is always set to HasMultipleComponents
.
using vtkm::VecTraits< vtkm::VecCConst< T > >::IsSizeStatic = vtkm::VecTraitsTagSizeVariable |
A tag specifying whether the size of this vector is known at compile time.
If set to VecTraitsTagSizeStatic
, then NUM_COMPONENTS
is set. If set to VecTraitsTagSizeVariable
, then the number of components is not known at compile time and must be queried with GetNumberOfComponents
.
using vtkm::VecTraits< vtkm::VecCConst< T > >::ReplaceBaseComponentType = vtkm::VecCConst< typename vtkm::VecTraits<ComponentType>::template ReplaceBaseComponentType<NewComponentType> > |
Get a vector of the same type but with a different base component.
This type resolves to another vector with a different base component type. The replacement is recursive for nested types. For example,
is Vec<Vec<T2, M>, N>.
using vtkm::VecTraits< vtkm::VecCConst< T > >::ReplaceComponentType = vtkm::VecCConst<NewComponentType> |
Get a vector of the same type but with a different component.
This type resolves to another vector with a different component type. For example,
is vtkm::Vec<T2, N>. This replacement is not recursive. So
is vtkm::Vec<T2, N>.
using vtkm::VecTraits< vtkm::VecCConst< T > >::VecType = vtkm::VecCConst<T> |
|
inlinestatic |
Converts whatever type this vector is into the standard VTKm Tuple.
|
inlinestatic |
Returns the value in a given component of the vector.
|
inlinestatic |
Number of components in the given vector.
|
inlinestatic |
Changes the value in a given component of the vector.