VTK-m  2.0
Public Types | Static Public Member Functions | Static Public Attributes | Private Types | List of all members
vtkm::VecTraits< vtkm::Matrix< T, NumRow, NumCol > > Struct Template Reference

A matrix has vector traits to implement component-wise operations. More...

#include <Matrix.h>

Public Types

using ComponentType = T
 
using BaseComponentType = typename vtkm::VecTraits< T >::BaseComponentType
 
using HasMultipleComponents = vtkm::VecTraitsTagMultipleComponents
 
using IsSizeStatic = vtkm::VecTraitsTagSizeStatic
 
template<typename NewComponentType >
using ReplaceComponentType = vtkm::Matrix< NewComponentType, NumRow, NumCol >
 
template<typename NewComponentType >
using ReplaceBaseComponentType = vtkm::Matrix< typename vtkm::VecTraits< T >::template ReplaceBaseComponentType< NewComponentType >, NumRow, NumCol >
 

Static Public Member Functions

static VTKM_EXEC_CONT vtkm::IdComponent GetNumberOfComponents (const MatrixType &)
 
static const VTKM_EXEC_CONT ComponentTypeGetComponent (const MatrixType &matrix, vtkm::IdComponent component)
 
static VTKM_EXEC_CONT ComponentTypeGetComponent (MatrixType &matrix, vtkm::IdComponent component)
 
static VTKM_EXEC_CONT void SetComponent (MatrixType &matrix, vtkm::IdComponent component, T value)
 

Static Public Attributes

static constexpr vtkm::IdComponent NUM_COMPONENTS = NumRow * NumCol
 

Private Types

using MatrixType = vtkm::Matrix< T, NumRow, NumCol >
 

Detailed Description

template<typename T, vtkm::IdComponent NumRow, vtkm::IdComponent NumCol>
struct vtkm::VecTraits< vtkm::Matrix< T, NumRow, NumCol > >

A matrix has vector traits to implement component-wise operations.

Member Typedef Documentation

◆ BaseComponentType

template<typename T , vtkm::IdComponent NumRow, vtkm::IdComponent NumCol>
using vtkm::VecTraits< vtkm::Matrix< T, NumRow, NumCol > >::BaseComponentType = typename vtkm::VecTraits<T>::BaseComponentType

◆ ComponentType

template<typename T , vtkm::IdComponent NumRow, vtkm::IdComponent NumCol>
using vtkm::VecTraits< vtkm::Matrix< T, NumRow, NumCol > >::ComponentType = T

◆ HasMultipleComponents

template<typename T , vtkm::IdComponent NumRow, vtkm::IdComponent NumCol>
using vtkm::VecTraits< vtkm::Matrix< T, NumRow, NumCol > >::HasMultipleComponents = vtkm::VecTraitsTagMultipleComponents

◆ IsSizeStatic

template<typename T , vtkm::IdComponent NumRow, vtkm::IdComponent NumCol>
using vtkm::VecTraits< vtkm::Matrix< T, NumRow, NumCol > >::IsSizeStatic = vtkm::VecTraitsTagSizeStatic

◆ MatrixType

template<typename T , vtkm::IdComponent NumRow, vtkm::IdComponent NumCol>
using vtkm::VecTraits< vtkm::Matrix< T, NumRow, NumCol > >::MatrixType = vtkm::Matrix<T, NumRow, NumCol>
private

◆ ReplaceBaseComponentType

template<typename T , vtkm::IdComponent NumRow, vtkm::IdComponent NumCol>
template<typename NewComponentType >
using vtkm::VecTraits< vtkm::Matrix< T, NumRow, NumCol > >::ReplaceBaseComponentType = vtkm::Matrix<typename vtkm::VecTraits<T>::template ReplaceBaseComponentType<NewComponentType>, NumRow, NumCol>

◆ ReplaceComponentType

template<typename T , vtkm::IdComponent NumRow, vtkm::IdComponent NumCol>
template<typename NewComponentType >
using vtkm::VecTraits< vtkm::Matrix< T, NumRow, NumCol > >::ReplaceComponentType = vtkm::Matrix<NewComponentType, NumRow, NumCol>

Member Function Documentation

◆ GetComponent() [1/2]

template<typename T , vtkm::IdComponent NumRow, vtkm::IdComponent NumCol>
static const VTKM_EXEC_CONT ComponentType& vtkm::VecTraits< vtkm::Matrix< T, NumRow, NumCol > >::GetComponent ( const MatrixType matrix,
vtkm::IdComponent  component 
)
inlinestatic

◆ GetComponent() [2/2]

template<typename T , vtkm::IdComponent NumRow, vtkm::IdComponent NumCol>
static VTKM_EXEC_CONT ComponentType& vtkm::VecTraits< vtkm::Matrix< T, NumRow, NumCol > >::GetComponent ( MatrixType matrix,
vtkm::IdComponent  component 
)
inlinestatic

◆ GetNumberOfComponents()

template<typename T , vtkm::IdComponent NumRow, vtkm::IdComponent NumCol>
static VTKM_EXEC_CONT vtkm::IdComponent vtkm::VecTraits< vtkm::Matrix< T, NumRow, NumCol > >::GetNumberOfComponents ( const MatrixType )
inlinestatic

◆ SetComponent()

template<typename T , vtkm::IdComponent NumRow, vtkm::IdComponent NumCol>
static VTKM_EXEC_CONT void vtkm::VecTraits< vtkm::Matrix< T, NumRow, NumCol > >::SetComponent ( MatrixType matrix,
vtkm::IdComponent  component,
value 
)
inlinestatic

Member Data Documentation

◆ NUM_COMPONENTS

template<typename T , vtkm::IdComponent NumRow, vtkm::IdComponent NumCol>
constexpr vtkm::IdComponent vtkm::VecTraits< vtkm::Matrix< T, NumRow, NumCol > >::NUM_COMPONENTS = NumRow * NumCol
staticconstexpr

The documentation for this struct was generated from the following file: