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 ImposedMotionSP_h
00026 #define ImposedMotionSP_h
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040 #include <SP_Constraint.h>
00041 #include <Vector.h>
00042 #include <GroundMotion.h>
00043 #include <Node.h>
00044
00046 class ImposedMotionSP : public SP_Constraint
00047 {
00048 public:
00050 ImposedMotionSP();
00052 ImposedMotionSP(int spTag, int nodeTag, int ndof,
00053 GroundMotion &theGroundMotion, bool destroyMotion);
00054
00056 ~ImposedMotionSP();
00057
00059 int applyConstraint(double loadFactor);
00061 double getValue(void);
00063 bool isHomogeneous(void) const;
00064
00066 int sendSelf(int commitTag, Channel &theChannel);
00068 int recvSelf(int commitTag, Channel &theChannel,
00069 FEM_ObjectBroker &theBroker);
00070
00072 void Print(ostream &s, int flag =0);
00073
00074 protected:
00075
00076 private:
00078 GroundMotion *theGroundMotion;
00079 Node *theNode;
00080 Vector *theNodeResponse;
00081 Vector theGroundMotionResponse;
00082 int destroyMotion;
00083
00084 };
00085
00086 #endif
00087
00088
00089 ÿ