IOSS  2.0
Ioss::Field Class Reference

Holds metadata for bulk data associated with a GroupingEntity. More...

#include <Ioss_Field.h>

Public Types

enum  BasicType {
  INVALID = -1, REAL = 1, DOUBLE = 1, INTEGER = 4,
  INT32 = 4, INT64 = 8, COMPLEX, STRING,
  CHARACTER
}
 The basic data type held in the field. More...
 
enum  RoleType {
  INTERNAL, MESH, ATTRIBUTE, COMMUNICATION,
  INFORMATION, REDUCTION, TRANSIENT
}
 

Public Member Functions

 Field ()
 Create an empty field. More...
 
 Field (std::string name, BasicType type, const std::string &storage, RoleType role, size_t value_count, size_t index=0)
 Create a field. More...
 
 Field (std::string name, BasicType type, const std::string &storage, int copies, RoleType role, size_t value_count, size_t index=0)
 Create a field. More...
 
 Field (std::string name, BasicType type, const VariableType *storage, RoleType role, size_t value_count, size_t index=0)
 Create a field. More...
 
 Field (const Field &)
 
Fieldoperator= (const Field &)
 
bool operator< (const Field &other) const
 
 ~Field ()
 
bool is_valid () const
 
bool is_invalid () const
 
const std::string & get_name () const
 
BasicType get_type () const
 Get the basic data type of the data held in the field. More...
 
const VariableTyperaw_storage () const
 
const VariableTypetransformed_storage () const
 
size_t raw_count () const
 
size_t transformed_count () const
 
size_t get_size () const
 
RoleType get_role () const
 Get the role (MESH, ATTRIBUTE, TRANSIENT, REDUCTION, etc.) of the data in the field. More...
 
size_t get_index () const
 
void set_index (size_t index) const
 
void reset_count (size_t new_count)
 
void reset_type (BasicType new_type)
 
size_t verify (size_t data_size) const
 
void check_type (BasicType the_type) const
 
bool is_type (BasicType the_type) const
 
bool add_transform (Transform *my_transform)
 
bool transform (void *data)
 
bool has_transform () const
 

Static Public Member Functions

static Ioss::Field::BasicType get_field_type (char)
 
static Ioss::Field::BasicType get_field_type (double)
 
static Ioss::Field::BasicType get_field_type (int)
 
static Ioss::Field::BasicType get_field_type (unsigned int)
 
static Ioss::Field::BasicType get_field_type (int64_t)
 
static Ioss::Field::BasicType get_field_type (uint64_t)
 
static Ioss::Field::BasicType get_field_type (Complex)
 
static Ioss::Field::BasicType get_field_type (std::string)
 

Private Attributes

std::string name_
 
size_t rawCount_ {}
 
size_t transCount_ {}
 
size_t size_ {}
 
size_t index_ {}
 
BasicType type_ {INVALID}
 
RoleType role_ {INTERNAL}
 
const VariableTyperawStorage_ {}
 
const VariableTypetransStorage_ {}
 
std::vector< Transform * > transforms_
 

Detailed Description

Holds metadata for bulk data associated with a GroupingEntity.

Member Enumeration Documentation

◆ BasicType

The basic data type held in the field.

Enumerator
INVALID 
REAL 
DOUBLE 
INTEGER 
INT32 
INT64 
COMPLEX 
STRING 
CHARACTER 

◆ RoleType

Enumerator
INTERNAL 
MESH 

A field which is used to define the basic geometry or topology of the model and is not normally transient in nature. Examples would be element connectivity or nodal coordinates.

ATTRIBUTE 

A field which is used to define an attribute on an EntityBlock derived class. Examples would be thickness of the elements in a shell element block or the radius of particles in a particle element block.

COMMUNICATION 
INFORMATION 
REDUCTION 

A field which typically summarizes some transient data about an entity. The size of this field is typically not proportional to the number of entities in a GroupingEntity. An example would be average displacement over a group of nodes or the kinetic energy of a model. This data is also transient.

TRANSIENT 

A field which is typically calculated at multiple steps or times in an analysis. These are typically "results" data. Examples would be nodal displacement or element stress.

Constructor & Destructor Documentation

◆ Field() [1/5]

Ioss::Field::Field ( )

Create an empty field.

◆ Field() [2/5]

Ioss::Field::Field ( std::string  name,
BasicType  type,
const std::string &  storage,
RoleType  role,
size_t  value_count,
size_t  index = 0 
)

Create a field.

Parameters
[in]nameThe name of the field
[in]typeThe basic data type of data held in the field.
[in]storageThe storage class of the data (ConstructedVariableType, CompositeVariableType, etc)
[in]roleThe category of information held in the field (MESH, ATTRIBUTE, TRANSIENT, REDUCTION, etc)
[in]value_countThe number of items in the field.
[in]index

◆ Field() [3/5]

Ioss::Field::Field ( std::string  name,
BasicType  type,
const std::string &  storage,
int  copies,
RoleType  role,
size_t  value_count,
size_t  index = 0 
)

Create a field.

Parameters
[in]nameThe name of the field
[in]typeThe basic data type of data held in the field.
[in]storageThe storage class of the data (ConstructedVariableType, CompositeVariableType, etc)
[in]copiesThe number of variables to be combined in a CompositeVariableType field.
[in]roleThe category of information held in the field (MESH, ATTRIBUTE, TRANSIENT, REDUCTION, etc)
[in]value_countThe number of items in the field.
[in]index

◆ Field() [4/5]

Ioss::Field::Field ( std::string  name,
BasicType  type,
const VariableType storage,
RoleType  role,
size_t  value_count,
size_t  index = 0 
)

Create a field.

Parameters
[in]nameThe name of the field
[in]typeThe basic data type of data held in the field.
[in]storageThe storage class of the data (ConstructedVariableType, CompositeVariableType, etc)
[in]roleThe category of information held in the field (MESH, ATTRIBUTE, TRANSIENT, REDUCTION, etc)
[in]value_countThe number of items in the field.
[in]index

◆ Field() [5/5]

Ioss::Field::Field ( const Field )
default

◆ ~Field()

Ioss::Field::~Field ( )
default

Member Function Documentation

◆ add_transform()

bool Ioss::Field::add_transform ( Transform my_transform)

◆ check_type()

void Ioss::Field::check_type ( BasicType  the_type) const

◆ get_field_type() [1/8]

static Ioss::Field::BasicType Ioss::Field::get_field_type ( char  )
inlinestatic

◆ get_field_type() [2/8]

static Ioss::Field::BasicType Ioss::Field::get_field_type ( double  )
inlinestatic

◆ get_field_type() [3/8]

static Ioss::Field::BasicType Ioss::Field::get_field_type ( int  )
inlinestatic

◆ get_field_type() [4/8]

static Ioss::Field::BasicType Ioss::Field::get_field_type ( unsigned  int)
inlinestatic

◆ get_field_type() [5/8]

static Ioss::Field::BasicType Ioss::Field::get_field_type ( int64_t  )
inlinestatic

◆ get_field_type() [6/8]

static Ioss::Field::BasicType Ioss::Field::get_field_type ( uint64_t  )
inlinestatic

◆ get_field_type() [7/8]

static Ioss::Field::BasicType Ioss::Field::get_field_type ( Complex  )
inlinestatic

◆ get_field_type() [8/8]

static Ioss::Field::BasicType Ioss::Field::get_field_type ( std::string  )
inlinestatic

◆ get_index()

size_t Ioss::Field::get_index ( ) const
inline

◆ get_name()

const std::string& Ioss::Field::get_name ( ) const
inline

◆ get_role()

RoleType Ioss::Field::get_role ( ) const
inline

Get the role (MESH, ATTRIBUTE, TRANSIENT, REDUCTION, etc.) of the data in the field.

Returns
The RoleType of the data in the field.

◆ get_size()

size_t Ioss::Field::get_size ( ) const

◆ get_type()

BasicType Ioss::Field::get_type ( ) const
inline

Get the basic data type of the data held in the field.

Returns
the basic data type of the data held in the field.

◆ has_transform()

bool Ioss::Field::has_transform ( ) const
inline

◆ is_invalid()

bool Ioss::Field::is_invalid ( ) const
inline

◆ is_type()

bool Ioss::Field::is_type ( BasicType  the_type) const
inline

◆ is_valid()

bool Ioss::Field::is_valid ( ) const
inline

◆ operator<()

bool Ioss::Field::operator< ( const Field other) const

◆ operator=()

Ioss::Field & Ioss::Field::operator= ( const Field )
default

◆ raw_count()

size_t Ioss::Field::raw_count ( ) const
inline

◆ raw_storage()

const VariableType* Ioss::Field::raw_storage ( ) const
inline

◆ reset_count()

void Ioss::Field::reset_count ( size_t  new_count)

◆ reset_type()

void Ioss::Field::reset_type ( BasicType  new_type)

◆ set_index()

void Ioss::Field::set_index ( size_t  index) const
inline

◆ transform()

bool Ioss::Field::transform ( void *  data)

◆ transformed_count()

size_t Ioss::Field::transformed_count ( ) const
inline

◆ transformed_storage()

const VariableType* Ioss::Field::transformed_storage ( ) const
inline

◆ verify()

size_t Ioss::Field::verify ( size_t  data_size) const

Member Data Documentation

◆ index_

size_t Ioss::Field::index_ {}
mutableprivate

◆ name_

std::string Ioss::Field::name_
private

◆ rawCount_

size_t Ioss::Field::rawCount_ {}
private

◆ rawStorage_

const VariableType* Ioss::Field::rawStorage_ {}
private

◆ role_

RoleType Ioss::Field::role_ {INTERNAL}
private

◆ size_

size_t Ioss::Field::size_ {}
private

◆ transCount_

size_t Ioss::Field::transCount_ {}
private

◆ transforms_

std::vector<Transform *> Ioss::Field::transforms_
private

◆ transStorage_

const VariableType* Ioss::Field::transStorage_ {}
private

◆ type_

BasicType Ioss::Field::type_ {INVALID}
private

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