mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-11-04 11:56:39 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			938 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			938 B
		
	
	
	
		
			C++
		
	
	
	
	
	
#include "CMotionState.h"
 | 
						|
#include "physic.hpp"
 | 
						|
 | 
						|
#include <btBulletDynamicsCommon.h>
 | 
						|
#include <btBulletCollisionCommon.h>
 | 
						|
#include <components/nifbullet/bullet_nif_loader.hpp>
 | 
						|
//#include <apps\openmw\mwworld\world.hpp>
 | 
						|
 | 
						|
namespace OEngine {
 | 
						|
namespace Physic
 | 
						|
{
 | 
						|
 | 
						|
    CMotionState::CMotionState(PhysicEngine* eng,std::string name)
 | 
						|
    {
 | 
						|
        pEng = eng;
 | 
						|
        tr.setIdentity();
 | 
						|
        pName = name;
 | 
						|
    };
 | 
						|
 | 
						|
    void CMotionState::getWorldTransform(btTransform &worldTrans) const
 | 
						|
    {
 | 
						|
        worldTrans = tr;
 | 
						|
    }
 | 
						|
 | 
						|
    void CMotionState::setWorldTransform(const btTransform &worldTrans)
 | 
						|
    {
 | 
						|
        tr = worldTrans;
 | 
						|
 | 
						|
        PhysicEvent evt;
 | 
						|
        evt.isNPC = isNPC;
 | 
						|
        evt.isPC = isPC;
 | 
						|
        evt.newTransform = tr;
 | 
						|
        evt.RigidBodyName = pName;
 | 
						|
 | 
						|
        if(isPC)
 | 
						|
        {
 | 
						|
            pEng->PEventList.push_back(evt);
 | 
						|
        }
 | 
						|
        else
 | 
						|
        {
 | 
						|
            pEng->NPEventList.push_back(evt);
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
}}
 |