49 std::cout << __func__ << std::endl;
53 std::shared_ptr<SceneNodef> node = SceneNodef::make();
54 std::weak_ptr<SceneNodef> child_node = node->createChildNode({ 1.0f, 2.0f, 3.0f }, Quaternionf::make_rotation( Degreef{45.0f}, 1.0f, 0.0f, 0.0f ));
56 assert( !child_node.expired() );
57 assert( !child_node.lock()->parent().expired() );
58 assert( child_node.lock()->parent().lock() == node);
59 assert( child_node.lock()->parent().lock()->children().size() == 1 );
60 assert( child_node.lock()->parent().lock()->children().front() == child_node.lock() );
61 assert( node->children().size() == 1 );
62 assert( !node->children().empty() );
63 assert( std::ranges::find( node->children(), child_node.lock() ) != node->children().end() );
68 std::shared_ptr<SceneNodef> node = SceneNodef::make();
69 std::shared_ptr<SceneNodef> child_node{ node->createChildNode({ 1.0f, 2.0f, 3.0f }, Quaternionf::make_rotation( Degreef{45.0f}, 1.0f, 0.0f, 0.0f )) };
72 assert( !child_node->parent().expired() );
73 assert( child_node->parent().lock() == node);
74 assert( child_node->parent().lock()->children().size() == 1 );
75 assert( child_node->parent().lock()->children().front() == child_node );
76 assert( node->children().size() == 1 );
77 assert( !node->children().empty() );
78 assert( std::ranges::find( node->children(), child_node ) != node->children().end() );
87 std::cout << __func__ << std::endl;
89 std::shared_ptr<SceneNodef> node = SceneNodef::make();
90 std::shared_ptr<SceneNodef> child_node{ node->createChildNode({ 1.0f, 2.0f, 3.0f }, Quaternionf::make_rotation( Degreef{45.0f}, 1.0f, 0.0f, 0.0f )) };
92 assert( std::ranges::find( node->children(), child_node ) != node->children().end() );
93 assert( !child_node->parent().expired() );
94 assert( child_node->parent().use_count() == 1 );
95 assert( child_node->parent().lock() == node );
97 node->detachChild( child_node );
99 assert( std::ranges::find( node->children(), child_node ) == node->children().end() );
100 assert( child_node->parent().expired() );
101 assert( child_node->parent().use_count() == 0 );
109 std::cout << __func__ << std::endl;
111 std::shared_ptr<SceneNodef> node = SceneNodef::make();
112 std::shared_ptr<SceneNodef> child_node = SceneNodef::make();
114 assert( std::ranges::find(node->children(), child_node) == node->children().end() );
115 assert( child_node->parent().expired() );
116 assert( child_node->parent().use_count() == 0 );
118 node->attachChild(child_node);
120 assert( std::ranges::find(node->children(), child_node) != node->children().end() );
121 assert( !child_node->parent().expired() );
122 assert( child_node->parent().use_count() == 1 );
123 assert( child_node->parent().lock() == node );