Klasa/BinTriangle
Zawartość rekordu
| 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.
| 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 | Bin • BinManager • BinRecord • BinItem • BinLine • BinPos |
|---|---|
| Klasy parametrów | BinFile • BinArcInfo |
| Klasy obiektów | BinTrack • BinPath • BinSection • BinTraction |
| Linie | Linia kierunkowa • Niweleta • Poprzeczka • Trajektoria • Ściana |
| Punktowe | Bramka • Budowla • Drzewo • Obrotnica • Most • Przejazd • Studnia • Ukres |
| Trójkąty | Trójkąty • Teren NMT-100 • CityGML |
| Eksport | MaSzyna • Kody eksportu |
| Operacje | Układanie niwelety • Łuki koszowe |
| Inne | RSF wersja 15 • RSF wersja 16 • Warstwy • Grupa • Komórki • Scenerie • RSFSTRU |