00001 // rdDerivCallback.h 00002 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00003 // Copyright 2002, 2003 Realistic Dynamics, Inc. 00004 // All rights reserved. 00005 // 00006 // Please do not read, copy, distribute, or use without permission. 00007 // Contact: Frank C. Anderson, fca@RealisticDynamics.com 00008 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00009 #ifndef __rdDerivCallback_h__ 00010 #define __rdDerivCallback_h__ 00011 //============================================================================ 00012 #include <rdObject.h> 00013 #include "rdModel.h" 00014 #include "rdCallback.h" 00015 00016 00017 //============================================================================= 00018 //============================================================================= 00051 class RDSIMULATION_API rdDerivCallback : public rdCallback 00052 { 00053 00054 //============================================================================= 00055 // DATA 00056 //============================================================================= 00057 protected: 00058 00059 //============================================================================= 00060 // METHODS 00061 //============================================================================= 00062 //-------------------------------------------------------------------------- 00063 // CONSTRUCTION 00064 //-------------------------------------------------------------------------- 00065 public: 00066 rdDerivCallback(rdModel *aModel); 00067 virtual ~rdDerivCallback(); 00068 private: 00069 void setNull(); 00070 00071 //-------------------------------------------------------------------------- 00072 // GET AND SET 00073 //-------------------------------------------------------------------------- 00074 public: 00075 00076 //-------------------------------------------------------------------------- 00077 // CALLBACKS 00078 //-------------------------------------------------------------------------- 00079 virtual void 00080 set(double aT,double *aX,double *aY); 00081 virtual void 00082 computeContact(double aT,double *aX,double *aY); 00083 virtual void 00084 applyContact(double aT,double *aX,double *aY); 00085 virtual void 00086 computeActuation(double aT,double *aX,double *aY); 00087 virtual void 00088 applyActuation(double aT,double *aX,double *aY); 00089 virtual void 00090 computeDerivatives(double aT,double *aX,double *aY,double *aDY); 00091 00092 //============================================================================= 00093 }; // END of class rdDerivCallback 00094 //============================================================================= 00095 //============================================================================= 00096 00097 #endif // __rdDerivCallback_h__ 00098 00099
1.3