17
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-10-17 06:19:19 +02:00

feat(editor): break and S-curve with mouse

This commit is contained in:
maj00r
2026-10-02 23:17:42 +02:00
parent a392364f06
commit e910af4712
3 changed files with 174 additions and 41 deletions

View File

@@ -347,15 +347,17 @@ class editor_mode : public application_mode
double edit_length{0.0};
double edit_azimuth{0.0};
double distance{4.0};
double break_at{100.0};
double break_angle{5.0};
double break_radius{1000.0};
double shift_at{100.0};
double shift_length{200.0};
double shift_offset{4.0};
double curve_radius{0.0};
bool auto_transitions{true};
double transition{0.0};
int tool{0};
bool tool_placed{false};
bool tool_dragging{false};
double tool_at{0.0};
glm::dvec3 tool_point{0.0};
glm::dvec3 tool_handle{0.0};
editor_track::straight tool_line;
glm::mat4 tool_gizmo{1.0f};
std::string status;
};
void render_straights_ui();
@@ -367,6 +369,10 @@ class editor_mode : public application_mode
void straight_apply(editor_track::straight const &Line, glm::dvec3 const &Start, glm::dvec3 const &End);
void straights_apply(std::vector<editor_track::straight> const &Lines, std::vector<std::pair<glm::dvec3, glm::dvec3>> const &Ends);
bool in_straight_set(editor_track::straight const &Line) const;
bool place_straight_tool();
void render_straight_tool_gizmo();
void apply_straight_tool();
double straight_tool_radius(editor_track::straight const &Line) const;
void straight_reshape(editor_track::straight const &Line, double const From, double const To, std::function<glm::dvec3(glm::dvec3 const &)> const &Tail, double const Radius);
void straight_refresh();
straights_state m_straights;