LifePlay-Revival/Source/LifePlayEditorTools/LPBuildCitySidewalksCommandlet.h

46 lines
2.9 KiB
C
Raw Normal View History

// Lot STM1 (STM1-SPEC-17, option T ; pack 1.4.0 ; STM1-DIAG-03 E1 : 1.4.1) : sol pieton d'une ville en maillage statique a
// part, sans interface.
//
// Le plugin StreetMap n'importe ni les voies pietonnes, ni les places, ni les jardins : entre la chaussee et les facades, le
// jeu montre son plan de pave. Ce commandlet lit un extrait OSM (le meme que la carte, meme projection) et produit trois
// couches plates, sous la carte, chacune dans son emplacement de materiau :
// - 0 trottoirs (-Material) : voies highway=footway + footway=sidewalk, bandes de -WidthM (2,5 m) prolongees d'une
// demi-largeur a chaque bout, a -ZCm (-5) ;
// - 1 pierre (-StoneMaterial) : surfaces highway=pedestrian|footway + area=yes, place=square, area:highway=*, triangulees,
// et voies highway=pedestrian lineaires en bandes de -PedestrianWidthM (6 m), a -StoneZCm (-3) ;
// - 2 vert (-GreenMaterial) : leisure=garden, landuse=grass|flowerbed|village_green|recreation_ground, a -GreenZCm (-1).
// Toutes sous les parcs et les routes de la carte (parcs a 0 ; routes a 0, ou plus avec LPBuildCityStatic -RoadZCm), et
// separees entre elles de 2 cm : aucune surface coplanaire. Elements gardes si leur centre est dans la boite de l'UStreetMap.
// Couleur de sommet blanche ; UV0 = XY / 300 cm (les materiaux du pack echantillonnent la position locale).
// Le jeu pose ce maillage sous la carte et le cache en mode classique (LPCityWaterSubsystem, UpdateGround).
// 1.5.1 (STM1-SPEC-21, STM1-DIAG-06) : couche facultative 3 dalles (-SlabMaterial, a -SlabZCm, pierre + 1 par defaut) pour les
// surfaces de pierre en dalles : cours de monuments (lp:source P4), noms Parvis, Esplanade, Cour, Terrasse, surface stone,
// concrete:plates, marble, granite. Le pack 1.5.1 pose pierre et dalles au-dessus des parcs (+2, +3) et sous les routes.
// 1.5.2 (STM1-DIAG-06 § 3 ter) : -BySurface (avec -SlabMaterial, -LightMaterial, -SandMaterial) : couche de chaque surface
// pietonne et rue pietonne selon surface= : sett, cobblestone -> pierre ; asphalt -> 4 beton clair (-LightZCm) ; compacted,
// gravel, fine_gravel, unpaved... -> 5 stabilise (-SandZCm) ; autre ou sans balise -> dalles.
//
// Usage : -run=LPBuildCitySidewalks -StreetMap=<objet> -Osm=<f.osm.xml> -Origin=<lat>,<lon>
// -Package=</lpm_city_<v>/StreetMap/Sidewalks/<Ville>> [-Material=<objet>] [-StoneMaterial=<objet>]
// [-GreenMaterial=<objet>] [-SlabMaterial=<objet>] [-WidthM=2.5] [-PedestrianWidthM=6] [-ZCm=-5] [-StoneZCm=-3]
// [-GreenZCm=-1] [-SlabZCm=<pierre+1>] [-BySurface -LightMaterial=<objet> -SandMaterial=<objet> [-LightZCm] [-SandZCm]]
// [-NoAreas]
// [-DryRun] [-Report=<f.md>]
#pragma once
#include "CoreMinimal.h"
#include "Commandlets/Commandlet.h"
#include "LPBuildCitySidewalksCommandlet.generated.h"
UCLASS()
class ULPBuildCitySidewalksCommandlet : public UCommandlet
{
GENERATED_BODY()
public:
ULPBuildCitySidewalksCommandlet();
virtual int32 Main(const FString& Params) override;
};