BuildingRoofOrthophotoProcessor
Uloga u sustavu
Roof-only surface pass: maps roof UVs to the full tile orthophoto (0–1) and assigns an ortho material. Facade triangles keep their original mesh UVs and geometry.
Uloga: Building pipeline — mesh obrada, UV, materijali i export
Dizajnerska obrazloženja: Modul BuildingRoofOrthophotoProcessor izdvojen je radi odvajanja odgovornosti unutar ZG Connect pipeline-a. Implementacija slijedi editor-first pristup s eksplicitnim JSON modelima i determinističkim tile ID-evima u EPSG:3765 sustavu.
Pregled
Roof-only surface pass: maps roof UVs to the full tile orthophoto (0–1) and assigns an ortho material. Facade triangles keep their original mesh UVs and geometry.
Metode (14)
public static int ProcessTile(
Roof-only surface pass: maps roof UVs to the full tile orthophoto (0–1) and assigns an ortho material. Facade triangles keep their original mesh UVs and geometry.
Potpis
public static int ProcessTile(
Povratna vrijednost: int — povratna vrijednost prema potpisu.
Algoritam
- Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
- Iteracija kroz kolekciju ili niz elemenata.
- Vraća rezultat pozivatelju nakon obrade.
Side-effecti
- Ispis u Unity konzolu.
Poziva: ProcessBuilding
Pozivatelji: —
public static Vector3 ResolveTileOriginWorld(CityTileRecord rec, BuildingsMetadataJson meta)
South-west tile corner in Unity world space — same reference as terrain ortho tiles. Building transforms use absolute Unity coordinates from companion JSON, not tile-root-local.
Parametri
| Ime | Opis |
|---|---|
rec | Tip: CityTileRecord |
meta | Tip: BuildingsMetadataJson |
Povratna vrijednost: Vector3 — povratna vrijednost prema potpisu.
Algoritam
- Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
- Vraća rezultat pozivatelju nakon obrade.
Side-effecti
- Nema značajnih vanjskih side-effecta u tijelu metode.
Poziva: —
Pozivatelji: —
public static int ProcessBuilding(
South-west tile corner in Unity world space — same reference as terrain ortho tiles. Building transforms use absolute Unity coordinates from companion JSON, not tile-root-local.
Potpis
public static int ProcessBuilding(
Povratna vrijednost: int — povratna vrijednost prema potpisu.
Algoritam
- Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
- Iteracija kroz kolekciju ili niz elemenata.
- Vraća rezultat pozivatelju nakon obrade.
Side-effecti
- Nema značajnih vanjskih side-effecta u tijelu metode.
Poziva: ProcessMeshFilter
Pozivatelji: ProcessTile
private static bool ProcessMeshFilter(
Metoda ProcessMeshFilter klase BuildingRoofOrthophotoProcessor — dio ZG Connect modula BuildingRoofOrthophotoProcessor. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.
Potpis
private static bool ProcessMeshFilter(
Povratna vrijednost: bool — povratna vrijednost prema potpisu.
Algoritam
- Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
- Iteracija kroz kolekciju ili niz elemenata.
- Vraća rezultat pozivatelju nakon obrade.
Side-effecti
- Trenutačno uništavanje objekata u editoru.
Poziva: RecalculateNormals, Classify, AppendRoofTris, BuildMesh, EnsureColliderUsesSourceMesh
Pozivatelji: ProcessBuilding
private static void AppendRoofTris(
Metoda AppendRoofTris klase BuildingRoofOrthophotoProcessor — dio ZG Connect modula BuildingRoofOrthophotoProcessor. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.
Potpis
private static void AppendRoofTris(
Povratna vrijednost: void — nema povratne vrijednosti.
Algoritam
- Iteracija kroz kolekciju ili niz elemenata.
Side-effecti
- Nema značajnih vanjskih side-effecta u tijelu metode.
Poziva: TileUv
Pozivatelji: ProcessMeshFilter
private static Vector2 TileUv(Vector3 worldPos, Vector3 tileOriginWorld, float invTileSize)
Maps world XZ into tile orthophoto UV 0–1. Origin is <see cref="CityTileRecord.unityPosition"/> (south-west corner), same as terrain tiles.
Parametri
| Ime | Opis |
|---|---|
worldPos | Tip: Vector3 |
tileOriginWorld | Tip: Vector3 |
invTileSize | Tip: float |
Povratna vrijednost: Vector2 — povratna vrijednost prema potpisu.
Algoritam
- Vraća rezultat pozivatelju nakon obrade.
Side-effecti
- Nema značajnih vanjskih side-effecta u tijelu metode.
Poziva: —
Pozivatelji: AppendRoofTris
private static Mesh BuildMesh(
Maps world XZ into tile orthophoto UV 0–1. Origin is <see cref="CityTileRecord.unityPosition"/> (south-west corner), same as terrain tiles.
Potpis
private static Mesh BuildMesh(
Povratna vrijednost: Mesh — povratna vrijednost prema potpisu.
Algoritam
- Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
- Iteracija kroz kolekciju ili niz elemenata.
- Vraća rezultat pozivatelju nakon obrade.
Side-effecti
- Nema značajnih vanjskih side-effecta u tijelu metode.
Poziva: —
Pozivatelji: ProcessMeshFilter
private static RoofTriangleType Classify(Vector3 nWorld, BuildingSurfaceSettings settings)
Metoda Classify klase BuildingRoofOrthophotoProcessor — dio ZG Connect modula BuildingRoofOrthophotoProcessor. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.
Parametri
| Ime | Opis |
|---|---|
nWorld | Tip: Vector3 |
settings | Tip: BuildingSurfaceSettings |
Povratna vrijednost: RoofTriangleType — povratna vrijednost prema potpisu.
Algoritam
- Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
- Vraća rezultat pozivatelju nakon obrade.
Side-effecti
- Nema značajnih vanjskih side-effecta u tijelu metode.
Poziva: —
Pozivatelji: ProcessMeshFilter
private static void EnsureColliderUsesSourceMesh(GameObject building, Mesh sourceMesh)
Metoda EnsureColliderUsesSourceMesh klase BuildingRoofOrthophotoProcessor — dio ZG Connect modula BuildingRoofOrthophotoProcessor. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.
Parametri
| Ime | Opis |
|---|---|
building | Tip: GameObject |
sourceMesh | Tip: Mesh |
Povratna vrijednost: void — nema povratne vrijednosti.
Algoritam
- Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
Side-effecti
- Nema značajnih vanjskih side-effecta u tijelu metode.
Poziva: —
Pozivatelji: ProcessMeshFilter
private static Vector3[] RecalculateNormals(Vector3[] verts, int[] indices)
Metoda RecalculateNormals klase BuildingRoofOrthophotoProcessor — dio ZG Connect modula BuildingRoofOrthophotoProcessor. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.
Parametri
| Ime | Opis |
|---|---|
verts | Tip: Vector3[] |
indices | Tip: int[] |
Povratna vrijednost: Vector3[] — povratna vrijednost prema potpisu.
Algoritam
- Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
- Iteracija kroz kolekciju ili niz elemenata.
- Vraća rezultat pozivatelju nakon obrade.
Side-effecti
- Nema značajnih vanjskih side-effecta u tijelu metode.
Poziva: —
Pozivatelji: ProcessMeshFilter
public static bool TryEnsureTileRoofMaterial(
Resolves or imports per-tile orthophoto textures and shared roof materials for building import.
Potpis
public static bool TryEnsureTileRoofMaterial(
Povratna vrijednost: bool — povratna vrijednost prema potpisu.
Algoritam
- Vraća rezultat pozivatelju nakon obrade.
Side-effecti
- Nema značajnih vanjskih side-effecta u tijelu metode.
Poziva: —
Pozivatelji: —
private static bool TryResolveTextureAsset(
Metoda TryResolveTextureAsset klase BuildingRoofOrthophotoProcessor — dio ZG Connect modula BuildingRoofOrthophotoProcessor. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.
Potpis
private static bool TryResolveTextureAsset(
Povratna vrijednost: bool — povratna vrijednost prema potpisu.
Algoritam
- Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
- Iteracija kroz kolekciju ili niz elemenata.
- Vraća rezultat pozivatelju nakon obrade.
Side-effecti
- Datotečni I/O na disku.
- Unity AssetDatabase — promjena projektnih asseta.
Poziva: TryFindImportedTexturePath
Pozivatelji: —
private static bool TryFindImportedTexturePath(
Metoda TryFindImportedTexturePath klase BuildingRoofOrthophotoProcessor — dio ZG Connect modula BuildingRoofOrthophotoProcessor. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.
Potpis
private static bool TryFindImportedTexturePath(
Povratna vrijednost: bool — povratna vrijednost prema potpisu.
Algoritam
- Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
- Iteracija kroz kolekciju ili niz elemenata.
- Vraća rezultat pozivatelju nakon obrade.
Side-effecti
- Unity AssetDatabase — promjena projektnih asseta.
Napomene: Import operacija — može trajati dugo; koristi progress callback.
Poziva: —
Pozivatelji: TryResolveTextureAsset
private static void AssignTexture(Material mat, Texture2D texture)
Metoda AssignTexture klase BuildingRoofOrthophotoProcessor — dio ZG Connect modula BuildingRoofOrthophotoProcessor. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.
Parametri
| Ime | Opis |
|---|---|
mat | Tip: Material |
texture | Tip: Texture2D |
Povratna vrijednost: void — nema povratne vrijednosti.
Algoritam
- Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
Side-effecti
- Nema značajnih vanjskih side-effecta u tijelu metode.
Poziva: —
Pozivatelji: —