VTK-m  1.5
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
vtkm::cont::Field Class Reference

A Field encapsulates an array on some piece of the mesh, such as the points, a cell set, a point logical dimension, or the whole mesh. More...

#include <Field.h>

Inheritance diagram for vtkm::cont::Field:
vtkm::cont::CoordinateSystem

Public Types

enum  Association { Association::ANY, Association::WHOLE_MESH, Association::POINTS, Association::CELL_SET }
 

Public Member Functions

VTKM_CONT Field ()=default
 
VTKM_CONT Field (std::string name, Association association, const vtkm::cont::VariantArrayHandle &data)
 
template<typename T , typename Storage >
VTKM_CONT Field (std::string name, Association association, const vtkm::cont::ArrayHandle< T, Storage > &data)
 
 Field (const vtkm::cont::Field &src)
 
 Field (vtkm::cont::Field &&src) noexcept
 
virtual VTKM_CONT ~Field ()
 
VTKM_CONT Fieldoperator= (const vtkm::cont::Field &src)
 
VTKM_CONT Fieldoperator= (vtkm::cont::Field &&src) noexcept
 
const VTKM_CONT std::string & GetName () const
 
VTKM_CONT Association GetAssociation () const
 
const vtkm::cont::VariantArrayHandleGetData () const
 
vtkm::cont::VariantArrayHandleGetData ()
 
VTKM_CONT bool IsFieldCell () const
 
VTKM_CONT bool IsFieldPoint () const
 
VTKM_CONT bool IsFieldGlobal () const
 
VTKM_CONT vtkm::Id GetNumberOfValues () const
 
template<typename TypeList >
VTKM_CONT void GetRange (vtkm::Range *range, TypeList) const
 
template<typename TypeList >
const VTKM_CONT vtkm::cont::ArrayHandle< vtkm::Range > & GetRange (TypeList) const
 
const VTKM_CONT vtkm::cont::ArrayHandle< vtkm::Range > & GetRange () const
 
VTKM_CONT void GetRange (vtkm::Range *range) const
 
template<typename T , typename StorageTag >
VTKM_CONT void SetData (const vtkm::cont::ArrayHandle< T, StorageTag > &newdata)
 
template<typename TypeList >
VTKM_CONT void SetData (const vtkm::cont::VariantArrayHandleBase< TypeList > &newdata)
 
virtual VTKM_CONT void PrintSummary (std::ostream &out) const
 
virtual VTKM_CONT void ReleaseResourcesExecution ()
 

Private Member Functions

template<typename TypeList >
const VTKM_CONT vtkm::cont::ArrayHandle< vtkm::Range > & GetRangeImpl (TypeList) const
 

Private Attributes

std::string Name
 name of field More...
 
Association FieldAssociation = Association::ANY
 
vtkm::cont::VariantArrayHandle Data
 
vtkm::cont::ArrayHandle< vtkm::RangeRange
 
bool ModifiedFlag = true
 

Detailed Description

A Field encapsulates an array on some piece of the mesh, such as the points, a cell set, a point logical dimension, or the whole mesh.

Member Enumeration Documentation

◆ Association

Enumerator
ANY 
WHOLE_MESH 
POINTS 
CELL_SET 

Constructor & Destructor Documentation

◆ Field() [1/5]

VTKM_CONT vtkm::cont::Field::Field ( )
default

◆ Field() [2/5]

VTKM_CONT vtkm::cont::Field::Field ( std::string  name,
Association  association,
const vtkm::cont::VariantArrayHandle data 
)

◆ Field() [3/5]

template<typename T , typename Storage >
VTKM_CONT vtkm::cont::Field::Field ( std::string  name,
Association  association,
const vtkm::cont::ArrayHandle< T, Storage > &  data 
)
inline

◆ Field() [4/5]

vtkm::cont::Field::Field ( const vtkm::cont::Field src)

◆ Field() [5/5]

vtkm::cont::Field::Field ( vtkm::cont::Field &&  src)
noexcept

◆ ~Field()

virtual VTKM_CONT vtkm::cont::Field::~Field ( )
virtual

Member Function Documentation

◆ GetAssociation()

VTKM_CONT Association vtkm::cont::Field::GetAssociation ( ) const
inline

◆ GetData() [1/2]

vtkm::cont::VariantArrayHandle& vtkm::cont::Field::GetData ( )

◆ GetData() [2/2]

const vtkm::cont::VariantArrayHandle& vtkm::cont::Field::GetData ( ) const

◆ GetName()

const VTKM_CONT std::string& vtkm::cont::Field::GetName ( ) const
inline

◆ GetNumberOfValues()

VTKM_CONT vtkm::Id vtkm::cont::Field::GetNumberOfValues ( ) const
inline

◆ GetRange() [1/4]

const VTKM_CONT vtkm::cont::ArrayHandle<vtkm::Range>& vtkm::cont::Field::GetRange ( ) const
inline

◆ GetRange() [2/4]

template<typename TypeList >
const VTKM_CONT vtkm::cont::ArrayHandle<vtkm::Range>& vtkm::cont::Field::GetRange ( TypeList  ) const
inline

◆ GetRange() [3/4]

VTKM_CONT void vtkm::cont::Field::GetRange ( vtkm::Range range) const
inline

◆ GetRange() [4/4]

template<typename TypeList >
VTKM_CONT void vtkm::cont::Field::GetRange ( vtkm::Range range,
TypeList   
) const
inline

◆ GetRangeImpl()

template<typename TypeList >
const VTKM_CONT vtkm::cont::ArrayHandle<vtkm::Range>& vtkm::cont::Field::GetRangeImpl ( TypeList  ) const
inlineprivate

◆ IsFieldCell()

VTKM_CONT bool vtkm::cont::Field::IsFieldCell ( ) const
inline

◆ IsFieldGlobal()

VTKM_CONT bool vtkm::cont::Field::IsFieldGlobal ( ) const
inline

◆ IsFieldPoint()

VTKM_CONT bool vtkm::cont::Field::IsFieldPoint ( ) const
inline

◆ operator=() [1/2]

VTKM_CONT Field& vtkm::cont::Field::operator= ( const vtkm::cont::Field src)

◆ operator=() [2/2]

VTKM_CONT Field& vtkm::cont::Field::operator= ( vtkm::cont::Field &&  src)
noexcept

◆ PrintSummary()

virtual VTKM_CONT void vtkm::cont::Field::PrintSummary ( std::ostream &  out) const
virtual

Reimplemented in vtkm::cont::CoordinateSystem.

◆ ReleaseResourcesExecution()

virtual VTKM_CONT void vtkm::cont::Field::ReleaseResourcesExecution ( )
inlinevirtual

Reimplemented in vtkm::cont::CoordinateSystem.

◆ SetData() [1/2]

template<typename T , typename StorageTag >
VTKM_CONT void vtkm::cont::Field::SetData ( const vtkm::cont::ArrayHandle< T, StorageTag > &  newdata)
inline

◆ SetData() [2/2]

template<typename TypeList >
VTKM_CONT void vtkm::cont::Field::SetData ( const vtkm::cont::VariantArrayHandleBase< TypeList > &  newdata)
inline

Member Data Documentation

◆ Data

vtkm::cont::VariantArrayHandle vtkm::cont::Field::Data
private

◆ FieldAssociation

Association vtkm::cont::Field::FieldAssociation = Association::ANY
private

◆ ModifiedFlag

bool vtkm::cont::Field::ModifiedFlag = true
mutableprivate

◆ Name

std::string vtkm::cont::Field::Name
private

name of field

◆ Range

vtkm::cont::ArrayHandle<vtkm::Range> vtkm::cont::Field::Range
mutableprivate

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