aboutsummaryrefslogtreecommitdiff
path: root/source/Irrlicht/CSceneManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/Irrlicht/CSceneManager.cpp')
-rw-r--r--source/Irrlicht/CSceneManager.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/source/Irrlicht/CSceneManager.cpp b/source/Irrlicht/CSceneManager.cpp
index cf8749d..2371a14 100644
--- a/source/Irrlicht/CSceneManager.cpp
+++ b/source/Irrlicht/CSceneManager.cpp
@@ -48,6 +48,8 @@
#include "CDefaultSceneNodeFactory.h"
+#include "CSceneCollisionManager.h"
+
#include <locale.h>
namespace irr
@@ -95,6 +97,9 @@ CSceneManager::CSceneManager(video::IVideoDriver* driver, io::IFileSystem* fs,
Parameters->setAttribute(DEBUG_NORMAL_LENGTH, 1.f);
Parameters->setAttribute(DEBUG_NORMAL_COLOR, video::SColor(255, 34, 221, 221));
+ // create collision manager
+ CollisionManager = new CSceneCollisionManager(this, Driver);
+
// add file format loaders. add the least commonly used ones first,
// as these are checked last
@@ -154,6 +159,9 @@ CSceneManager::~CSceneManager()
if (CursorControl)
CursorControl->drop();
+ if (CollisionManager)
+ CollisionManager->drop();
+
if (GUIEnvironment)
GUIEnvironment->drop();
@@ -827,6 +835,12 @@ ISceneLoader* CSceneManager::getSceneLoader(u32 index) const
return 0;
}
+//! Returns a pointer to the scene collision manager.
+ISceneCollisionManager* CSceneManager::getSceneCollisionManager()
+{
+ return CollisionManager;
+}
+
//! Returns a pointer to the mesh manipulator.
IMeshManipulator* CSceneManager::getMeshManipulator()