Code: Select all
Index: include/ISceneManager.h
===================================================================
--- include/ISceneManager.h (revision 2561)
+++ include/ISceneManager.h (working copy)
@@ -121,6 +121,7 @@
class ISceneNodeAnimatorFactory;
class ISceneUserDataSerializer;
class ILightManager;
+ class ISkinnedMesh;
namespace quake3
{
@@ -1465,6 +1466,9 @@
\return True if node is not visible in the current scene, else
false. */
virtual bool isCulled(const ISceneNode* node) const =0;
+
+ //! creates a new, empty CSkinnedMesh for external loaders
+ virtual ISkinnedMesh * createEmptySkinnedMesh() const =0;
};
Index: source/Irrlicht/CSceneManager.cpp
===================================================================
--- source/Irrlicht/CSceneManager.cpp (revision 2561)
+++ source/Irrlicht/CSceneManager.cpp (working copy)
@@ -154,6 +154,8 @@
#include "CVolumeLightSceneNode.h"
#include "CGeometryCreator.h"
+#include "CSkinnedMesh.h"
+
//! Enable debug features
#define SCENEMANAGER_DEBUG
@@ -1186,7 +1188,13 @@
return false;
}
+//! creates a new, empty CSkinnedMesh for external loaders
+ISkinnedMesh * CSceneManager::createEmptySkinnedMesh() const
+{
+ return new CSkinnedMesh() ;
+}
+
//! registers a node for rendering it at a specific time.
u32 CSceneManager::registerNodeForRendering(ISceneNode* node, E_SCENE_NODE_RENDER_PASS time)
{
Index: source/Irrlicht/CSceneManager.h
===================================================================
--- source/Irrlicht/CSceneManager.h (revision 2561)
+++ source/Irrlicht/CSceneManager.h (working copy)
@@ -488,6 +488,9 @@
//! returns if node is culled
virtual bool isCulled(const ISceneNode* node) const;
+ //! creates a new, empty CSkinnedMesh for external loaders
+ virtual ISkinnedMesh * createEmptySkinnedMesh() const;
+
private:
//! clears the deletion list