projects
/
laserbrain_demo
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
started the renderer abstraction and the cubemap renderer
[laserbrain_demo]
/
src
/
scene.cc
diff --git
a/src/scene.cc
b/src/scene.cc
index
a31a3ce
..
35b562d
100644
(file)
--- a/
src/scene.cc
+++ b/
src/scene.cc
@@
-11,6
+11,9
@@
Scene::Scene()
nodes = 0;
walk_mesh = 0;
nodes = 0;
walk_mesh = 0;
+
+ texset = 0;
+ loader_data = 0;
}
Scene::~Scene()
}
Scene::~Scene()
@@
-20,6
+23,17
@@
Scene::~Scene()
void Scene::destroy()
{
void Scene::destroy()
{
+ clear();
+
+ metascn = 0;
+ texset = 0;
+ loader_data = 0;
+
+ datamap.clear();
+}
+
+void Scene::clear()
+{
destroy_node_tree(nodes);
nodes = 0;
destroy_node_tree(nodes);
nodes = 0;
@@
-182,6
+196,8
@@
static void find_nodes_rec(std::list<SceneNode*> *res, SceneNode *tree, const st
Scene *Scene::extract_nodes(const char *qstr)
{
Scene *Scene::extract_nodes(const char *qstr)
{
+ if(!nodes) return 0;
+
std::regex re{qstr};
std::list<SceneNode*> nodelist;
std::regex re{qstr};
std::list<SceneNode*> nodelist;