📄 ogrecollisionentity.h
字号:
#ifndef __COLLISIONENTITY_H__
# define __COLLISIONENTITY_H__ 1
# include "Ogre.h"
# include <OPCODE-1.2/Opcode.h>
namespace Ogre
{
class CollisionEntity
{
private:
Opcode::OPCODE_Model* mCollisionModel;
unsigned int* mIndexList;
Point* mVertexList;
Entity* mEntity;
public:
CollisionEntity(Entity* const ent)
: mCollisionModel(0),
mIndexList(0),
mVertexList(0),
mEntity(ent) { }
virtual ~CollisionEntity()
{
if(mCollisionModel)
delete mCollisionModel;
if(mIndexList)
delete mIndexList;
if(mVertexList)
delete mVertexList;
}
bool initialise(void);
Opcode::OPCODE_Model* getCollisionModel(void)
{
return mCollisionModel;
}
void getWorldMatrix(IceMaths::Matrix4x4* matrix)
{
Matrix4 world;
mEntity->getSubEntity(0)->getWorldTransforms(&world);
if(mEntity->getSubEntity(0)->getNumWorldTransforms() > 1)
std::cerr << "Num world transforms " << mEntity->getSubEntity(0)->getNumWorldTransforms() << std::endl;;
for(unsigned int i = 0; i < 4; i++)
{
matrix->m[0][i] = world[i][0];
matrix->m[1][i] = world[i][1];
matrix->m[2][i] = world[i][2];
matrix->m[3][i] = world[i][3];
}
}
unsigned int* getIndexList()
{
return mIndexList;
}
Point* getVertexList()
{
return mVertexList;
}
};
};
#endif // __COLLISIONENTITY_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -