00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef ElementRecorder_h
00027 #define ElementRecorder_h
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040 #include <Recorder.h>
00041 #include <Information.h>
00042 #include <ID.h>
00043
00044 class Domain;
00045 class Vector;
00046 class Matrix;
00047 class Element;
00048 class Response;
00049 class FE_Datastore;
00050
00051 class ElementRecorder: public Recorder
00052 {
00053 public:
00054 ElementRecorder();
00055 ElementRecorder(const ID &eleID,
00056 const char **argv,
00057 int argc,
00058 bool echoTime,
00059 Domain &theDomain,
00060 OPS_Stream &theOutputHandler,
00061 double deltaT = 0.0);
00062
00063 ~ElementRecorder();
00064
00065 int record(int commitTag, double timeStamp);
00066 int restart(void);
00067
00068 int setDomain(Domain &theDomain);
00069 int sendSelf(int commitTag, Channel &theChannel);
00070 int recvSelf(int commitTag, Channel &theChannel,
00071 FEM_ObjectBroker &theBroker);
00072
00073 protected:
00074
00075
00076 private:
00077 int initialize(void);
00078
00079 int numEle;
00080 ID eleID;
00081
00082 Response **theResponses;
00083
00084 Domain *theDomain;
00085 OPS_Stream *theOutputHandler;
00086
00087 bool echoTimeFlag;
00088
00089 double deltaT;
00090 double nextTimeStampToRecord;
00091
00092 Vector *data;
00093 bool initializationDone;
00094 char **responseArgs;
00095 int numArgs;
00096 };
00097
00098
00099 #endif