mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-11-13 09:40:11 +01:00
Sieć trakcyjna: kotwienia, kotwienie środkowe, parasole i wysięgniki rozstawione, konsole 4890/4690
Sam kod exe z gałęzi siec-trakcyjna od poprzedniego commita (bez testów, notatek i danych z tests/catenary). Dane (data/traction_*.txt) leżą poza repozytorium. - kotwienia ciężarowe i stałe (0404/0405, przewody zakotwione osobno, sieci bez własnych danych: network <symbol> as <kod>) - kotwienie środkowe 0406/0408/0418/0416: lina, V i zaciski na linie nośnej liczonej jak przęsło, obejma 4160 na teownikach - parasole i wysięgniki rozstawione na konsolach 4890, wysięgi pomocnicze 0167 na belkach 4690, trzeci wysięgnik w osi słupa, lina nośna z innego wysięgnika (messenger_from) - przęsła w nietypowych sytuacjach nie przechodzą na stary wygląd (bez Y, bez wieszaków, lina nad przewodem) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GfTogWDsfCE8RGFGvm2eyp
This commit is contained in:
@@ -14,10 +14,12 @@ http://mozilla.org/MPL/2.0/.
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "rendering/geometrybank.h"
|
||||
|
||||
class TTraction;
|
||||
namespace catenary { struct solid_vertex; }
|
||||
|
||||
// ustawienia rysowania sieci, zmieniane z eu07.ini i z panelu ustawień
|
||||
struct catenary_settings {
|
||||
@@ -27,7 +29,11 @@ extern catenary_settings CatenarySettings;
|
||||
|
||||
// przypisuje przęsłu typ sieci z dopisku "type" i dobiera rozstaw wieszaków; wołane po wczytaniu punktów przęsła.
|
||||
// pusty symbol albo wyłączone rysowanie wg typu zostawia przęsło rysowane po staremu
|
||||
void catenary_span_assign( TTraction &Traction, std::string const &Symbol );
|
||||
// Messenger, Contact: naciąg liny nośnej i przewodów jezdnych w daN zamiast naciągu typu (dopisek "tension"); 0 = jak w typie
|
||||
// Rope2: końce drugiej liny nośnej podane w wpisie ("rope2 start|end x y z", kotwienie z dwiema liniami): [0] start, [1] koniec,
|
||||
// Rope2set - które podane
|
||||
void catenary_span_assign( TTraction &Traction, std::string const &Symbol, double Messenger = 0.0, double Contact = 0.0,
|
||||
glm::dvec3 const *Rope2 = nullptr, bool const *Rope2set = nullptr );
|
||||
// symbol typu sieci przypisany przęsłu; pusty gdy brak
|
||||
std::string catenary_span_symbol( TTraction const &Traction );
|
||||
// odcinki przęsła policzone wg typu sieci, dopisywane do Vertices; false gdy przęsło ma być narysowane po staremu
|
||||
@@ -37,6 +43,7 @@ bool catenary_span_lines( TTraction &Traction, gfx::vertex_array &Vertices );
|
||||
struct catenary_solid {
|
||||
gfx::geometry_handle wires;
|
||||
gfx::geometry_handle fittings;
|
||||
gfx::geometry_handle rope; // bryła dołączona z zewnątrz (lina urządzenia naprężającego na końcu przęsła), stal
|
||||
};
|
||||
// bryły tworzone są, gdy kamera jest blisko przęsła, i zwalniane, gdy się oddali
|
||||
catenary_solid catenary_span_solid( TTraction &Traction, glm::dvec3 const &Camera );
|
||||
@@ -44,6 +51,9 @@ catenary_solid catenary_span_solid( TTraction &Traction, glm::dvec3 const &Camer
|
||||
void catenary_span_refresh( TTraction &Traction );
|
||||
// zwalnia linie i bryły przęsła przed jego usunięciem
|
||||
void catenary_span_release( TTraction &Traction );
|
||||
// dołącza do brył przęsła bryłę spoza przęsła (lina kotwienia przy jego końcu; trójkąty w układzie scenerii), rysowaną
|
||||
// razem z nim z bliska, ze stali. Pusta lista odłącza. false, gdy przęsło nie jest rysowane wg typu sieci
|
||||
bool catenary_span_attach( TTraction &Traction, std::vector<catenary::solid_vertex> const &Triangles );
|
||||
|
||||
// wygląd metalu brył: kolor własny (sRGB), metaliczność, połysk i siła odbicia otoczenia, każde w zakresie 0–1
|
||||
struct catenary_metal {
|
||||
@@ -55,3 +65,5 @@ struct catenary_metal {
|
||||
// wygląd przewodów (Fitting = false) albo osprzętu przęsła o podanym materiale i stanie z wpisu scenerii.
|
||||
// wartości domyślne można zmienić bez kompilacji plikiem data/traction_materials.txt, czytanym przy pierwszym użyciu
|
||||
catenary_metal const &catenary_span_metal( TTraction const &Traction, bool Fitting );
|
||||
// wygląd liny stalowej (cięgło 4490 urządzenia naprężającego)
|
||||
catenary_metal const &catenary_rope_metal();
|
||||
|
||||
Reference in New Issue
Block a user