FEDEM Solver  R8.0
Source code of the dynamics solver
FFrFieldEntryBase.H
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: 2023 SAP SE
2 //
3 // SPDX-License-Identifier: Apache-2.0
4 //
5 // This file is part of FEDEM - https://openfedem.org
7 
8 #ifndef FFR_FIELD_ENTRY_BASE_H
9 #define FFR_FIELD_ENTRY_BASE_H
10 
11 #include "FFrLib/FFrEntryBase.H"
12 
13 class FFrCreatorData;
14 
15 
17 {
18 public:
20  virtual ~FFrFieldEntryBase();
21 
23 
24  bool resolve(const std::string& references, FFrCreatorData& cd, bool inlined = true);
25 
26  virtual const std::vector<FFrEntryBase*>* getDataFields() const { return &dataFields; }
27  virtual bool hasDataFields() const { return !dataFields.empty(); }
28 
29  virtual bool isEmpty() const;
30  virtual bool isVariableFloat() const;
31 
32  virtual void removeContainers(const std::set<FFrResultContainer*>& cont);
33 
34  virtual bool merge(FFrEntryBase* objToMergeFrom);
35  virtual bool equal(const FFrEntryBase* obj) const;
36  virtual bool less(const FFrEntryBase* obj) const;
37 
39  virtual void printPosition(std::ostream& os) const;
40 
41  std::vector<FFrEntryBase*> dataFields;
42 
43 protected:
44  virtual int recursiveReadPosData(const double* vals, int nvals, int arrayPos) const;
45  virtual int recursiveReadPosData(const float* vals, int nvals, int arrayPos) const;
46  virtual int recursiveReadPosData(const int* vals, int nvals, int arrayPos) const;
47 };
48 
49 #endif
Definition: FFrEntryBase.H:28
Definition: FFrFieldEntryBase.H:17
void sortDataFieldsByUserID()
Definition: FFrFieldEntryBase.C:154
bool resolve(const std::string &references, FFrCreatorData &cd, bool inlined=true)
Definition: FFrFieldEntryBase.C:50
virtual bool equal(const FFrEntryBase *obj) const
Definition: FFrFieldEntryBase.C:228
virtual void printPosition(std::ostream &os) const
Prints out the positioning data of this field.
Definition: FFrFieldEntryBase.C:287
virtual bool merge(FFrEntryBase *objToMergeFrom)
Definition: FFrFieldEntryBase.C:167
FFrFieldEntryBase()
Definition: FFrFieldEntryBase.H:19
virtual ~FFrFieldEntryBase()
Definition: FFrFieldEntryBase.C:17
std::vector< FFrEntryBase * > dataFields
Definition: FFrFieldEntryBase.H:41
virtual bool isEmpty() const
Returns true if this entry and all below it are empty.
Definition: FFrFieldEntryBase.C:25
virtual int recursiveReadPosData(const double *vals, int nvals, int arrayPos) const
Definition: FFrFieldEntryBase.C:259
virtual bool isVariableFloat() const
Returns true if the first variable referred is a float.
Definition: FFrFieldEntryBase.C:35
virtual void removeContainers(const std::set< FFrResultContainer * > &cont)
Definition: FFrFieldEntryBase.C:135
virtual const std::vector< FFrEntryBase * > * getDataFields() const
Returns a pointer to the data fields if they are set, returns 0 if not.
Definition: FFrFieldEntryBase.H:26
virtual bool hasDataFields() const
Definition: FFrFieldEntryBase.H:27
virtual bool less(const FFrEntryBase *obj) const
Definition: FFrFieldEntryBase.C:244
Incapsulation of temporary data used during results file parsing.
Definition: FFrResultContainer.H:36