diff options
Diffstat (limited to 'ui')
-rw-r--r-- | ui/builders/freeExtend.cpp | 14 | ||||
-rw-r--r-- | ui/builders/freeExtend.h | 4 | ||||
-rw-r--r-- | ui/builders/join.cpp | 8 | ||||
-rw-r--r-- | ui/builders/join.h | 2 | ||||
-rw-r--r-- | ui/builders/straight.cpp | 6 | ||||
-rw-r--r-- | ui/builders/straight.h | 2 |
6 files changed, 19 insertions, 17 deletions
diff --git a/ui/builders/freeExtend.cpp b/ui/builders/freeExtend.cpp index fa08af6..ab5a998 100644 --- a/ui/builders/freeExtend.cpp +++ b/ui/builders/freeExtend.cpp @@ -38,11 +38,11 @@ BuilderFreeExtend::click( case SDL_BUTTON_LEFT: if (p1) { if (const auto p = network->intersectRayNodes(ray)) { - createJoin(network, *p1, p->pos); + createJoin(network, geoData, *p1, p->pos); p1 = p->pos; } else if (const auto p = geoData->intersectRay(ray)) { - createExtend(network, *p1, p->first); + createExtend(network, geoData, *p1, p->first); p1 = p->first; } } @@ -59,17 +59,19 @@ BuilderFreeExtend::click( } Link::CCollection -BuilderFreeExtend::createJoin(Network * network, GlobalPosition3D p1, GlobalPosition3D p2) const +BuilderFreeExtend::createJoin( + Network * network, const GeoData * geoData, GlobalPosition3D p1, GlobalPosition3D p2) const { - const auto links = network->addJoins(p1, p2); + const auto links = network->addJoins(geoData, p1, p2); setHeightsFor(network, links); return links; } Link::CCollection -BuilderFreeExtend::createExtend(Network * network, GlobalPosition3D p1, GlobalPosition3D p2) const +BuilderFreeExtend::createExtend( + Network * network, const GeoData * geoData, GlobalPosition3D p1, GlobalPosition3D p2) const { - const auto links = network->addExtend(p1, p2); + const auto links = network->addExtend(geoData, p1, p2); setHeightsFor(network, links); return links; } diff --git a/ui/builders/freeExtend.h b/ui/builders/freeExtend.h index 8e30ef4..6f28493 100644 --- a/ui/builders/freeExtend.h +++ b/ui/builders/freeExtend.h @@ -13,8 +13,8 @@ private: const Ray<GlobalPosition3D> & ray) override; public: - Link::CCollection createJoin(Network * network, GlobalPosition3D, GlobalPosition3D) const; - Link::CCollection createExtend(Network * network, GlobalPosition3D, GlobalPosition3D) const; + Link::CCollection createJoin(Network * network, const GeoData *, GlobalPosition3D, GlobalPosition3D) const; + Link::CCollection createExtend(Network * network, const GeoData *, GlobalPosition3D, GlobalPosition3D) const; private: std::optional<GlobalPosition3D> p1; diff --git a/ui/builders/join.cpp b/ui/builders/join.cpp index ee14d63..6941e23 100644 --- a/ui/builders/join.cpp +++ b/ui/builders/join.cpp @@ -25,13 +25,13 @@ BuilderJoin::move(Network * network, const GeoData *, const SDL_MouseMotionEvent void BuilderJoin::click( - Network * network, const GeoData *, const SDL_MouseButtonEvent & e, const Ray<GlobalPosition3D> & ray) + Network * network, const GeoData * geoData, const SDL_MouseButtonEvent & e, const Ray<GlobalPosition3D> & ray) { switch (e.button) { case SDL_BUTTON_LEFT: if (const auto p = network->intersectRayNodes(ray)) { if (p1) { - create(network, p1, p); + create(network, geoData, p1, p); p1.reset(); candidateLinks.removeAll(); } @@ -47,9 +47,9 @@ BuilderJoin::click( } Link::CCollection -BuilderJoin::create(Network * network, const Node::Ptr & p1, const Node::Ptr & p2) const +BuilderJoin::create(Network * network, const GeoData * geoData, const Node::Ptr & p1, const Node::Ptr & p2) const { - const auto links = network->addJoins(p1->pos, p2->pos); + const auto links = network->addJoins(geoData, p1->pos, p2->pos); setHeightsFor(network, links); return links; } diff --git a/ui/builders/join.h b/ui/builders/join.h index d92037c..326d23d 100644 --- a/ui/builders/join.h +++ b/ui/builders/join.h @@ -12,7 +12,7 @@ private: void move(Network * network, const GeoData * geoData, const SDL_MouseMotionEvent & e, const Ray<GlobalPosition3D> & ray) override; - Link::CCollection create(Network * network, const Node::Ptr & p1, const Node::Ptr & p2) const; + Link::CCollection create(Network * network, const GeoData *, const Node::Ptr & p1, const Node::Ptr & p2) const; Node::Ptr p1; }; diff --git a/ui/builders/straight.cpp b/ui/builders/straight.cpp index b9f1831..338aa8a 100644 --- a/ui/builders/straight.cpp +++ b/ui/builders/straight.cpp @@ -33,7 +33,7 @@ BuilderStraight::click( case SDL_BUTTON_LEFT: if (const auto p = geoData->intersectRay(ray)) { if (p1) { - create(network, *p1, p->first); + create(network, geoData, *p1, p->first); candidateLinks.removeAll(); p1.reset(); } @@ -50,9 +50,9 @@ BuilderStraight::click( } Link::CCollection -BuilderStraight::create(Network * network, GlobalPosition3D p1, GlobalPosition3D p2) const +BuilderStraight::create(Network * network, const GeoData * geoData, GlobalPosition3D p1, GlobalPosition3D p2) const { - const auto links = network->addStraight(p1, p2); + const auto links = network->addStraight(geoData, p1, p2); setHeightsFor(network, links); return links; } diff --git a/ui/builders/straight.h b/ui/builders/straight.h index 1717cad..0a6f290 100644 --- a/ui/builders/straight.h +++ b/ui/builders/straight.h @@ -13,7 +13,7 @@ private: const Ray<GlobalPosition3D> & ray) override; public: - Link::CCollection create(Network * network, GlobalPosition3D p1, GlobalPosition3D p2) const; + Link::CCollection create(Network * network, const GeoData *, GlobalPosition3D p1, GlobalPosition3D p2) const; private: std::optional<GlobalPosition3D> p1; |