mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-10-31 17:26:38 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			52 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef OENGINE_CMOTIONSTATE_H
 | |
| #define OENGINE_CMOTIONSTATE_H
 | |
| 
 | |
| #include <BulletDynamics/Dynamics/btRigidBody.h>
 | |
| #include <string>
 | |
| 
 | |
| namespace OEngine {
 | |
| namespace Physic
 | |
| {
 | |
|     class PhysicEngine;
 | |
| 
 | |
|     /**
 | |
|      * A CMotionState is associated with a single RigidBody.
 | |
|      * When the RigidBody is moved by bullet, bullet will call the function setWorldTransform.
 | |
|      * for more info, see the bullet Wiki at btMotionState.
 | |
|      */
 | |
|     class CMotionState:public btMotionState
 | |
|     {
 | |
|     public:
 | |
| 
 | |
|         CMotionState(PhysicEngine* eng,std::string name);
 | |
| 
 | |
|         /**
 | |
|          * Return the position of the RigidBody.
 | |
|          */
 | |
|         virtual void getWorldTransform(btTransform &worldTrans) const;
 | |
| 
 | |
|         /**
 | |
|          * Function called by bullet when the RigidBody is moved.
 | |
|          * It add an event to the EventList of the PhysicEngine class.
 | |
|          */
 | |
|         virtual void setWorldTransform(const btTransform &worldTrans);
 | |
| 
 | |
|     protected:
 | |
|         PhysicEngine* pEng;
 | |
|         btTransform tr;
 | |
|         bool isNPC;
 | |
|         bool isPC;
 | |
| 
 | |
|         std::string pName;
 | |
|     };
 | |
| 
 | |
|     struct PhysicEvent
 | |
|     {
 | |
|         bool isNPC;
 | |
|         bool isPC;
 | |
|         btTransform newTransform;
 | |
|         std::string RigidBodyName;
 | |
|     };
 | |
| 
 | |
| }}
 | |
| #endif
 |