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 #ifndef NodeRecorder_h
00026 #define NodeRecorder_h
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 #include <Recorder.h>
00040 #include <ID.h>
00041 #include <Vector.h>
00042
00043 class Domain;
00044 class FE_Datastore;
00045 class Node;
00046
00047 class NodeRecorder: public Recorder
00048 {
00049 public:
00050 NodeRecorder();
00051 NodeRecorder(const ID &theDof,
00052 const ID &theNodes,
00053 int sensitivity,
00054 const char *dataToStore,
00055 Domain &theDomain,
00056 OPS_Stream &theOutputHandler,
00057 double deltaT = 0.0,
00058 bool echoTimeFlag = true);
00059
00060 ~NodeRecorder();
00061
00062 int record(int commitTag, double timeStamp);
00063
00064 int setDomain(Domain &theDomain);
00065 int sendSelf(int commitTag, Channel &theChannel);
00066 int recvSelf(int commitTag, Channel &theChannel,
00067 FEM_ObjectBroker &theBroker);
00068
00069 protected:
00070
00071 private:
00072 int initialize(void);
00073
00074 ID *theDofs;
00075 ID *theNodalTags;
00076 Node **theNodes;
00077 Vector response;
00078
00079 Domain *theDomain;
00080 OPS_Stream *theOutputHandler;
00081
00082 bool echoTimeFlag;
00083 int dataFlag;
00084
00085 double deltaT;
00086 double nextTimeStampToRecord;
00087
00088
00089 int sensitivity;
00090
00091
00092 bool initializationDone;
00093 int numValidNodes;
00094 };
00095
00096 #endif