summaryrefslogtreecommitdiff
path: root/game/network/network.h
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2025-02-09 13:02:09 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2025-02-09 13:02:09 +0000
commit62fd9391bbfde47177fb36434d9664e47f4cf656 (patch)
tree83c1361b41bac431f8dbddb92859fb28e76455a5 /game/network/network.h
parentBig of validation on getSurface (diff)
downloadilt-62fd9391bbfde47177fb36434d9664e47f4cf656.tar.bz2
ilt-62fd9391bbfde47177fb36434d9664e47f4cf656.tar.xz
ilt-62fd9391bbfde47177fb36434d9664e47f4cf656.zip
Initial commit setting terrain during network construction
This is all in the wrong place, it shouldn't be part of the network interface.
Diffstat (limited to 'game/network/network.h')
-rw-r--r--game/network/network.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/game/network/network.h b/game/network/network.h
index f8739b8..291c4ec 100644
--- a/game/network/network.h
+++ b/game/network/network.h
@@ -14,7 +14,8 @@
#include <utility>
class SceneShader;
-class Surface;
+struct Surface;
+class GeoData;
template<typename> class Ray;
template<size_t... n> using GenDef = std::tuple<glm::vec<n, GlobalDistance>...>;
@@ -42,9 +43,9 @@ public:
virtual Link::CCollection candidateStraight(GlobalPosition3D, GlobalPosition3D) = 0;
virtual Link::CCollection candidateJoins(GlobalPosition3D, GlobalPosition3D) = 0;
virtual Link::CCollection candidateExtend(GlobalPosition3D, GlobalPosition3D) = 0;
- virtual Link::CCollection addStraight(GlobalPosition3D, GlobalPosition3D) = 0;
- virtual Link::CCollection addJoins(GlobalPosition3D, GlobalPosition3D) = 0;
- virtual Link::CCollection addExtend(GlobalPosition3D, GlobalPosition3D) = 0;
+ virtual Link::CCollection addStraight(const GeoData *, GlobalPosition3D, GlobalPosition3D) = 0;
+ virtual Link::CCollection addJoins(const GeoData *, GlobalPosition3D, GlobalPosition3D) = 0;
+ virtual Link::CCollection addExtend(const GeoData *, GlobalPosition3D, GlobalPosition3D) = 0;
[[nodiscard]] virtual float findNodeDirection(Node::AnyCPtr) const = 0;
@@ -106,12 +107,12 @@ public:
Link::CCollection candidateStraight(GlobalPosition3D n1, GlobalPosition3D n2) override;
Link::CCollection candidateJoins(GlobalPosition3D, GlobalPosition3D) override;
Link::CCollection candidateExtend(GlobalPosition3D, GlobalPosition3D) override;
- Link::CCollection addStraight(GlobalPosition3D n1, GlobalPosition3D n2) override;
- Link::CCollection addJoins(GlobalPosition3D, GlobalPosition3D) override;
- Link::CCollection addExtend(GlobalPosition3D, GlobalPosition3D) override;
+ Link::CCollection addStraight(const GeoData *, GlobalPosition3D n1, GlobalPosition3D n2) override;
+ Link::CCollection addJoins(const GeoData *, GlobalPosition3D, GlobalPosition3D) override;
+ Link::CCollection addExtend(const GeoData *, GlobalPosition3D, GlobalPosition3D) override;
[[nodiscard]] float findNodeDirection(Node::AnyCPtr) const override;
protected:
- Link::CCollection addJoins();
+ Link::CCollection addCurve(const GeoData *, const GenCurveDef &);
};