00001 // suTrackJoint.h 00002 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00003 // Copyright 2002-2003 00004 // Authors: Frank C. Anderson, Darryl G. Thelen 00005 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00006 #ifndef __suTrackJoint_h__ 00007 #define __suTrackJoint_h__ 00008 00009 00010 //============================================================================ 00011 // INCLUDE 00012 //============================================================================ 00013 #include "suTrackControllerDLL.h" 00014 #include <rdModel.h> 00015 #include "suTrackObject.h" 00016 00017 00018 //============================================================================= 00019 //============================================================================= 00026 class SUTRACKCONTROLLER_API suTrackJoint : public suTrackObject 00027 { 00028 00029 //============================================================================= 00030 // DATA 00031 //============================================================================= 00032 private: 00033 static const char PROP_QID[]; 00034 protected: 00036 int _qid; 00037 00038 //============================================================================= 00039 // METHODS 00040 //============================================================================= 00041 //-------------------------------------------------------------------------- 00042 // CONSTRUCTION 00043 //-------------------------------------------------------------------------- 00044 public: 00045 suTrackJoint(int aQID=-1); 00046 suTrackJoint(IDOM_Element *aElement); 00047 suTrackJoint(const suTrackJoint &aTrackJoint); 00048 virtual ~suTrackJoint(); 00049 virtual suTrackObject* copy() const; 00050 virtual suTrackObject* copy(IDOM_Element *aElement) const; 00051 private: 00052 void setNull(); 00053 void copyData(const suTrackJoint &aTrackJoint); 00054 00055 //-------------------------------------------------------------------------- 00056 // OPERATORS 00057 //-------------------------------------------------------------------------- 00058 public: 00059 suTrackJoint& operator=(const suTrackJoint &aTrackJoint); 00060 00061 //-------------------------------------------------------------------------- 00062 // GET AND SET 00063 //-------------------------------------------------------------------------- 00064 void setQID(int aQID); 00065 int getQID() const; 00066 00067 //-------------------------------------------------------------------------- 00068 // COMPUTATIONS 00069 //-------------------------------------------------------------------------- 00070 virtual void computeErrors(double aT); 00071 virtual void computeDesiredAccelerations(double aT); 00072 virtual void computeAccelerations(); 00073 00074 //-------------------------------------------------------------------------- 00075 // XML 00076 //-------------------------------------------------------------------------- 00077 virtual void updateObject(bool aDeep=true); 00078 virtual void updateNode(bool aDeep=true); 00079 virtual void generateNode(IDOM_Element *aParent); 00080 void updateData(); 00081 00082 //============================================================================= 00083 }; // END of class suTrackJoint 00084 //============================================================================= 00085 //============================================================================= 00086 00087 #endif // __suTrackJoint_h__ 00088 00089
1.3