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