BuildingSurfaceUtility
Uloga u sustavu
Stable per-building seed for variant picking (survives reloads). Uses world-space footprint center + instance id so GLB nodes with local (0,0,0) still differ.
Uloga: Building pipeline — mesh obrada, UV, materijali i export
Dizajnerska obrazloženja: Modul BuildingSurfaceUtility 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
Stable per-building seed for variant picking (survives reloads). Uses world-space footprint center + instance id so GLB nodes with local (0,0,0) still differ.
Metode (17)
public static int StableHash(string s)
Metoda StableHash klase BuildingSurfaceUtility — dio ZG Connect modula BuildingSurfaceUtility. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.
Parametri
| Ime | Opis |
|---|---|
s | Tip: string |
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: —
Pozivatelji: VariantIndex
public static string ComposeVariantSeedForBuilding(GameObject building, string buildingId)
Stable per-building seed for variant picking (survives reloads). Uses world-space footprint center + instance id so GLB nodes with local (0,0,0) still differ.
Parametri
| Ime | Opis |
|---|---|
building | Tip: GameObject |
buildingId | Tip: string |
Povratna vrijednost: string — 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: ComposeVariantSeed
Pozivatelji: —
public static string ComposeVariantSeed(
Quantized world position + optional Unity instance id for uniqueness within a tile.
Potpis
public static string ComposeVariantSeed(
Povratna vrijednost: string — povratna vrijednost prema potpisu.
Algoritam
- Vraća rezultat pozivatelju nakon obrade.
Side-effecti
- Nema značajnih vanjskih side-effecta u tijelu metode.
Poziva: —
Pozivatelji: ComposeVariantSeedForBuilding
public static int VariantIndex(string variantSeed, int variantCount, int salt = 0)
Picks a variant index in [0, variantCount) from a stable seed and salt. Salt separates facade vs roof; include category in salt at call site when needed.
Parametri
| Ime | Opis |
|---|---|
variantSeed | Tip: string |
variantCount | Tip: int |
0 | Tip: int salt = |
Povratna vrijednost: int — 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: MixHash, StableHash
Pozivatelji: —
private static int MixHash(int hash, int salt)
Picks a variant index in [0, variantCount) from a stable seed and salt. Salt separates facade vs roof; include category in salt at call site when needed.
Parametri
| Ime | Opis |
|---|---|
hash | Tip: int |
salt | Tip: int |
Povratna vrijednost: int — povratna vrijednost prema potpisu.
Algoritam
- Vraća rezultat pozivatelju nakon obrade.
Side-effecti
- Nema značajnih vanjskih side-effecta u tijelu metode.
Poziva: —
Pozivatelji: VariantIndex
public static int CategoryVariantSalt(BuildingCategory category) =>
Salt separates facade vs roof; include category in salt at call site when needed.
Parametri
| Ime | Opis |
|---|---|
category | Tip: BuildingCategory |
Povratna vrijednost: int — 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 FloorCountFromHeight(float heightMeters, float metersPerFloor)
Metoda FloorCountFromHeight klase BuildingSurfaceUtility — dio ZG Connect modula BuildingSurfaceUtility. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.
Parametri
| Ime | Opis |
|---|---|
heightMeters | Tip: float |
metersPerFloor | Tip: float |
Povratna vrijednost: int — 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: ResolveCategory
public static BuildingCategory CategoryFromFloorCount(int floors)
Metoda CategoryFromFloorCount klase BuildingSurfaceUtility — dio ZG Connect modula BuildingSurfaceUtility. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.
Parametri
| Ime | Opis |
|---|---|
floors | Tip: int |
Povratna vrijednost: BuildingCategory — 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: ResolveCategory
public static BuildingCategory ResolveCategory(
Metoda ResolveCategory klase BuildingSurfaceUtility — dio ZG Connect modula BuildingSurfaceUtility. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.
Potpis
public static BuildingCategory ResolveCategory(
Povratna vrijednost: BuildingCategory — povratna vrijednost prema potpisu.
Algoritam
- Vraća rezultat pozivatelju nakon obrade.
Side-effecti
- Nema značajnih vanjskih side-effecta u tijelu metode.
Poziva: FloorCountFromHeight, CategoryFromFloorCount
Pozivatelji: —
public static string ExtractBuildingIdFromObjectName(string objectName)
Maps embedded GLB material names to facade/roof profile buckets. neboder → HighRise, building → MidRise, house → House (case-insensitive substring).
Parametri
| Ime | Opis |
|---|---|
objectName | Tip: string |
Povratna vrijednost: string — 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 string NormalizeMaterialName(string materialName)
Metoda NormalizeMaterialName klase BuildingSurfaceUtility — dio ZG Connect modula BuildingSurfaceUtility. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.
Parametri
| Ime | Opis |
|---|---|
materialName | Tip: string |
Povratna vrijednost: string — 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: TryResolveCategoryFromMaterialName, TryResolveSurfaceTypeFromMaterialName
public static bool TryResolveCategoryFromMaterialName(
Metoda TryResolveCategoryFromMaterialName klase BuildingSurfaceUtility — dio ZG Connect modula BuildingSurfaceUtility. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.
Potpis
public static bool TryResolveCategoryFromMaterialName(
Povratna vrijednost: bool — 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: NormalizeMaterialName
Pozivatelji: ResolveCategoryFromMaterialNames, CanonicalizeSlotKey
public static BuildingCategory ResolveCategoryFromMaterialNames(
Highest-priority category found across material names (neboder > building > house).
Potpis
public static BuildingCategory ResolveCategoryFromMaterialNames(
Povratna vrijednost: BuildingCategory — 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: TryResolveCategoryFromMaterialName
Pozivatelji: —
public static bool TryResolveSurfaceTypeFromMaterialName(
Maps GLB material names to surface slots: facade, roof_flat, roof_sloped.
Potpis
public static bool TryResolveSurfaceTypeFromMaterialName(
Povratna vrijednost: bool — 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: NormalizeMaterialName
Pozivatelji: CanonicalizeSlotKey
public static string CanonicalizeSlotKey(string materialName)
Stable slot key for JSON (e.g. house_facade) when the source name is parseable.
Parametri
| Ime | Opis |
|---|---|
materialName | Tip: string |
Povratna vrijednost: string — 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: TryResolveCategoryFromMaterialName, TryResolveSurfaceTypeFromMaterialName, CategoryToSlotToken, SurfaceToSlotToken
Pozivatelji: —
public static string CategoryToSlotToken(BuildingCategory category) =>
Stable slot key for JSON (e.g. house_facade) when the source name is parseable.
Parametri
| Ime | Opis |
|---|---|
category | Tip: BuildingCategory |
Povratna vrijednost: string — povratna vrijednost prema potpisu.
Algoritam
- Izvršava poslovnu logiku metode CategoryToSlotToken prema implementaciji u izvorniku.
Side-effecti
- Nema značajnih vanjskih side-effecta u tijelu metode.
Poziva: —
Pozivatelji: CanonicalizeSlotKey
public static string SurfaceToSlotToken(BuildingSurfaceMaterialType surfaceType) =>
Metoda SurfaceToSlotToken klase BuildingSurfaceUtility — dio ZG Connect modula BuildingSurfaceUtility. Obrađuje poslovnu logiku povezanu s importom, streamingom ili transformacijom geopodataka.
Parametri
| Ime | Opis |
|---|---|
surfaceType | Tip: BuildingSurfaceMaterialType |
Povratna vrijednost: string — povratna vrijednost prema potpisu.
Algoritam
- Izvršava poslovnu logiku metode SurfaceToSlotToken prema implementaciji u izvorniku.
Side-effecti
- Nema značajnih vanjskih side-effecta u tijelu metode.
Poziva: —
Pozivatelji: CanonicalizeSlotKey