BuildingRoofOrthophotoProcessor

Editor/BuildingRoofOrthophotoProcessor.cs · 624 linija · ZGConnect.Editor

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.

ADR-023 Kronologija

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.

Development · Changelog

Metode (14)

public static int ProcessTile(

Linija 36 · klasa BuildingRoofOrthophotoProcessor

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

  1. Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
  2. Iteracija kroz kolekciju ili niz elemenata.
  3. Vraća rezultat pozivatelju nakon obrade.

Side-effecti

Poziva: ProcessBuilding

Pozivatelji:

public static Vector3 ResolveTileOriginWorld(CityTileRecord rec, BuildingsMetadataJson meta)

Linija 88 · klasa BuildingRoofOrthophotoProcessor

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

ImeOpis
recTip: CityTileRecord
metaTip: BuildingsMetadataJson

Povratna vrijednost: Vector3 — povratna vrijednost prema potpisu.

Algoritam

  1. Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
  2. Vraća rezultat pozivatelju nakon obrade.

Side-effecti

Poziva:

Pozivatelji:

public static int ProcessBuilding(

Linija 101 · klasa BuildingRoofOrthophotoProcessor

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

  1. Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
  2. Iteracija kroz kolekciju ili niz elemenata.
  3. Vraća rezultat pozivatelju nakon obrade.

Side-effecti

Poziva: ProcessMeshFilter

Pozivatelji: ProcessTile

private static bool ProcessMeshFilter(

Linija 125 · klasa BuildingRoofOrthophotoProcessor

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

  1. Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
  2. Iteracija kroz kolekciju ili niz elemenata.
  3. Vraća rezultat pozivatelju nakon obrade.

Side-effecti

Poziva: RecalculateNormals, Classify, AppendRoofTris, BuildMesh, EnsureColliderUsesSourceMesh

Pozivatelji: ProcessBuilding

private static void AppendRoofTris(

Linija 287 · klasa BuildingRoofOrthophotoProcessor

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

  1. Iteracija kroz kolekciju ili niz elemenata.

Side-effecti

Poziva: TileUv

Pozivatelji: ProcessMeshFilter

private static Vector2 TileUv(Vector3 worldPos, Vector3 tileOriginWorld, float invTileSize)

Linija 323 · klasa BuildingRoofOrthophotoProcessor

Maps world XZ into tile orthophoto UV 0–1. Origin is <see cref="CityTileRecord.unityPosition"/> (south-west corner), same as terrain tiles.

Parametri

ImeOpis
worldPosTip: Vector3
tileOriginWorldTip: Vector3
invTileSizeTip: float

Povratna vrijednost: Vector2 — povratna vrijednost prema potpisu.

Algoritam

  1. Vraća rezultat pozivatelju nakon obrade.

Side-effecti

Poziva:

Pozivatelji: AppendRoofTris

private static Mesh BuildMesh(

Linija 330 · klasa BuildingRoofOrthophotoProcessor

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

  1. Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
  2. Iteracija kroz kolekciju ili niz elemenata.
  3. Vraća rezultat pozivatelju nakon obrade.

Side-effecti

Poziva:

Pozivatelji: ProcessMeshFilter

private static RoofTriangleType Classify(Vector3 nWorld, BuildingSurfaceSettings settings)

Linija 395 · klasa BuildingRoofOrthophotoProcessor

Metoda Classify klase BuildingRoofOrthophotoProcessor — dio ZG Connect modula BuildingRoofOrthophotoProcessor. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.

Parametri

ImeOpis
nWorldTip: Vector3
settingsTip: BuildingSurfaceSettings

Povratna vrijednost: RoofTriangleType — povratna vrijednost prema potpisu.

Algoritam

  1. Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
  2. Vraća rezultat pozivatelju nakon obrade.

Side-effecti

Poziva:

Pozivatelji: ProcessMeshFilter

private static void EnsureColliderUsesSourceMesh(GameObject building, Mesh sourceMesh)

Linija 405 · klasa BuildingRoofOrthophotoProcessor

Metoda EnsureColliderUsesSourceMesh klase BuildingRoofOrthophotoProcessor — dio ZG Connect modula BuildingRoofOrthophotoProcessor. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.

Parametri

ImeOpis
buildingTip: GameObject
sourceMeshTip: Mesh

Povratna vrijednost: void — nema povratne vrijednosti.

Algoritam

  1. Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.

Side-effecti

Poziva:

Pozivatelji: ProcessMeshFilter

private static Vector3[] RecalculateNormals(Vector3[] verts, int[] indices)

Linija 415 · klasa BuildingRoofOrthophotoProcessor

Metoda RecalculateNormals klase BuildingRoofOrthophotoProcessor — dio ZG Connect modula BuildingRoofOrthophotoProcessor. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.

Parametri

ImeOpis
vertsTip: Vector3[]
indicesTip: int[]

Povratna vrijednost: Vector3[] — povratna vrijednost prema potpisu.

Algoritam

  1. Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
  2. Iteracija kroz kolekciju ili niz elemenata.
  3. Vraća rezultat pozivatelju nakon obrade.

Side-effecti

Poziva:

Pozivatelji: ProcessMeshFilter

public static bool TryEnsureTileRoofMaterial(

Linija 442 · klasa BuildingRoofOrthophotoProcessor

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

  1. Vraća rezultat pozivatelju nakon obrade.

Side-effecti

Poziva:

Pozivatelji:

private static bool TryResolveTextureAsset(

Linija 500 · klasa BuildingRoofOrthophotoProcessor

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

  1. Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
  2. Iteracija kroz kolekciju ili niz elemenata.
  3. Vraća rezultat pozivatelju nakon obrade.

Side-effecti

Poziva: TryFindImportedTexturePath

Pozivatelji:

private static bool TryFindImportedTexturePath(

Linija 577 · klasa BuildingRoofOrthophotoProcessor

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

  1. Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.
  2. Iteracija kroz kolekciju ili niz elemenata.
  3. Vraća rezultat pozivatelju nakon obrade.

Side-effecti

Napomene: Import operacija — može trajati dugo; koristi progress callback.

Poziva:

Pozivatelji: TryResolveTextureAsset

private static void AssignTexture(Material mat, Texture2D texture)

Linija 613 · klasa BuildingRoofOrthophotoProcessor

Metoda AssignTexture klase BuildingRoofOrthophotoProcessor — dio ZG Connect modula BuildingRoofOrthophotoProcessor. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.

Parametri

ImeOpis
matTip: Material
textureTip: Texture2D

Povratna vrijednost: void — nema povratne vrijednosti.

Algoritam

  1. Provjera ulaznih uvjeta i rani izlaz ako preduvjeti nisu ispunjeni.

Side-effecti

Poziva:

Pozivatelji: