Ignore:
Timestamp:
Aug 12, 2012, 5:23:25 PM (9 years ago)
Author:
touky
Message:

LocalInertia error FIX.
Character integration better but still not working.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/test/Physics/EasyPhysics.h

    r1702 r1722  
    2323#include <bullet/btBulletCollisionCommon.h>
    2424#include <bullet/BulletCollision/CollisionDispatch/btGhostObject.h>
     25#include <BulletDynamics/Character/btKinematicCharacterController.h>
    2526#endif
    2627
     
    6162        virtual void SetShapeTo(btCollisionShape* collision_shape);
    6263
     64        virtual btGhostObject* GetGhostObject();
     65
    6366        btCollisionObject*                                                      m_collision_object;
    6467
     
    6972
    7073        btCollisionShape*                                                       m_collision_shape;
     74        btConvexShape*                                                          m_convex_shape;
    7175        btMotionState*                                                          m_motion_state;
    7276
     
    9195        virtual mat4 GetTransform() { return mat4(1.0f); }
    9296
     97        virtual void InitBodyToGhost() { }
     98
    9399#endif // PHYSIC IMPLEMENTATION
    94100
     
    122128
    123129public:
    124         EasyCharacterController();
    125         ~EasyCharacterController();
    126 
    127         virtual void SetTransform(const lol::vec3& base_location, const lol::quat& base_rotation=lol::quat(lol::mat4(1.0f)));
    128         virtual void SetMass(float mass);
     130        EasyCharacterController() :
     131                EasyPhysic(),
     132                m_character(NULL)
     133        {
     134                m_up_axis = 1;
     135        }
     136        ~EasyCharacterController()
     137        {
     138                delete m_character;
     139        }
     140
    129141        virtual void InitBodyToRigid(bool ZeroMassIsKinematic=false);
    130142        virtual void InitBodyToGhost();
    131143        virtual void AddToSimulation(class Simulation* current_simulation);
    132144        virtual void RemoveFromSimulation(class Simulation* current_simulation);
    133         virtual mat4 GetTransform();
    134145
    135146protected:
    136147
     148        virtual btGhostObject* GetGhostObject();
     149
    137150        btPairCachingGhostObject*               m_pair_caching_object;
     151        btKinematicCharacterController* m_character;
     152
     153        float                                                   m_step_height;
     154        int                                                             m_up_axis;
    138155
    139156#else  // NO PHYSIC IMPLEMENTATION
Note: See TracChangeset for help on using the changeset viewer.