13 #ifndef FFR_VARIABLE_REFERENCE_H
14 #define FFR_VARIABLE_REFERENCE_H
47 virtual const std::string&
getType()
const;
96 virtual int readPosData(
const double* vals,
int nvals,
int arrayPos)
const;
97 virtual int readPosData(
const float* vals,
int nvals,
int arrayPos)
const;
98 virtual int readPosData(
const int* vals,
int nvals,
int arrayPos)
const;
119 static void*
operator new(
size_t size);
120 static void operator delete(
void* deadObject,
size_t size);
122 static void releaseMemBlocks();
127 static std::vector<FFrVariableReference*> memBlocks;
132 static long int count;
Base class for result file entries.
Base class for all operations.
Definition: FFaOperation.H:38
Base class for result file entries.
Definition: FFrEntryBase.H:42
Class holding the data of a Fedem results file.
Definition: FFrResultContainer.H:71
Class representing a variable reference in a result file hierarchy.
Definition: FFrVariableReference.H:30
int getNearestContainer() const
Returns the index of the nearest container for the current setting.
Definition: FFrVariableReference.C:127
virtual void removeContainers(const std::set< FFrResultContainer * > &cont)
Removes data associated with given containers for this entry.
Definition: FFrVariableReference.C:116
FFrVariable * myVariable
Points to the actual variable with data.
Definition: FFrVariableReference.H:111
unsigned int getTimeStamp() const
Returns the (most recent) time stamp of this variable.
Definition: FFrVariableReference.C:224
bool hasDataForCurrentKey(const bool usePositionedKey=false) const
Checks if this entry has any data at current extractor position.
Definition: FFrVariableReference.C:275
virtual bool isEmpty() const
Returns true if this variable has no result data.
Definition: FFrVariableReference.H:58
FFrVariableReference * next
Used in memory management.
Definition: FFrVariableReference.H:112
virtual bool less(const FFrEntryBase *obj) const
Returns true if *this is ordered before *obj.
Definition: FFrVariableReference.C:109
virtual bool isVariableFloat() const
Returns true if this variable contain float data.
Definition: FFrVariableReference.C:218
double getDistanceFromResultPoint(const bool usePositionedKey=false) const
Returns the smallest distance to current extraxtor position.
Definition: FFrVariableReference.C:249
virtual bool equal(const FFrEntryBase *obj) const
Returns true if *this and *obj are considered equal.
Definition: FFrVariableReference.C:102
size_t getNumWords() const
Returns the total number of words in the variable.
Definition: FFrVariableReference.C:67
virtual int traverse(FFrResultContainer *resultContainer, FFrEntryBase *owner, FFrEntryBase *&objToBeModified, int binPos)
Traverses to build owner hierarchy and calculate binary sizes.
Definition: FFrVariableReference.C:73
virtual int readPosData(const double *vals, int nvals, int arrayPos) const
Reads double data from the hierarhcy under this entry.
Definition: FFrVariableReference.C:161
virtual void printPosition(std::ostream &os) const
Prints out the positioning data of this variable.
Definition: FFrVariableReference.C:293
void getValidKeys(std::set< double > &validValues) const
Extracts a list of time steps for which this entry has data.
Definition: FFrVariableReference.C:282
virtual const std::string & getType() const
Returns the variable type, e.g., SCALAR, VEC3, etc.
Definition: FFrVariableReference.C:55
FFaOperationBase * getReadOperation()
Creates an operation reading the data of the variable from file.
Definition: FFrReadOpImpl.C:71
virtual const std::string & getDescription() const
Returns the variable name.
Definition: FFrVariableReference.C:49
virtual bool merge(FFrEntryBase *obj)
Merges another entry into *this.
Definition: FFrVariableReference.C:90
virtual bool comp(const FFrEntryBase *obj) const
Returns true if *this equals another specified entry.
Definition: FFrVariableReference.H:92
std::pair< FFrResultContainer *, size_t > FFrResultContainerRef
Convenience type alias.
Definition: FFrVariableReference.H:79
size_t getWordLength() const
Returns the word length (in bits) of the variable.
Definition: FFrVariableReference.C:61
virtual bool isVarRef() const
Returns true since this entry is a Variable Reference.
Definition: FFrVariableReference.H:56
bool readVariable(T &value)
Reads a variable from the results container for current time step.
Definition: FFrVariableReference.C:379
FFrVariableReference(FFrVariable *var)
The constructor initializes myVariable.
Definition: FFrVariableReference.H:41
std::vector< FFrResultContainerRef > containers
List of result file containers in which this variable exists.
Definition: FFrVariableReference.H:81
Class representing a physical variable in the result file hierarchy.
Definition: FFrVariable.H:31