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

rdPolynomialSetPoint.h

00001 // rdPolynomialSetPoint.h
00002 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00003 // Copyright 2002 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 __rdPolynomialSetPoint_h__
00010 #define __rdPolynomialSetPoint_h__
00011 
00012 #include <rdModel.h>
00013 #include <rdSetPoint.h>
00014 #include "rdActuators.h"
00015 
00016 
00017 //=============================================================================
00018 //=============================================================================
00026 class RDACTUATORS_API rdPolynomialSetPoint : public rdSetPoint
00027 {
00028 
00029 //=============================================================================
00030 // DATA
00031 //=============================================================================
00032 public:
00033    static const char PROP_NORMAL_STIFFNESS[];
00034    static const char PROP_NORMAL_VISCOSITY[];
00035    static const char PROP_STIFFNESS_POWER[];
00036    static const char PROP_VISCOSITY_POWER[];
00037 
00038 protected:
00042    double _kNP;
00046    double _kNV;
00049    double _powNP;
00052    double _powNV;
00053 
00054 //=============================================================================
00055 // METHODS
00056 //=============================================================================
00057    //--------------------------------------------------------------------------
00058    // CONSTRUCTION
00059    //--------------------------------------------------------------------------
00060 public:
00061    rdPolynomialSetPoint(int aBodyA=0,int aBodyB=0);
00062    rdPolynomialSetPoint(IDOM_Element *aElement);
00063    rdPolynomialSetPoint(const rdPolynomialSetPoint &aContact);
00064    virtual ~rdPolynomialSetPoint();
00065    virtual rdActuator* copy() const;
00066    virtual rdActuator* copy(IDOM_Element *aElement) const;
00067 private:
00068    void setNull();
00069 
00070    //--------------------------------------------------------------------------
00071    // OPERATORS
00072    //--------------------------------------------------------------------------
00073 public:
00074    rdPolynomialSetPoint& operator=(const rdPolynomialSetPoint &aActuator);
00075 
00076    //--------------------------------------------------------------------------
00077    // GET AND SET
00078    //--------------------------------------------------------------------------
00079    // NORMAL STIFFNESS
00080    void setNormalStiffnessConstant(double aKNP);
00081    double getNormalStiffnessConstant() const;
00082    // NORMAL VISCOSITY
00083    void setNormalViscosityConstant(double aKNV);
00084    double getNormalViscosityConstant() const;
00085    // STIFFNESS POWER
00086    void setStiffnessPower(double aPower);
00087    double getStiffnessPower() const;
00088    // VISCOSITY POWER
00089    void setViscosityPower(double aPower);
00090    double getViscosityPower() const;
00091 
00092    //--------------------------------------------------------------------------
00093    // COMPUTATIONS
00094    //--------------------------------------------------------------------------
00095    virtual void computeActuation();
00096 
00097    //--------------------------------------------------------------------------
00098    // APPLICATION
00099    //--------------------------------------------------------------------------
00100 
00101 
00102    //--------------------------------------------------------------------------
00103    // CHECK
00104    //--------------------------------------------------------------------------
00105    virtual bool check() const;
00106 
00107    //--------------------------------------------------------------------------
00108    // XML
00109    //--------------------------------------------------------------------------
00110    virtual void updateObject(bool aDeep=true);
00111    virtual void updateNode(bool aDeep=true);
00112    virtual void generateNode(IDOM_Element *aParent);
00113    void updateData();   
00114 
00115 //=============================================================================
00116 }; // END of class rdPolynomialSetPoint
00117 //=============================================================================
00118 //=============================================================================
00119 
00120 #endif // __rdPolynomialSetPoint_h__
00121 
00122 

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