| 1 | /*! \file DoubleElementResult.h
|
|---|
| 2 | * \brief: header file for IssmDouble result object
|
|---|
| 3 | * A IssmDouble result object is just derived from a DoubleInput object, with additional time and step information.
|
|---|
| 4 | */
|
|---|
| 5 |
|
|---|
| 6 |
|
|---|
| 7 | #ifndef _DOUBLEELEMENTRESULT_H_
|
|---|
| 8 | #define _DOUBLEELEMENTRESULT_H_
|
|---|
| 9 |
|
|---|
| 10 | /*Headers:*/
|
|---|
| 11 | /*{{{*/
|
|---|
| 12 | #include "../Inputs/Input.h"
|
|---|
| 13 | #include "../../../include/include.h"
|
|---|
| 14 | class Parameters;
|
|---|
| 15 | /*}}}*/
|
|---|
| 16 |
|
|---|
| 17 | class DoubleElementResult: public ElementResult{
|
|---|
| 18 |
|
|---|
| 19 | private:
|
|---|
| 20 | int enum_type;
|
|---|
| 21 | IssmDouble value;
|
|---|
| 22 | int step;
|
|---|
| 23 | IssmDouble time;
|
|---|
| 24 |
|
|---|
| 25 | public:
|
|---|
| 26 |
|
|---|
| 27 | /*DoubleElementResult constructors, destructors: {{{*/
|
|---|
| 28 | DoubleElementResult();
|
|---|
| 29 | DoubleElementResult(int enum_type,IssmDouble value,int step,IssmDouble time);
|
|---|
| 30 | ~DoubleElementResult();
|
|---|
| 31 | /*}}}*/
|
|---|
| 32 | /*Object virtual functions definitions:{{{ */
|
|---|
| 33 | void Echo();
|
|---|
| 34 | void DeepEcho();
|
|---|
| 35 | int Id();
|
|---|
| 36 | int ObjectEnum();
|
|---|
| 37 | Object* copy();
|
|---|
| 38 | /*}}}*/
|
|---|
| 39 | /*ElementResult virtual functions definitions: {{{*/
|
|---|
| 40 | ElementResult* SpawnTriaElementResult(int* indices);
|
|---|
| 41 | IssmDouble GetTime(void){return time;};
|
|---|
| 42 | int GetStep(void){return step;};
|
|---|
| 43 | void ProcessUnits(Parameters* parameters);
|
|---|
| 44 | int NumberOfNodalValues(void);
|
|---|
| 45 | void PatchFill(int row, Patch* patch);
|
|---|
| 46 | /*}}}*/
|
|---|
| 47 | /*DoubleElementResult management: {{{*/
|
|---|
| 48 | int InstanceEnum();
|
|---|
| 49 | void GetVectorFromResults(Vector<IssmDouble>* vector,int* doflist,int* connectivitylist,int numdofs);
|
|---|
| 50 | void GetElementVectorFromResults(Vector<IssmDouble>* vector,int dof);
|
|---|
| 51 | /*}}}*/
|
|---|
| 52 | };
|
|---|
| 53 | #endif /* _DOUBLEELEMENTRESULT_H */
|
|---|