Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   Related Pages  

suSIMM.h

00001 // suSIMM.h
00002 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00003 // AUTHORS:  Frank C. Anderson, Darryl G. Thelen
00004 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00005 #ifndef __suSIMM_h__
00006 #define __suSIMM_h__
00007 
00008 
00009 //============================================================================
00010 // INCLUDE
00011 //============================================================================
00012 #include "rdSDFastDLL.h"
00013 #include <rdModel.h>
00014 #include <rdSDFast.h>
00015 
00016 
00017 //=============================================================================
00018 //=============================================================================
00031 class RDSDFAST_API suSIMM : public rdSDFast
00032 {
00033 
00034 //=============================================================================
00035 // DATA
00036 //=============================================================================
00037 protected:
00038 
00039 //=============================================================================
00040 // METHODS
00041 //=============================================================================
00042    //--------------------------------------------------------------------------
00043    // CONSTRUCTION
00044    //--------------------------------------------------------------------------
00045 public:
00046    suSIMM(const char *aFileName);
00047    virtual ~suSIMM();
00048    void constructNames();
00049 
00050    //--------------------------------------------------------------------------
00051    // CONTACT
00052    //--------------------------------------------------------------------------
00053    virtual void computeContact();
00054    virtual void applyContactForces();
00055 
00056    //--------------------------------------------------------------------------
00057    // ACTUATION
00058    //--------------------------------------------------------------------------
00059    virtual void computeActuation();
00060    virtual void applyActuatorForce(int aID);
00061    virtual void applyActuatorForces();
00062 
00063    //--------------------------------------------------------------------------
00064    // DERIVATIVES
00065    //--------------------------------------------------------------------------
00066    virtual int
00067       deriv(double t,double *xt,double *y,double *dy) = 0;
00068    virtual int
00069       deriv(double t,double *xt,double *y,double *dqdt,double *dudt) = 0;
00070 
00071    //--------------------------------------------------------------------------
00072    // CALLBACKS
00073    //--------------------------------------------------------------------------
00074    virtual void
00075       integBeginCallback(int aStep,double aDT,double aT,double *aX,double *aY,
00076        void *aClientData=NULL);
00077    virtual void
00078       integStepCallback(double *aXPrev,double *aYPrev,int aStep,double aDT,
00079        double aT,double *aX,double *aY,
00080        void *aClientData=NULL);
00081    virtual void
00082       integEndCallback(int aStep,double aDT,double aT,double *aX,double *aY,
00083        void *aClientData=NULL);
00084 
00085 //=============================================================================
00086 }; // END of class suSIMM
00087 //=============================================================================
00088 //=============================================================================
00089 
00090 #endif // __suSIMM_h__
00091 
00092 

Generated on Wed Aug 20 02:17:07 2003 for Simulation Software by doxygen1.3