00001
00008 #include "SO3ShapeTree.h"
00009 #include "../SO3SceneGraph/SO3NodeScol.h"
00010 #include "../SO3SceneGraph/SO3Entity.h"
00011 #include "../SO3SceneGraph/SO3Scene.h"
00012
00013 namespace SO3
00014 {
00015
00016 SShapeTree::SShapeTree() : SShape("", SShape::SO3_NULL_COLLISION)
00017 {
00018
00019 }
00020
00021 SShapeTree::SShapeTree(std::string shapeName, SEntity* entity, bool optimize) : SShape(shapeName, SShape::SO3_TREE_COLLISION)
00022 {
00023 mCollisionPtr = OgreNewt::CollisionPtr(new OgreNewt::CollisionPrimitives::TreeCollision(entity->GetParentScene()->GetPhysicsWorld()->GetPhysicWorld(), entity->getOgreEntityPointer(), optimize, OgreNewt::CollisionPrimitives::FW_DEFAULT));
00024 mOptimize = optimize;
00025 }
00026
00027 SShapeTree::~SShapeTree()
00028 {
00029 }
00030
00031 bool SShapeTree::GetOptimize()
00032 {
00033 return mOptimize;
00034 }
00035
00036 Ogre::Vector3 SShapeTree::CalculateInertialMatrix()
00037 {
00038 return Ogre::Vector3 (0, 0, 0);
00039 }
00040
00041 Ogre::Vector3 SShapeTree::CalculateOffset()
00042 {
00043 return Ogre::Vector3 (0, 0, 0);
00044 }
00045
00046 }