Loading phx/include/phx/coll/broad/aabbtree.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -75,7 +75,7 @@ struct AABBTree final : public BroadDetector private: std::shared_ptr<AABBNode> create_node(com::Folder *world, Collider *collider); void remove_node(com::Folder *world, const std::shared_ptr<AABBNode> &node); bool move_node(com::Folder *world, const std::shared_ptr<AABBNode> &node, AABB new_aabb, vec3 const & d = zero<vec3>(), vec3 const & margin = zero<vec3>()); bool move_node(com::Folder *world, const std::shared_ptr<AABBNode> &node, AABB new_aabb, vec3 const & margin = zero<vec3>()); std::shared_ptr<AABBNode> insert_leaf(com::Folder *world, const std::shared_ptr<AABBNode> &leaf); void remove_leaf(com::Folder *world, const std::shared_ptr<AABBNode> &leaf); Loading phx/src/coll/broad/aabbtree.cpp +2 −4 Original line number Diff line number Diff line Loading @@ -308,7 +308,7 @@ void AABBTree::swap_nodes(const std::shared_ptr<AABBNode> &node_1, const std::sh node_1->parent = parent_2; } bool AABBTree::move_node(com::Folder *world, const std::shared_ptr<AABBNode> &node, AABB new_aabb, vec3 const & d, vec3 const & margin) bool AABBTree::move_node(com::Folder *world, const std::shared_ptr<AABBNode> &node, AABB new_aabb, vec3 const & margin) { if (node->aabb.contains(new_aabb)) { Loading @@ -316,8 +316,6 @@ bool AABBTree::move_node(com::Folder *world, const std::shared_ptr<AABBNode> &no } new_aabb = AABB::fatten(new_aabb, margin); // vec3 displacement = d * 1.5f; // new_aabb = AABB::displace(new_aabb, displacement); remove_leaf(world, node); node->aabb = new_aabb; Loading Loading @@ -594,7 +592,7 @@ void AABBTree::update_collider(com::Folder *world, Collider *collider) clear_collisions(world, collider); dyn::RigidBody *rb = phx::body_system()->get_rigid_body(collider->body_root()); if (move_node(world, node, collider->aabb(), normalized(rb->velocity().linear()), collider->aabb_fatten_margin())) if (move_node(world, node, collider->aabb(), collider->aabb_fatten_margin())) { move_buffer.insert(node); } Loading Loading
phx/include/phx/coll/broad/aabbtree.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -75,7 +75,7 @@ struct AABBTree final : public BroadDetector private: std::shared_ptr<AABBNode> create_node(com::Folder *world, Collider *collider); void remove_node(com::Folder *world, const std::shared_ptr<AABBNode> &node); bool move_node(com::Folder *world, const std::shared_ptr<AABBNode> &node, AABB new_aabb, vec3 const & d = zero<vec3>(), vec3 const & margin = zero<vec3>()); bool move_node(com::Folder *world, const std::shared_ptr<AABBNode> &node, AABB new_aabb, vec3 const & margin = zero<vec3>()); std::shared_ptr<AABBNode> insert_leaf(com::Folder *world, const std::shared_ptr<AABBNode> &leaf); void remove_leaf(com::Folder *world, const std::shared_ptr<AABBNode> &leaf); Loading
phx/src/coll/broad/aabbtree.cpp +2 −4 Original line number Diff line number Diff line Loading @@ -308,7 +308,7 @@ void AABBTree::swap_nodes(const std::shared_ptr<AABBNode> &node_1, const std::sh node_1->parent = parent_2; } bool AABBTree::move_node(com::Folder *world, const std::shared_ptr<AABBNode> &node, AABB new_aabb, vec3 const & d, vec3 const & margin) bool AABBTree::move_node(com::Folder *world, const std::shared_ptr<AABBNode> &node, AABB new_aabb, vec3 const & margin) { if (node->aabb.contains(new_aabb)) { Loading @@ -316,8 +316,6 @@ bool AABBTree::move_node(com::Folder *world, const std::shared_ptr<AABBNode> &no } new_aabb = AABB::fatten(new_aabb, margin); // vec3 displacement = d * 1.5f; // new_aabb = AABB::displace(new_aabb, displacement); remove_leaf(world, node); node->aabb = new_aabb; Loading Loading @@ -594,7 +592,7 @@ void AABBTree::update_collider(com::Folder *world, Collider *collider) clear_collisions(world, collider); dyn::RigidBody *rb = phx::body_system()->get_rigid_body(collider->body_root()); if (move_node(world, node, collider->aabb(), normalized(rb->velocity().linear()), collider->aabb_fatten_margin())) if (move_node(world, node, collider->aabb(), collider->aabb_fatten_margin())) { move_buffer.insert(node); } Loading