diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2024-01-07 13:04:31 +0000 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2024-01-07 13:04:31 +0000 |
commit | 6a1df3dfbae98a05e74c646cc216fbc19ffdb6d6 (patch) | |
tree | 46c42bcbef1f12c4f46d53b4e0c4736bea506b51 /game/network/network.cpp | |
parent | Unified crossProduct (diff) | |
download | ilt-6a1df3dfbae98a05e74c646cc216fbc19ffdb6d6.tar.bz2 ilt-6a1df3dfbae98a05e74c646cc216fbc19ffdb6d6.tar.xz ilt-6a1df3dfbae98a05e74c646cc216fbc19ffdb6d6.zip |
Template Ray on position type
Diffstat (limited to 'game/network/network.cpp')
-rw-r--r-- | game/network/network.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/game/network/network.cpp b/game/network/network.cpp index 1ff5b26..d52e804 100644 --- a/game/network/network.cpp +++ b/game/network/network.cpp @@ -49,13 +49,14 @@ Network::candidateNodeAt(Position3D pos) const } Node::Ptr -Network::intersectRayNodes(const Ray & ray) const +Network::intersectRayNodes(const Ray<GlobalPosition3D> & ray) const { // Click within 2m of a node if (const auto node = std::find_if(nodes.begin(), nodes.end(), [&ray](const Node::Ptr & node) { - Position3D ipos, inorm; - return glm::intersectRaySphere(ray.start, ray.direction, node->pos, 2.F, ipos, inorm); + GlobalPosition3D ipos; + Normal3D inorm; + return ray.intersectSphere(node->pos, 2000, ipos, inorm); }); node != nodes.end()) { return *node; |