mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-11-03 03:52:00 +01:00
feat(roads): single piece widening with generated transitions, point height tools, fix for the frame rate drop in the road tools
This commit is contained in:
@@ -103,8 +103,13 @@ class editor_road
|
||||
static bool nearest_joint(glm::dvec3 const &Point, double const Radius, glm::dvec3 &Joint);
|
||||
// ends of the pieces which meet at specified point
|
||||
static std::vector<piece_end> ends_at(glm::dvec3 const &Point);
|
||||
// true if there's an arm of a junction at specified point
|
||||
static bool at_junction(glm::dvec3 const &Point);
|
||||
// junctions with an arm at specified point, each with the number of that arm
|
||||
static std::vector<std::pair<junction_node *, std::size_t>> arms_at(glm::dvec3 const &Point);
|
||||
// brings what's next to the ends of a piece in line with the piece, after its lanes or its width were changed:
|
||||
// a junction gets its arm made for the lanes the piece has now, a neighbouring piece with the same lanes is made as wide
|
||||
// as the piece where they meet, and one with other lanes gets a transition cut out of its end - a junction of two roads,
|
||||
// which leads the lanes of one to the lanes of the other. what gets done is added to Record, what couldn't be done to Notes
|
||||
static void settle(road_node &Road, record &Record, std::string &Notes);
|
||||
// width shared by all lanes of the road at specified value of the curve parameter of its axis. returns: false if the lanes differ in width
|
||||
static bool lane_width(road_node::state const &State, double const T, float &Width);
|
||||
// lays out a junction for a road leaving the side of specified piece at specified value of the curve parameter of its axis.
|
||||
|
||||
Reference in New Issue
Block a user