INMOST
A toolkit for distributed mathematical modeling
INMOST::Storage Class Reference

Base class for Mesh, Element, and ElementSet classes. More...

#include <inmost_data.h>

Inheritance diagram for INMOST::Storage:

Classes

class  reference_array
 Storage type for representing arrays of Element references. More...
 
class  remote_reference_array
 Storage type for representing arrays of Element references on another Mesh. More...
 

Public Types

typedef INMOST_DATA_REAL_TYPE real
 Storage type for representing real values.
 
typedef INMOST_DATA_INTEGER_TYPE integer
 Storage type for representing integer values.
 
typedef INMOST_DATA_BULK_TYPE bulk
 Storage type for representing one byte of abstract data.
 
typedef INMOST_DATA_ENUM_TYPE enumerator
 type for representing unsigned integer values.
 
typedef HandleType reference
 Storage type for representing references to Element.
 
typedef RemoteHandleType remote_reference
 Storage type for representing references to Element in another Mesh.
 
typedef shell< realreal_array
 Storage type for representing arrays of real values.
 
typedef shell< integerinteger_array
 Storage type for representing arrays of integer values.
 
typedef shell< bulkbulk_array
 Storage type for representing abstract data as a series of bytes.
 
typedef variable var
 Storage type for representing real value with vector of variations.
 
typedef shell< variablevar_array
 Storage type for representing array of values with vectors of variations.
 

Public Member Functions

 Storage (const Storage &other)
 
 Storage (Mesh *mesh, HandleType handle)
 
 Storage (Mesh *mesh, HandleType *handle)
 This constructor allows for remote handle modification.
 
Storageoperator= (Storage const &other)
 If there is a link to handle provided (automatically by ElementArray and reference_array), then remote handle value will be modified.
 
__INLINE bool operator< (const Storage &other) const
 
__INLINE bool operator> (const Storage &other) const
 
__INLINE bool operator<= (const Storage &other) const
 
__INLINE bool operator>= (const Storage &other) const
 
__INLINE bool operator== (const Storage &other) const
 
__INLINE bool operator!= (const Storage &other) const
 
__INLINE Storageoperator-> ()
 
__INLINE const Storageoperator-> () const
 
__INLINE Storageself ()
 
__INLINE const Storageself () const
 
__INLINE realReal (const Tag &tag) const
 Retrieve real value associated with Tag. More...
 
__INLINE integerInteger (const Tag &tag) const
 Retrieve integer value associated with Tag. More...
 
__INLINE bulkBulk (const Tag &tag) const
 Retrieve one byte of abstract data associated with Tag. More...
 
__INLINE referenceReference (const Tag &tag) const
 Retrieve Element reference associated with Tag. More...
 
__INLINE remote_referenceRemoteReference (const Tag &tag) const
 Retrieve remote Element reference associated with Tag. More...
 
__INLINE real_array RealArray (const Tag &tag) const
 Retrieve array of real values associated with Tag. More...
 
__INLINE integer_array IntegerArray (const Tag &tag) const
 Retrieve array of integer values associated with Tag. More...
 
__INLINE bulk_array BulkArray (const Tag &tag) const
 Retrieve abstract data associated with Tag as a series of bytes. More...
 
__INLINE reference_array ReferenceArray (const Tag &tag) const
 Retrieve array of Element references associated with Tag. More...
 
__INLINE remote_reference_array RemoteReferenceArray (const Tag &tag) const
 Retrieve array of Element references associated with Tag. More...
 
__INLINE real_array RealArrayDF (const Tag &tag) const
 
__INLINE integer_array IntegerArrayDF (const Tag &tag) const
 
__INLINE bulk_array BulkArrayDF (const Tag &tag) const
 
__INLINE reference_array ReferenceArrayDF (const Tag &tag) const
 
__INLINE remote_reference_array RemoteReferenceArrayDF (const Tag &tag) const
 
__INLINE realRealDF (const Tag &tag) const
 
__INLINE integerIntegerDF (const Tag &tag) const
 
__INLINE bulkBulkDF (const Tag &tag) const
 
__INLINE referenceReferenceDF (const Tag &tag) const
 
__INLINE remote_referenceRemoteReferenceDF (const Tag &tag) const
 
__INLINE real_array RealArrayDV (const Tag &tag) const
 
__INLINE integer_array IntegerArrayDV (const Tag &tag) const
 
__INLINE bulk_array BulkArrayDV (const Tag &tag) const
 
__INLINE reference_array ReferenceArrayDV (const Tag &tag) const
 
__INLINE remote_reference_array RemoteReferenceArrayDV (const Tag &tag) const
 
__INLINE realRealDV (const Tag &tag) const
 
__INLINE integerIntegerDV (const Tag &tag) const
 
__INLINE bulkBulkDV (const Tag &tag) const
 
__INLINE referenceReferenceDV (const Tag &tag) const
 
__INLINE remote_referenceRemoteReferenceDV (const Tag &tag) const
 
__INLINE varVariable (const Tag &tag) const
 Retrieve variable reference associated with Tag.
 
__INLINE varVariableDF (const Tag &tag) const
 
__INLINE varVariableDV (const Tag &tag) const
 
__INLINE var_array VariableArray (const Tag &tag) const
 Retrieve array of variables associated with Tag.
 
__INLINE var_array VariableArrayDF (const Tag &tag) const
 
__INLINE var_array VariableArrayDV (const Tag &tag) const
 
__INLINE INMOST_DATA_ENUM_TYPE GetDataSize (const Tag &tag) const
 Return the data length associated with Tag. More...
 
__INLINE INMOST_DATA_ENUM_TYPE GetDataCapacity (const Tag &tag) const
 Return the size of the structure required to represent the data on current element. More...
 
__INLINE void SetDataSize (const Tag &tag, INMOST_DATA_ENUM_TYPE new_size) const
 Set the length of data associated with Tag. More...
 
__INLINE void GetData (const Tag &tag, INMOST_DATA_ENUM_TYPE shift, INMOST_DATA_ENUM_TYPE size, void *data) const
 Extract part of the data associated with Tag. More...
 
__INLINE void SetData (const Tag &tag, INMOST_DATA_ENUM_TYPE shift, INMOST_DATA_ENUM_TYPE size, const void *data) const
 
__INLINE void DelData (const Tag &tag) const
 
__INLINE bool DelSparseData (const Tag &tag) const
 Deallocates space allocated for sparse data, frees variable array if necessary.
 
__INLINE void DelDenseData (const Tag &tag) const
 Frees variable array or fills field with zeroes.
 
__INLINE bool HaveData (const Tag &tag) const
 Check if any data is associated with Tag.
 
__INLINE ElementType GetElementType () const
 
__INLINE integer GetElementNum () const
 
__INLINE void SetMarker (MarkerType n) const
 
__INLINE bool GetMarker (MarkerType n) const
 
__INLINE void RemMarker (MarkerType n) const
 
__INLINE void SetPrivateMarker (MarkerType n) const
 
__INLINE bool GetPrivateMarker (MarkerType n) const
 
__INLINE void RemPrivateMarker (MarkerType n) const
 
__INLINE void ClearMarkerSpace () const
 
__INLINE void GetMarkerSpace (bulk copy[MarkerFields]) const
 
__INLINE void SetMarkerSpace (bulk source[MarkerFields]) const
 
__INLINE integer LocalID () const
 
__INLINE integer DataLocalID () const
 This number is guaranteed to be between 0 and Mesh::NumberOf(type of element) after Mesh::ReorderEmpty.
 
__INLINE bool isValid () const
 
__INLINE MeshGetMeshLink () const
 
__INLINE HandleType GetHandle () const
 
__INLINE Element getAsElement () const
 
__INLINE Node getAsNode () const
 
__INLINE Edge getAsEdge () const
 
__INLINE Face getAsFace () const
 
__INLINE Cell getAsCell () const
 
__INLINE ElementSet getAsSet () const
 

Protected Attributes

HandleType handle
 
HandleType * handle_link
 

Friends

class Mesh
 

Detailed Description

Base class for Mesh, Element, and ElementSet classes.

This base class is used for the Mesh class, as well as Element classes, and ElementSet class.

Storage class is used for representing different data objects in memory. Each data object is associated with corresponding Tag.

Definition at line 309 of file inmost_data.h.

Member Function Documentation

◆ Bulk()

__INLINE Storage::bulk & INMOST::Storage::Bulk ( const Tag tag) const

Retrieve one byte of abstract data associated with Tag.

Implemented in inmost_mesh.h.

Parameters
taginstance of class Tag that represent asking datum.

Definition at line 3737 of file inmost_mesh.h.

◆ BulkArray()

__INLINE Storage::bulk_array INMOST::Storage::BulkArray ( const Tag tag) const

Retrieve abstract data associated with Tag as a series of bytes.

Implemented in inmost_mesh.h.

Parameters
taginstance of class Tag that represent asking datum.

Definition at line 3757 of file inmost_mesh.h.

◆ GetData()

__INLINE void INMOST::Storage::GetData ( const Tag tag,
INMOST_DATA_ENUM_TYPE  shift,
INMOST_DATA_ENUM_TYPE  size,
void *  data 
) const

Extract part of the data associated with Tag.

Copy part of the associated array or data to the destination memory.

Parameters
tagIdentifying Tag.
shiftStarting position of the copied data. For abstract data - number of bytes to skip, otherwise number of values to skip.
sizeNumber of elements to copy. For abstract data - number of bytes to copy, otherwise number of values to copy.
dataDestination position to copy data to.
See also
Storage::SetData

Definition at line 3953 of file inmost_mesh.h.

◆ GetDataCapacity()

__INLINE INMOST_DATA_ENUM_TYPE INMOST::Storage::GetDataCapacity ( const Tag tag) const

Return the size of the structure required to represent the data on current element.

This is equal to GetDataSize times Tag::GetBytesSize for all the data types, except for DATA_VARIABLE, that requires a larger structure to accommodate derivatives.

Parameters
tagtag that represents the data
See also
Mesh::GetDataCapacity

Definition at line 3937 of file inmost_mesh.h.

◆ GetDataSize()

__INLINE INMOST_DATA_ENUM_TYPE INMOST::Storage::GetDataSize ( const Tag tag) const

Return the data length associated with Tag.

For abstract data return the number of bytes, otherwise return the length of associated array.

Parameters
tagtag that represents the data
See also
Storage::SetDataSize
Mesh::GetDataSize

Definition at line 3933 of file inmost_mesh.h.

◆ Integer()

__INLINE Storage::integer & INMOST::Storage::Integer ( const Tag tag) const

Retrieve integer value associated with Tag.

Implemented in inmost_mesh.h.

Parameters
taginstance of class Tag that represent asking datum.

Definition at line 3733 of file inmost_mesh.h.

◆ IntegerArray()

__INLINE Storage::integer_array INMOST::Storage::IntegerArray ( const Tag tag) const

Retrieve array of integer values associated with Tag.

Implemented in inmost_mesh.h.

Parameters
taginstance of class Tag that represent asking datum.

Definition at line 3753 of file inmost_mesh.h.

◆ Real()

__INLINE Storage::real & INMOST::Storage::Real ( const Tag tag) const

Retrieve real value associated with Tag.

Inline functions for class Storage //.

Implemented in inmost_mesh.h.

Parameters
taginstance of class Tag that represent asking datum.

Definition at line 3729 of file inmost_mesh.h.

◆ RealArray()

__INLINE Storage::real_array INMOST::Storage::RealArray ( const Tag tag) const

Retrieve array of real values associated with Tag.

Implemented in inmost_mesh.h.

Parameters
taginstance of class Tag that represent asking datum.

Definition at line 3749 of file inmost_mesh.h.

◆ Reference()

__INLINE Storage::reference & INMOST::Storage::Reference ( const Tag tag) const

Retrieve Element reference associated with Tag.

Implemented in inmost_mesh.h.

Parameters
taginstance of class Tag that represent asking datum.

Definition at line 3741 of file inmost_mesh.h.

◆ ReferenceArray()

__INLINE Storage::reference_array INMOST::Storage::ReferenceArray ( const Tag tag) const

Retrieve array of Element references associated with Tag.

Implemented in inmost_mesh.h.

Parameters
taginstance of class Tag that represent asking datum.

Definition at line 3761 of file inmost_mesh.h.

◆ RemoteReference()

__INLINE Storage::remote_reference & INMOST::Storage::RemoteReference ( const Tag tag) const

Retrieve remote Element reference associated with Tag.

Implemented in inmost_mesh.h.

Parameters
taginstance of class Tag that represent asking datum.

Definition at line 3745 of file inmost_mesh.h.

◆ RemoteReferenceArray()

__INLINE Storage::remote_reference_array INMOST::Storage::RemoteReferenceArray ( const Tag tag) const

Retrieve array of Element references associated with Tag.

Implemented in inmost_mesh.h.

Parameters
taginstance of class Tag that represent asking datum.

Definition at line 3765 of file inmost_mesh.h.

◆ SetDataSize()

__INLINE void INMOST::Storage::SetDataSize ( const Tag tag,
INMOST_DATA_ENUM_TYPE  new_size 
) const

Set the length of data associated with Tag.

Parameters
tagIdentifying Tag.
new_sizeThe number of bytes for abstract data, otherwise the length of the array.
See also
Storage::GetDataSize
Mesh::SetDataSize

Definition at line 3941 of file inmost_mesh.h.


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