FEI Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Private Attributes | List of all members
fei::Pattern Class Reference

#include <fei_Pattern.hpp>

Public Types

enum  PatternType { NO_FIELD, SIMPLE, SINGLE_IDTYPE, GENERAL }
 

Public Member Functions

 Pattern (int numIDs, int idType, snl_fei::RecordCollection *records)
 
 Pattern (int numIDs, int idType, snl_fei::RecordCollection *records, int fieldID, int fieldSize)
 
 Pattern (int numIDs, int idType, snl_fei::RecordCollection *records, const int *numFieldsPerID, const int *fieldIDs, const int *fieldSizes)
 
 Pattern (int numIDs, const int *idTypes, snl_fei::RecordCollection *const *records, const int *numFieldsPerID, const int *fieldIDs, const int *fieldSizes)
 
virtual ~Pattern ()
 
PatternType getPatternType () const
 
int getNumIDs () const
 
const int * getIDTypes () const
 
snl_fei::RecordCollection *const * getRecordCollections () const
 
const int * getNumFieldsPerID () const
 
const int * getFieldIDs () const
 
const int * getNumIndicesPerID () const
 
int getTotalNumFields () const
 
int getNumIndices () const
 
bool operator== (const Pattern &rhs) const
 
bool operator!= (const Pattern &rhs) const
 

Private Attributes

PatternType type_
 
int numIDs_
 
int totalNumFields_
 
int numIndices_
 
std::vector< int > data_
 
std::vector
< snl_fei::RecordCollection * > 
recordCollections_
 
const int * idTypes_
 
const int * numFieldsPerID_
 
const int * fieldIDs_
 
const int * numIndicesPerID_
 

Detailed Description

Stencil-like pattern definition/description. Describes the layout of a set of field-identifiers associated with a set of identifiers and identifier-types.

Example: Can be used to describe the layout of nodes with associated fields on an element ('element' as in finite-elements).

Definition at line 29 of file fei_Pattern.hpp.

Member Enumeration Documentation

enumeration of different pattern-types

Enumerator
NO_FIELD 
SIMPLE 
SINGLE_IDTYPE 
GENERAL 

Definition at line 32 of file fei_Pattern.hpp.

Constructor & Destructor Documentation

fei::Pattern::Pattern ( int  numIDs,
int  idType,
snl_fei::RecordCollection records 
)

Constructor, Pattern::PatternType == NO_FIELD

Definition at line 12 of file fei_Pattern.cpp.

References data_, fieldIDs_, idTypes_, numFieldsPerID_, numIDs_, and numIndicesPerID_.

fei::Pattern::Pattern ( int  numIDs,
int  idType,
snl_fei::RecordCollection records,
int  fieldID,
int  fieldSize 
)
  Constructor, Pattern::PatternType == SIMPLE

There is only one id-type, and only one field.

Definition at line 51 of file fei_Pattern.cpp.

References data_, fieldIDs_, idTypes_, numFieldsPerID_, numIDs_, numIndices_, and numIndicesPerID_.

fei::Pattern::Pattern ( int  numIDs,
int  idType,
snl_fei::RecordCollection records,
const int *  numFieldsPerID,
const int *  fieldIDs,
const int *  fieldSizes 
)
  Constructor, Pattern::PatternType == SINGLE_IDTYPE

There is only one id-type, but there may be multiple fields per id.

Definition at line 93 of file fei_Pattern.cpp.

References data_, fieldIDs_, idTypes_, numFieldsPerID_, numIDs_, numIndices_, numIndicesPerID_, SIMPLE, totalNumFields_, and type_.

fei::Pattern::Pattern ( int  numIDs,
const int *  idTypes,
snl_fei::RecordCollection *const *  records,
const int *  numFieldsPerID,
const int *  fieldIDs,
const int *  fieldSizes 
)

Constructor, Pattern::PatternType == GENERAL There may be multiple id-types as well as multiple fields-per-id.

Definition at line 154 of file fei_Pattern.cpp.

References data_, fieldIDs_, idTypes_, numFieldsPerID_, numIDs_, numIndices_, numIndicesPerID_, SIMPLE, SINGLE_IDTYPE, totalNumFields_, and type_.

fei::Pattern::~Pattern ( )
virtual

Definition at line 224 of file fei_Pattern.cpp.

Member Function Documentation

PatternType fei::Pattern::getPatternType ( ) const
inline
int fei::Pattern::getNumIDs ( ) const
inline
const int* fei::Pattern::getIDTypes ( ) const
inline
snl_fei::RecordCollection* const* fei::Pattern::getRecordCollections ( ) const
inline
const int* fei::Pattern::getNumFieldsPerID ( ) const
inline
const int* fei::Pattern::getFieldIDs ( ) const
inline
const int* fei::Pattern::getNumIndicesPerID ( ) const
inline
int fei::Pattern::getTotalNumFields ( ) const
inline
int fei::Pattern::getNumIndices ( ) const
inline
bool fei::Pattern::operator== ( const Pattern rhs) const

return true if the 'rhs' pattern is the same as 'this' pattern.

Definition at line 229 of file fei_Pattern.cpp.

References data_, numIDs_, numIndices_, totalNumFields_, and type_.

bool fei::Pattern::operator!= ( const Pattern rhs) const

return true if the 'rhs' pattern is different than 'this' pattern.

Definition at line 239 of file fei_Pattern.cpp.

Member Data Documentation

PatternType fei::Pattern::type_
private

Definition at line 103 of file fei_Pattern.hpp.

Referenced by getPatternType(), operator==(), and Pattern().

int fei::Pattern::numIDs_
private

Definition at line 104 of file fei_Pattern.hpp.

Referenced by getNumIDs(), operator==(), and Pattern().

int fei::Pattern::totalNumFields_
private

Definition at line 105 of file fei_Pattern.hpp.

Referenced by getTotalNumFields(), operator==(), and Pattern().

int fei::Pattern::numIndices_
private

Definition at line 106 of file fei_Pattern.hpp.

Referenced by getNumIndices(), operator==(), and Pattern().

std::vector<int> fei::Pattern::data_
private

Definition at line 107 of file fei_Pattern.hpp.

Referenced by operator==(), and Pattern().

std::vector<snl_fei::RecordCollection*> fei::Pattern::recordCollections_
private

Definition at line 108 of file fei_Pattern.hpp.

Referenced by getRecordCollections().

const int* fei::Pattern::idTypes_
private

Definition at line 110 of file fei_Pattern.hpp.

Referenced by getIDTypes(), and Pattern().

const int* fei::Pattern::numFieldsPerID_
private

Definition at line 111 of file fei_Pattern.hpp.

Referenced by getNumFieldsPerID(), and Pattern().

const int* fei::Pattern::fieldIDs_
private

Definition at line 112 of file fei_Pattern.hpp.

Referenced by getFieldIDs(), and Pattern().

const int* fei::Pattern::numIndicesPerID_
private

Definition at line 113 of file fei_Pattern.hpp.

Referenced by getNumIndicesPerID(), and Pattern().


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