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

suKinematics.h

00001 // suKinematics.h
00002 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00003 // AUTHOR: Frank C. Anderson
00004 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00005 #ifndef __suKinematics_h__
00006 #define __suKinematics_h__
00007 
00008 
00009 //=============================================================================
00010 // INCLUDES
00011 //=============================================================================
00012 #include <rdMath.h>
00013 #include <rdTools.h>
00014 #include <rdStorage.h>
00015 #include <rdModel.h>
00016 #include <rdAnalysis.h>
00017 #include "suAnalysesDLL.h"
00018 
00019 
00020 //=============================================================================
00021 //=============================================================================
00029 class SUANALYSES_API suKinematics : public rdAnalysis 
00030 {
00031 //=============================================================================
00032 // DATA
00033 //=============================================================================
00034 private:
00035 
00036 protected:
00037    double *_y;
00038    double *_dy;
00039    rdStorage *_pStore;
00040    rdStorage *_vStore;
00041    rdStorage *_aStore;
00042 
00043 //=============================================================================
00044 // METHODS
00045 //=============================================================================
00046 public:
00047    suKinematics(rdModel *aModel);
00048    virtual ~suKinematics();
00049 private:
00050    void constructDescription();
00051    void constructColumnLabels();
00052    void allocateStorage();
00053    void deleteStorage();
00054 
00055 public:
00056    //--------------------------------------------------------------------------
00057    // GET AND SET
00058    //--------------------------------------------------------------------------
00059    // STORAGE
00060    void setStorageCapacityIncrements(int aIncrement);
00061    rdStorage* getAccelerationStorage();
00062    rdStorage* getVelocityStorage();
00063    rdStorage* getPositionStorage();
00064 
00065    //--------------------------------------------------------------------------
00066    // ANALYSIS
00067    //--------------------------------------------------------------------------
00068    virtual int
00069       begin(int aStep,double aDT,double aT,double *aX,double *aY,
00070       void *aClientData=NULL);
00071    virtual int
00072       analyze(double *aXPrev,double *aYPrev,
00073       int aStep,double aDT,double aT,double *aX,double *aY,
00074       void *aClientData=NULL);
00075    virtual int
00076       end(int aStep,double aDT,double aT,double *aX,double *aY,
00077       void *aClientData=NULL);
00078 protected:
00079    virtual int
00080       record(double aT,double *aX,double *aY);
00081 
00082    //--------------------------------------------------------------------------
00083    // IO
00084    //--------------------------------------------------------------------------
00085 public:
00086    virtual int
00087       printResults(char *aBaseName,char *aDir=NULL,double aDT=-1.0,
00088       char *aExtension=".sto");
00089 
00090 //=============================================================================
00091 }; // END of class suKinematics
00092 //=============================================================================
00093 //=============================================================================
00094 
00095 
00096 #endif // #ifndef __suKinematics_h__

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