Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

ArticulatedAgentQuasistatic.h

Go to the documentation of this file.
00001 // ArticulatedAgentQuasistatic.h: interface for the ArticulatedAgentQuasistatic class.
00002 //
00004 
00005 #ifndef ARTICULATEDAGENTQUASISTATIC_H
00006 #define ARTICULATEDAGENTQUASISTATIC_H
00007 
00008 #include "ArticulatedAgentBase.h"
00009 
00010 
00014 class ArticulatedAgentQuasistatic : public ArticulatedAgentBase  {
00015 
00016 public:
00017 
00019    ArticulatedAgentQuasistatic(std::string label="");
00021    virtual ~ArticulatedAgentQuasistatic();
00022 
00023 protected:
00026    void forwardKinematics();
00028    void backwardDynamics();
00030    void forwardAccelerations(ContactSolver* contactSolver);
00031    
00033    virtual void computeDerivativesWithoutContacts(ContactSolver* contactSolver){
00034       backwardDynamics();
00035       forwardAccelerations(contactSolver);
00036    }
00037 
00040    virtual void computeBodyDerivativesWithoutContacts(real determinant);
00041 
00042    virtual void computeDerivatives(GlobalContactInfoVector* globalContacts);
00043 
00046    virtual void computeBodyDerivatives(GlobalContactInfoVector* globalContacts);
00047 
00048    void computeForces(GlobalContactInfoVector* globalContacts);
00049 
00051    void computeTotalForces(GlobalContactInfoVector* globalContacts);
00052 
00053 
00054 
00056    virtual void integrate(const Integrator &integrator);
00057 
00058    virtual void rollback();
00059 };
00060 
00061 #endif //ARTICULATEDAGENTCLASSICAL_H

Thyrix homepageUsers' guide

(C) Arxia 2004-2005