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

Elastoid.h

Go to the documentation of this file.
00001 // Elastoid.h: interface for the Elastoid class.
00002 //
00004 
00005 #if !defined(AFX_ELASTOID_H__DCB64B95_CC6D_4280_9E1F_242450B50FAF__INCLUDED_)
00006 #define AFX_ELASTOID_H__DCB64B95_CC6D_4280_9E1F_242450B50FAF__INCLUDED_
00007 
00008 #include "ElasticLink.h"
00009 
00010 class Elastoid : public PhysicalObject  {
00011 public:
00012    Elastoid();
00013    virtual ~Elastoid();
00014 
00015    PhysicalObjectPVector objects;
00016    ElasticLinkVector links;
00017 
00018    void addObject(PhysicalObject* object){
00019       objects.push_back(object);
00020    }
00021 
00022    virtual void registerPrimitives(Simulator* simulator);
00023 
00024 
00025    virtual void computeDerivativesWithoutContacts(ContactSolver* contactSolver);
00026    virtual void computeDerivatives(GlobalContactInfoVector* globalContacts);
00027    virtual void integrate(const Integrator &integrator);
00028 
00029    virtual bool detectContacts(PhysicalObject* object, GlobalContactInfoVector* contacts);
00030    virtual void detectInternalContacts(GlobalContactInfoVector* globalContacts);
00031    virtual void deleteContacts();
00032    virtual bool detectMouseContact(const Vector2& rMouse, Vector2& p, PhysicalObject*& object);
00033 
00034    virtual void draw(GUI* gui);
00035 
00036 
00037 };
00038 
00039 #endif // !defined(AFX_ELASTOID_H__DCB64B95_CC6D_4280_9E1F_242450B50FAF__INCLUDED_)

Thyrix homepageUsers' guide

(C) Arxia 2004-2005