2018-12-27 23:45:16 +01:00
|
|
|
#include <pw/core/vector.hpp>
|
|
|
|
#include <pw/core/serialize.hpp>
|
|
|
|
#include <pw/scene/node.hpp>
|
|
|
|
#include <pw/scene/transform.hpp>
|
|
|
|
#include <pw/scene/nodepath.hpp>
|
2018-12-30 23:36:53 +01:00
|
|
|
#include <pw/scene/traverser.hpp>
|
2018-12-27 23:45:16 +01:00
|
|
|
|
|
|
|
#include <iostream>
|
|
|
|
|
2018-12-30 23:36:53 +01:00
|
|
|
//struct test_visitor : pw::node::visitor {
|
|
|
|
// virtual void enter(pw::node *n) override;
|
|
|
|
// virtual void leave(pw::node *n) override;
|
|
|
|
//};
|
2018-12-27 23:45:16 +01:00
|
|
|
|
2018-12-30 23:36:53 +01:00
|
|
|
//void test_visitor::enter(pw::node *n)
|
|
|
|
//{
|
|
|
|
// std::cout << n->name() << " " << n->is_leaf() << std::endl;
|
|
|
|
//}
|
2018-12-27 23:45:16 +01:00
|
|
|
|
2018-12-30 23:36:53 +01:00
|
|
|
//void test_visitor::leave(pw::node *n)
|
|
|
|
//{
|
|
|
|
//}
|
2018-12-27 23:45:16 +01:00
|
|
|
|
|
|
|
#include <iostream>
|
|
|
|
|
|
|
|
int main(int argc,char **argv) {
|
|
|
|
|
|
|
|
using namespace pw;
|
|
|
|
|
|
|
|
node::ref root(std::make_shared<node>("root"));
|
|
|
|
root->add_child(std::make_shared<node>("sub-1"));
|
|
|
|
|
|
|
|
node::ref sub_2_1 = std::make_shared<node>("sub-2-1");
|
|
|
|
|
|
|
|
root->add_child(std::make_shared<node>("sub-2"))->add_child(std::make_shared<node>("sub-2-1"));
|
|
|
|
root->add_child(std::make_shared<node>("sub-3"))->add_child(sub_2_1);
|
|
|
|
|
|
|
|
std::cout << "sub-2-1 parent count: " << sub_2_1->parents().size() << std::endl;
|
|
|
|
|
|
|
|
|
2018-12-30 23:36:53 +01:00
|
|
|
traverser tv;
|
|
|
|
|
|
|
|
tv.bfs(root);
|
2018-12-27 23:45:16 +01:00
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|