MCPcopy Create free account
hub / github.com/WiVRn/WiVRn / remove

Method remove

client/scene.cpp:553–582  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

551}
552
553void scene::remove(entt::entity entity)
554{
555 std::vector to_be_removed{entity};
556
557 while (not to_be_removed.empty())
558 {
559 entt::entity parent = to_be_removed.back();
560 to_be_removed.pop_back();
561 world.destroy(parent);
562
563 for (auto [e, node]: world.view<components::node>().each())
564 {
565 if (node.parent == parent)
566 to_be_removed.push_back(e);
567 }
568
569 for (auto [e, anim]: world.view<components::animation>().each())
570 {
571 if (std::ranges::any_of(anim.tracks,
572 [&](const auto & track) { return std::visit(
573 [&](const components::animation_track_base & track) {
574 return track.target == parent;
575 },
576 track); }))
577 {
578 to_be_removed.push_back(e);
579 }
580 }
581 }
582}
583
584void scene::on_unfocused() {}
585void scene::on_focused() {}

Callers 3

unload_gltfMethod · 0.45
get_server_log_fileFunction · 0.45

Calls 5

emptyMethod · 0.45
backMethod · 0.45
pop_backMethod · 0.45
destroyMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected