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 UserDefinedHingeIntegration_h
00026 #define UserDefinedHingeIntegration_h
00027
00028 #include <BeamIntegration.h>
00029
00030 #include <Vector.h>
00031
00032 class Channel;
00033 class FEM_ObjectBroker;
00034
00035 class UserDefinedHingeIntegration : public BeamIntegration
00036 {
00037 public:
00038 UserDefinedHingeIntegration(int npL, const Vector &ptL, const Vector &wtL,
00039 int npR, const Vector &ptR, const Vector &wtR);
00040 UserDefinedHingeIntegration();
00041 ~UserDefinedHingeIntegration();
00042
00043 void getSectionLocations(int numSections, double L, double *xi);
00044 void getSectionWeights(int numSections, double L, double *wt);
00045
00046 BeamIntegration *getCopy(void);
00047
00048 int sendSelf(int cTag, Channel &theChannel);
00049 int recvSelf(int cTag, Channel &theChannel, FEM_ObjectBroker &theBroker);
00050
00051 void Print(OPS_Stream &s, int flag = 0);
00052
00053 private:
00054 Vector ptsL;
00055 Vector wtsL;
00056 Vector ptsR;
00057 Vector wtsR;
00058 };
00059
00060 #endif