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

rdGeneralizedForce.h

00001 // rdGeneralizedForce.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 __rdGeneralizedForce_h__
00010 #define __rdGeneralizedForce_h__
00011 //============================================================================
00012 #include "rdModel.h"
00013 #include "rdActuator.h"
00014 
00015 
00016 //=============================================================================
00017 //=============================================================================
00026 class RDSIMULATION_API rdGeneralizedForce : public rdActuator
00027 {
00028 
00029 //=============================================================================
00030 // DATA
00031 //=============================================================================
00032 public:
00033    static const char PROP_QID[];
00034 
00035 protected:
00037    int _qID;
00039    double *_utmp;
00040 
00041 //=============================================================================
00042 // METHODS
00043 //=============================================================================
00044    //--------------------------------------------------------------------------
00045    // CONSTRUCTION
00046    //--------------------------------------------------------------------------
00047 public:
00048    rdGeneralizedForce(int aQID=-1,int aNX=1,int aNY=0,int aNYP=0);
00049    rdGeneralizedForce(IDOM_Element *aElement,int aNX=1,int aNY=0,int aNYP=0);
00050    rdGeneralizedForce(const rdGeneralizedForce &aGenForce);
00051    virtual ~rdGeneralizedForce();
00052    virtual rdActuator* copy() const;
00053    virtual rdActuator* copy(IDOM_Element *aElement) const;
00054 private:
00055    void setNull();
00056 
00057    //--------------------------------------------------------------------------
00058    // OPERATORS
00059    //--------------------------------------------------------------------------
00060 public:
00061    rdGeneralizedForce& operator=(const rdGeneralizedForce &aGenForce);
00062 
00063    //--------------------------------------------------------------------------
00064    // GET AND SET
00065    //--------------------------------------------------------------------------
00066    // CONTROLS
00067    virtual void setControls(const double aX[]);
00068    virtual void getControls(double rX[]) const;
00069    // GENERALIZED COORDINATE
00070    void setQID(int aQID);
00071    int getQID() const;
00072 
00073    //--------------------------------------------------------------------------
00074    // APPLICATION
00075    //--------------------------------------------------------------------------
00076    virtual void apply();
00077 
00078    //--------------------------------------------------------------------------
00079    // COMPUTATIONS
00080    //--------------------------------------------------------------------------
00081    virtual void computeActuation();
00082 
00083    //--------------------------------------------------------------------------
00084    // CHECK
00085    //--------------------------------------------------------------------------
00086    virtual bool check() const;
00087    virtual bool isQIDValid() const;
00088 
00089    //--------------------------------------------------------------------------
00090    // XML
00091    //--------------------------------------------------------------------------
00092    virtual void updateObject(bool aDeep=true);
00093    virtual void updateNode(bool aDeep=true);
00094    virtual void generateNode(IDOM_Element *aParent);
00095    void updateData();   
00096 
00097 //=============================================================================
00098 }; // END of class rdGeneralizedForce
00099 //=============================================================================
00100 //=============================================================================
00101 
00102 #endif // __rdGeneralizedForce_h__
00103 
00104 

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