Klasa/BinTriangle

Z Rainsted
Skocz do: nawigacji, wyszukiwania

Zawartość rekordu

Nagłówek rekordu — pierwsze 20 bajtów
Start 0x00 0x01 0x02 0x04 0x08 0x0C 0x10
Rozmiar [B] 1 1 2 4 4 4 4
Nagłówek — wersje od 13 do 17 Len Flags Type Path Id Prev Next
Nagłówek — od wersji 18 Len Flags Type Id Path Prev Next
Nagłówek trójkąta (wersja 18) Len Flags Type Id Tri[0..2]

Pole Len zwykle ma wartość 1. W przyszłości mogą pojawić się agregaty, zawierające więcej niż 1 trójkąt.

Pole Flags nie zawiera istotnych informacji.

Pole Type dla trójkątów zawiera liczbę z zakresu 0x3000..0x3FFF, dzielących się następnie na 16 warstw. Dolny bajt pola Type zawiera flagi blokad:

  • 0x80 to "Eksportowanie". Określa czy trójkąt będzie uwzględniany przy generowaniu plików scenerii, czy pełni jakąś inną rolę.

Pole Id zawiera rozmiar kwadratu, w który wpisany jest trójkąt.

Pola Path, Prev oraz Next zawierają wskaźniki na trójkąty przylegające do boków. Planowana jest reorganizacja pól, aby były one kolejno po sobie.

Finalne pola dla trójkątów — ?? bajtów
Start 0x14 0x44 0x50 0x54 0x60 0x6C 0x6D 0x6E
Rozmiar [B] 48 12 4 12 12 1 1 18
Pola P[0..3] Vert[0..2] Tex Map[0..2] Norm[0..2] Divider Info  ???

Pola P[1..3] to współrzędne wierzchołków, a pole P[0] zawiera środek geometryczny trójkąta.

Pola Vert[0..2] to wskaźniki na punkty albo inne obiekty, do których podłączone są wierzchołki (np. poprzeczki). Wskaźniki mogą być uzupełnione o numer punktu obiektu, jeśli obiekt ten posiada więcej niż jeden punkt (np. poprzeczka).

Pole Tex zawiera wskaźnik na nazwę pliku tekstury. Typ pliku to 0x2030..0x203F (młodszy bajt to warstwa).

Pole Map[0..2] zawiera współrzędne mapowania w postaci liczb 16-bitowych ze znakiem. Rozmiar trójkąta nie powinien przekraczać 100m, co przy powtarzaniu tekstury co 5m daje zakres ±10 (5 bitów). Pozostałe bity (z 16) są używane do pozycjonowania ułamkowego w zakresie tekstury. Zwykle tekstury terenu mają bok 512px (9 bitów). Z kolei wskazane jest powtarzanie "grubego" mapowania na siatce 1000m, co daje wartości w zakresie ±100 (8 bitów) i wraz z rozdzielczością tekstury wychodzi już zbyt dużo (17 bitów). Przydałoby się zwiększyć dokładność mapowania przynajmniej o 2 bity...

Pole Norm[0..2] zawiera uproszczone wektory normalne (bez współrzędnej pionowej).

Pole Divider jest potęgą mianownika dla współrzędnych mapowania (im wartość większa od 1, tym mniej dokładny ułamek).

Pole Info miało zawierać dodatkowe flagi.


Klasy ogólne BinBinManagerBinRecordBinItemBinLineBinPos
Klasy parametrów BinFileBinArcInfo
Klasy obiektów BinTrackBinPathBinSectionBinTraction
Linie Linia kierunkowaNiweletaPoprzeczkaTrajektoriaŚciana
Punktowe BramkaBudowlaDrzewoObrotnicaMostPrzejazdStudniaUkres

SygnałSłupSłupek kilometrażowy

Trójkąty TrójkątyTeren NMT-100CityGML
Eksport MaSzynaKody eksportu
Operacje Układanie niweletyŁuki koszowe
Inne RSF wersja 15RSF wersja 16WarstwyGrupaKomórkiScenerieRSFSTRU