Renderowanie Trasy

renderSelectedTrack.m - renderowanie wybranej trasy

Wstęp

renderSelectedTrack.m - renderowanie wybranej trasy

Tracks.Data

Tracks.Data to, jak widać na załączonym obrazku, matryca wypełniona pewnymi wartościami. Na niej opiera się cały plik renderSelectedTrack.m

Kolumna 1 - nazwa trasy
Kolumna 2 - długość trasy
Kolumna 3 - ???
Kolumna 4 - wartość określająca czy na trasie jest podział dyscyplin
Kolumna 5 - liczba okrążeń
Kolumna 6 - prędkość startowa
Kolumna 7 - nazwa pliku trasy

Deklaracja zmiennych

Pobierana jest nazwa pliku z nazwą toru z listy rozwijanej DropDown (tej z zakładki Simulation Setup, z sekcji Scenario, podpisanej jako Track).

Za pomocą funkcji load(filename,variables) ładowana jest wybrana trasa z podaną nazwą trasy.

Do x_Track_preview i y_Track_preview przypisywane są odpowiednio koordynaty x i y trasy przyjmując za jednostkę metry.

s_preview to przebieg długości trasy.

TrackName to nazwa trasy pobrana z wcześniej wspomnianej listy TrackDropDown (zakładka Simulation Setup => sekcja Scenario => Track).

Zmienna Co przechowuje
x_Track_preview koordynaty x trasy w [m]
y_Track_preview koordynaty y trasy w [m]
s_preview przebieg długości trasy
TrackName nazwa trasy pobrana z wcześniej wspomnianej listy TrackDropDown (zakładka Simulation Setup => sekcja Scenario => Track)
app.StartingSpeed prędkość startowa dla danej trasy, konwertując ją ze stringa na zmienną typu double
app.numOfLaps ilość okrążeń dla danej trasy, konwertując ją ze stringa na zmienną typu double

Funkcje warunkowe

  1. W pierwszym warunku po przekonwertowaniu zmiennej typu string na double sprawdzane jest czy na wybranej trasie są w ogóle dyscypliny. Jeśli tak to app.DisciplineDropDown zostaje włączony. W przeciwnym wypadku zostaje wyłączony.

  2. Następnie ustawiany jest motyw kolorystyczny w zależności czy zaznaczony został odpowiedni checkbox - app.DarkModeCheckBox.

  3. dopisać

  4. Czwarta funkcja warunkowa zawsze się wykona bo tak zostało zapisane w kodzie (DrawApexes ustawione na 1 czyli na true - ergo - warunek zawsze prawdziwy).
    Funkcja hold z drugim parametrem “on” ustawia podany w pierszym parametrze wykres na niepoddający się wymazywaniu istniejących linii przy rysowaniu nowych.
    Zmienna ApexIndizes to kurwa co to nwm pózniej dopisze bo psycha siada Funkcja scatter , gdzie:

    Parametr Czym jest
    app.UIAxes2 docelowy element
    x_Track_preview(ApexIndizes) objaśniona wcześniej zmienna
    y_Track_preview(ApexIndizes) objaśniona wcześniej zmienna
    20 pole powierzchni znaczników (w jednostce points)
    ‘r’ kolor - red (czerwony)
    ‘filled’ opcja do wypełnienia środka markerów

Przez app.UIAxes2.reset resetowany jest graficzny elementu app.UIAxes2.
Funkcja title(target,titletext,Name,Value) zatytułowuje wykres, gdzie:

Parametr Czym jest
target element docelowy (tutaj app.UIAzes2)
titletext nazwa toru podawana przez zmienną TrackName
Name nazwa atrybutu (tutaj rozmiar czcionki)
Value wartość atrybutu

Oraz ustawiana jest grubość jego linii i kolory zależne od wybranego motywu.

app.LengthLabel.Text = "Track Length: " + max(s_preview) + " m" ustawia tekst labela w kącie wykresu na pokazany tutaj tekst, gdzie max(s_preview) to maksymalna wartość z ciągu s_preview. W praktyce przedstawia on długość trasy.