| 
    VTK-m
    2.0
    
   | 
 
The VecTraits class gives several static members that define how to use a given type as a vector. More...
#include <VecTraits.h>
Public Types | |
| 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 = typename internal::VecTraitsMultipleComponentChooser< NUM_COMPONENTS >::Type | 
| A tag specifying whether this vector has multiple components (i.e.  More... | |
| using | IsSizeStatic = vtkm::VecTraitsTagSizeStatic | 
| A tag specifying whether the size of this vector is known at compile time.  More... | |
| template<typename NewComponentType > | |
| using | ReplaceComponentType = VecTemplate< NewComponentType, N > | 
| Get a vector of the same type but with a different component.  More... | |
| template<typename NewComponentType > | |
| using | ReplaceBaseComponentType = VecTemplate< typename VecTraits< ComponentType >::template ReplaceBaseComponentType< NewComponentType >, N > | 
| Get a vector of the same type but with a different base component.  More... | |
Static Public Member Functions | |
| static vtkm::IdComponent | GetNumberOfComponents (const VecType &vec) | 
| Number of components in the given vector.  More... | |
| static const VTKM_EXEC_CONT ComponentType & | GetComponent (const typename std::remove_const< VecType >::type &vector, vtkm::IdComponent component) | 
| Returns the value in a given component of the vector.  More... | |
| static VTKM_EXEC_CONT ComponentType & | GetComponent (typename std::remove_const< VecType >::type &vector, vtkm::IdComponent component) | 
| 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<vktm::IdComponent destSize> | |
| static VTKM_EXEC_CONT void | CopyInto (const VecType &src, vtkm::Vec< ComponentType, destSize > &dest) | 
| Copies the components in the given vector into a given Vec object.  More... | |
Static Public Attributes | |
| static constexpr vtkm::IdComponent | NUM_COMPONENTS = VecType::NUM_COMPONENTS | 
| Number of components in the vector.  More... | |
The VecTraits class gives several static members that define how to use a given type as a vector.
| using vtkm::VecTraits< VecType >::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< VecType >::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< VecType >::HasMultipleComponents = typename internal::VecTraitsMultipleComponentChooser<NUM_COMPONENTS>::Type | 
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.
| using vtkm::VecTraits< VecType >::IsSizeStatic = vtkm::VecTraitsTagSizeStatic | 
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< VecType >::ReplaceBaseComponentType = VecTemplate< typename VecTraits<ComponentType>::template ReplaceBaseComponentType<NewComponentType>, N> | 
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< VecType >::ReplaceComponentType = VecTemplate<NewComponentType, N> | 
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>.
      
  | 
  static | 
Copies the components in the given vector into a given Vec object.
      
  | 
  static | 
Returns the value in a given component of the vector.
      
  | 
  static | 
      
  | 
  static | 
Number of components in the given vector.
      
  | 
  static | 
Changes the value in a given component of the vector.
      
  | 
  staticconstexpr | 
Number of components in the vector.
This is only defined for vectors of a static size.
 1.8.17