XGRIDSDokumentation
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • PortalCam

    • Produktübersicht
    • Grundlegende Bedienung
    • LCC Scan App verwenden
    • Wartung und Pflege
    • FAQ
  • Lixel K-Serie

    • Lixel K1

      • Produktübersicht
      • Grundlegende Bedienung
      • Geräteaktivierung und -verbindung
      • Scan-Workflow
      • Punktwolke mit absoluten Koordinaten erfassen
      • Kartenfusion
      • Empfehlungen zur Routenplanung für typische Szenen
      • Hinweise
      • FAQ
    • Lixel K2

      • Produktübersicht
      • Grundlegende Bedienung
      • Aktivierung und Verbindung
      • Scan-Workflow
      • Punktwolke mit absoluten Koordinaten erfassen
      • Kartenfusion
      • Empfehlungen zur Routenplanung für typische Szenen
      • Hinweise
      • FAQ
  • Lixel L-Serie

    • Lixel L2 Pro

      • Produktübersicht
      • Grundlegende Bedienung
      • Geräteaktivierung und -verbindung
      • Scan-Workflow
      • Punktwolke mit absoluten Koordinaten erfassen
      • Messpunkt
      • Anhang
      • FAQ
  • Lixel Studio

    • Version und Copyright
    • Installation und Aktivierung
    • Softwareoberfläche
    • Dateioperationen
    • Projektverarbeitung
    • Werkzeuge
    • 2D-Zeichnung
    • Anwendungen
    • Einstellungen
    • Geräteverbindung
  • Lixel CyberColor

    • LCC Studio

      • Erste Schritte
      • Version und Updates
      • Download und Installation
      • Oberfläche und Navigation
      • Vor der Rekonstruktion
      • Modellrekonstruktion
      • Einzelmodell-Rekonstruktion
      • Kartenfusion
      • Boden-Luft-Fusion
      • Luftbild-Rekonstruktion
      • Meine Modelle
      • Weitere Funktionen
      • Einstellungen und Konto
      • Converter
      • Videorekonstruktion
      • Häufige Fragen / FAQ
    • LCC Scene Editor

      • Version und Updates
      • Konto und Anmeldung
      • Produktübersicht und Startseite
      • Editor-Oberfläche
      • Navigationsmodi
      • Datei
      • Einstellungen
      • Bearbeiten
      • Fenster
      • Globale Symbolleiste
      • Assets und Eigenschaften
      • Linke Symbolleiste
      • Ansichtspunkte
      • Portal
      • Skybox
      • Markierungen
      • Messung
      • Flythrough
      • Szenenbericht
      • 3D-Layout
      • Minikarte
      • Vorschaumodus (Viewer)
      • Hilfe
      • Häufige Fragen (FAQ)
      • Spawn-Point
    • LCC Model Editor

      • Version und Updates
      • Benutzerhandbuch
      • Übersicht und Oberfläche
      • Dateioperationen
      • Selektoren
      • Modelle bearbeiten
      • Messung
      • Farbkorrektur
      • Asset-Verwaltung
      • Einstellungen und Hilfe
      • Häufige Fragen
    • Capture Guide

      • Überblick
      • Überblick über die Aufnahmegeräte
      • Allgemeine Aufnahmeprinzipien
      • Aufnahme von Innenszenen
      • Aufnahme von Außenszenen
      • Großflächige Aufnahme (Map Fusion)
      • Aerial-Ground Map Fusion – Aufnahme
      • Objektaufnahme
      • Personenaufnahme
      • Video-Rekonstruktionsaufnahme
      • HD Enhancement
      • Kontrollpunkte (Lixel P1)
      • FAQ und Fehlerbehebung
    • Versionsgeschichte
  • Plugin & SDK

    • Unreal

      • Einführung
      • Schnellstart - Windows
      • Schnellstart - Linux
      • Schnellstart - Quest3
      • Editionen und Lizenzierung
      • Rendering
      • Bildeinstellungen
      • Normalen und Beleuchtung
      • Szenenbearbeitung
      • Leistungsparameter
      • Leitfaden zur Leistung
      • Integration von Drittanbieter- und Engine-Plugins
      • Proxy Mesh
      • Ladeanimation
      • Kollision
      • Unterstützung des Navigation System
      • Unterstützung von Single Layer Water
      • Lokalisierung
      • FAQ
      • Fehlerbehebung
      • Logs und Diagnose
      • Kontakt
      • API-Referenz

        • ALCCActorBase
        • ULCCComponentBase
        • ULCCComponent
        • ULCC2Component
        • SOG- / SPZ- / PLY-Actors
        • ALCC2ProxyMesh
        • ALCCClippingVolume
        • ALCCSectionPlane
        • ULCCUtilLibrary
        • Enums
        • Structs
      • Änderungsprotokoll

        • v3.3.1
        • v3.0.0
        • v2.2.1
        • v1.0.0
        • v0.9.0
        • v0.8.0
        • v0.7.1
        • v0.6.1
        • v0.5.2
        • v0.4.1
        • v0.4.0
        • v0.3.0
        • v0.0.5
        • v0.0.4
        • v0.0.3
        • v0.0.2
        • v0.0.1

Structs: Referenz der Struct-Typen

Struct-Typen, die das Modul LCC4UnrealRuntime bereitstellt.

ModulLCC4UnrealRuntime
HeaderCore/LCCStructure.h
#include "Core/LCCStructure.h"

Structs mit der Auszeichnung BlueprintType lassen sich in Blueprint mit Break- / Make-Nodes auftrennen und zusammensetzen.

Leistung

FRenderInfo

Gemeinsame Leistungsparameter. Genutzt von ULCCComponentBase::Performance.

Das prägende Merkmal dieses Structs ist, dass jeder Wert ein Kontrollkästchen zum Aktivieren mitbringt. Solange das Kästchen aus ist, wird der im Plugin eingebaute Standardwert genutzt, und der eingetragene Wert gilt erst, sobald es an ist. Der passende Setter an der Component setzt das Kästchen automatisch auf true.

FeldTypStandardKontrollkästchenBeschreibung
MaxDistanceuint32300bDistanceLimitMaximale Renderdistanz in Metern
MaxSplatNumuint323000bMaxSplatNumLimitMaximale Splat-Anzahl je Bild, in Einheiten von 10.000, Obergrenze 10000
LevelFactorfloat1bCanSetLevelFactorSkalierungsfaktor der LOD-Distanz, von 0.01 bis 20
PreloadDistanceuint32200bPreloadDistanceLimitVorladedistanz. Der tatsächliche Wert ist MaxDistance + 35
StartLeveluint320bCanSetStartLevelStart Level, von 0 bis 20
EndLeveluint3220bCanSetEndLevelEnd Level, von 0 bis 20
CollisionLoadMaxDistanceuint32300bCollisionDistanceLimitMaximale Distanz für das Laden der Kollision in Metern
bUseFullLoadbooltruebCanSetUseFullLoadSchalter für vollständiges Laden in kleinen Szenen. Beim Konstruieren von ULCC2Component auf „Kontrollkästchen aktiviert, Wert false“ umgeschrieben
FullLoadSplatNumuint321500bCanSetFullLoadNumSchwellwert für vollständiges Laden, in Einheiten von 10.000

Hilfsmethoden:

bool HasMaxDistanceLimit() const;      // ob eine Distanzgrenze vorhanden ist
bool HasMaxNumLimit() const;           // ob eine Anzahlgrenze vorhanden ist
bool NeedPreload() const;              // ob Vorladen nötig ist
uint32 GetMaxDistance() const;         // wirksame maximale Distanz
uint32 GetMaxSplatNum() const;         // wirksame maximale Anzahl
float GetLevelFactor() const;          // wirksamer LOD-Faktor
uint32 GetStartLevel() const;          // wirksames Start-Level
uint32 GetEndLevel() const;            // wirksames End-Level
uint32 GetMaxCollisionDistance() const;
uint32 GetPreloadDistance() const;     // gibt GetMaxDistance() + 35 zurück
bool GetIfUseFullLoad(uint32 SplatNum) const;   // ob die angegebene Anzahl vollständiges Laden nutzt
void Reset();                          // setzt nur die Wertfelder zurück, nicht die Kontrollkästchen

Zwei leichte Fallgruben:

  • Reset() setzt nur die Wertfelder zurück (Distanz, Anzahl, Level, Faktor) und setzt keines der b*-Kontrollkästchen zurück, ebenso nicht bUseFullLoad und FullLoadSplatNum.
  • FRenderInfo::GetPreloadDistance() gibt GetMaxDistance() + 35 zurück, während die gleichnamige Funktion an der Component, ULCCComponentBase::GetPreloadDistance(), den rohen Feldwert zurückgibt. Die beiden Ergebnisse unterscheiden sich.

Die Getter geben den wirksamen Wert zurück: Solange das Kästchen aus ist, geben sie den eingebauten Standardwert zurück, nicht den früher eingetragenen Wert. Das ist leicht zu verwechseln, und das unmittelbare Lesen des Feldes kann vom Aufruf des Getters abweichen.

Hinweise zur Verwendung:

  • Das Ändern über den Setter an der Component ist der einfachste Weg und erfordert kein Behandeln der Kontrollkästchen von Hand.
  • Beim unmittelbaren Ändern der Struct-Felder daran denken, das Kontrollkästchen ebenfalls auf true zu setzen, sonst wird nichts wirksam.
// empfohlen: den Setter nutzen, das Kontrollkästchen wird automatisch behandelt
Component->SetMaxDistance(200);

// beim unmittelbaren Ändern des Feldes das Kontrollkästchen selbst setzen
Component->Performance.bDistanceLimit = true;
Component->Performance.MaxDistance = 200;

FLCCRenderInfo

LCC1-spezifische Leistungsparameter. Genutzt von ULCCComponent::LCCPerformance.

FeldTypStandardKontrollkästchenBeschreibung
SortFactorfloat1bCanSetSortFactorSkalierungsfaktor der Sortierfrequenz, von 0.2 bis 5. Ein höherer Wert bedeutet weniger Sortiervorgänge und bessere Leistung
bAddExtraPreNodesboolVon einem Makro entschiedenbEnableExtraPreNodesFügt zusätzliche Vorlade-Nodes hinzu und mildert Löcher am Bildschirmrand beim schnellen Drehen der Ansicht

Hilfsmethoden:

float GetSortFactor() const;
bool GetIfAddExtraPreNodes() const;
void Reset();

Zugehörige Seite: ULCCComponent

Metadaten

FMetaInfoBase

Basis-Struct der Metadaten, von dem sowohl FLCCMetaInfo als auch FLCC2MetaInfo erben. Rückgabetyp von ULCCComponentBase::GetMetaInfo.

FeldTypBeschreibung
NameFStringName der Daten
VersionFStringVersionszeichenkette der Daten
DescriptionFStringBeschreibung
SourceFStringQuelle
DataTypeFStringDatentyp
FileTypeFStringDateityp, entsprechend EFileType
OffsetTArray<float>Koordinatenversatz, 3 Elemente
ShiftTArray<float>Betrag der Verschiebung
Epsgint32EPSG-Nummer des Koordinatensystems, größer als 0 bedeutet, dass geografische Koordinateninformationen vorhanden sind
ScaleTArray<int>Skalierung, 3 Elemente
GUIDFStringEindeutiger Bezeichner der Daten
TotalLevelintGesamtanzahl der Levels
TotalSplatsintGesamtanzahl der Splats
SplatsTArray<int>Splat-Anzahl je Level

Hilfsmethoden:

bool IsValid() const;              // ob die Metadaten gültig sind
void Reset();
bool IsRTK() const;                // ob RTK-Geoinformationen vorhanden sind
FVector GetOffset() const;         // Versatz als FVector, gibt bei weniger als 3 Elementen einen Nullvektor mit einer Warnung zurück
FVector3f GetScale();              // zu beachten: nicht const, und prüft die Anzahl der Elemente nicht
EFileType GetFileType() const;     // Enum des Dateityps
float GetVersion() const;          // Version als float
uint32 GetLevel0SplatNum() const;  // Splat-Anzahl von Level 0, in Einheiten von 10.000

GetScale() und GetOffset() unterscheiden sich in ihrer Robustheit: GetOffset() prüft die Anzahl der Elemente und gibt bei weniger als 3 einen Nullvektor mit einer Warnung zurück, während GetScale() unmittelbar auf die ersten drei Elemente zugreift und über die Grenzen hinausläuft, wenn Scale weniger als 3 Elemente hat.

IsRTK() entscheidet anhand von Epsg > 0 plus einem Versatz ungleich null und betrachtet nur die Daten. Es ist nicht gleichwertig mit CanUseGeoPlace(), das zusätzlich erfordert, dass bEnableGeoPlace aktiviert und das Geo-Referenzierungssystem erzeugt ist.

Hinweise zur Verwendung:

  • Nach Abschluss des Ladens lesen; solange die Daten nicht bereit sind, sind die Felder alle Nullwerte.
  • TotalSplats ist die Gesamtmenge der Daten. ULCCComponentBase::GetSplatNumber() gibt genau dieses Feld zurück, die beiden sind daher derselbe Wert.
if (Component->CheckIfLoaded())
{
    const FMetaInfoBase Meta = Component->GetMetaInfo();

    UE_LOG(LogTemp, Log, TEXT("Name: %s"), *Meta.Name);
    UE_LOG(LogTemp, Log, TEXT("Levels: %d, total splats: %d"),
        Meta.TotalLevel, Meta.TotalSplats);
    UE_LOG(LogTemp, Log, TEXT("Level 0 splats: %u (ten thousand)"),
        Meta.GetLevel0SplatNum());
    UE_LOG(LogTemp, Log, TEXT("Has SH: %s"),
        Meta.GetFileType() == EFileType::Quality ? TEXT("yes") : TEXT("no"));

    if (Meta.IsRTK())
    {
        UE_LOG(LogTemp, Log, TEXT("EPSG: %d, offset: %s"),
            Meta.Epsg, *Meta.GetOffset().ToString());
    }
}

Blueprint als Text:

[Get Meta Info]
        Target = (LCC Component)
        │ Return Value ──┐
        ▼                │
[Break FMetaInfoBase] ◀──┘
        Name → [Print String]
        Total Splats → [Print String]
        Total Level → [Print String]

FLCCMetaInfo

Vollständige LCC1-Metadaten, erben von FMetaInfoBase.

Zusätzliches FeldTypBeschreibung
CellLengthXfloatGröße der Zelle entlang X
CellLengthYfloatGröße der Zelle entlang Y
AttributesTArray<FBoundingBoxInfoWithName>Bounding Box jedes Attributs, nach Namen indexiert
IndexDataSizeintGröße der Indexdaten
EncodingFStringKodierungsverfahren
BoundingBoxFBoundingBoxInfoGesamte Bounding Box

Die Bedingung von IsValid() ist strenger als in der Basisklasse: TotalLevel, TotalSplats, CellLengthX, CellLengthY und IndexDataSize müssen alle größer als 0 sein.

Methoden der Bounding Box (alle geben FBox zurück, nur C++):

FVector2f GetCellLength() const;
int32 GetXNum() const;                    // Anzahl der Zellen entlang X
int32 GetYNum() const;                    // Anzahl der Zellen entlang Y
FBox GetVisibleBoundingBox() const;       // sichtbare Bounding Box
FBox GetScaleBox() const;
FBox GetEnvironmentScaleBox() const;
FBox GetEnvironmentVisibleBox() const;
FBox GetShcoef() const;                   // Wertebereich der Kugelflächenfunktionen
FBox GetEnvShcoef() const;
FBox GetNormal() const;
FBox GetEnvNormal() const;
FBox GetColor() const;
FVector2f GetOpacity() const;

FLCC2MetaInfo

Vollständige LCC2-Metadaten, erben von FMetaInfoBase. Rückgabetyp von ULCC2Component::GetMetaInfo2.

Zusätzliches FeldTypBeschreibung
WorkPathFStringPfad des LCC2-Verzeichnisses
SplatTypeEDataSourceTypeFormat der Datenquelle, SOG / SPZ / PLY
SHBandsint32Höchstes Band der Kugelflächenfunktionen in diesem Baum, 0 bedeutet keines, Werte 1/2/3
EnvNameint32Index der Umgebungsdatei, -1 bedeutet keine
RootFTreeNodeWurzelknoten des Octree
FilesTArray<FString>Liste der Splat-Datendateien
MeshFilesTArray<FString>Liste der Mesh-Dateien
BVHFilesTArray<FString>Liste der BVH-Dateien

Die Bedingung von IsValid() ist, dass Files nicht leer ist.

Hilfsmethode:

FBox GetBounds() const;    // Bounding Box des Wurzelknotens, bereits in Zentimeter umgerechnet

Zu SHBands: Es entscheidet über den Stride der Slots der Kugelflächenfunktionen, jede Datenquelle innerhalb desselben Buffers der Kugelflächenfunktionen muss daher übereinstimmen. Ein Baum, der unterschiedliche Bandanzahlen mischt, nimmt die größte. Einzeldateiformate (.sog / .spz / .ply) lesen die genaue Bandanzahl aus dem Header des Decoders; LCC2 hat kein Konzept einer Bandanzahl je Datei, und FileType entscheidet darüber, wobei Portable keine Kugelflächenfunktionen und Quality 3 Bänder hat.

Ergebnis des Strahlentests

FLCCSplat

Treffer-Ergebnis eines Strahlentests. Genutzt von den Funktionen für Strahlentests von ULCCComponent.

FeldTypBeschreibung
LocationFVectorWeltkoordinaten des Trefferpunkts
NodeVectorFLCCVectorNode-Information des Trefferpunkts
FLCCSplat Hit;
if (LineTraceSingle(Start, End, Hit, false, 0.f, 0.f))
{
    // Position des Treffers
    const FVector HitPos = Hit.Location;
    // Detailstufe, die an dieser Stelle gerade geladen ist
    const int32 Level = Hit.NodeVector.Level;
}

Zugehörige Seite: Strahlentests von ULCCComponent

FLCCVector

Node-Koordinaten, die einen Node im Octree verorten.

FeldTypBeschreibung
Xint32X-Index des Nodes
Yint32Y-Index des Nodes
Levelint32Level, zu dem der Node gehört

Der parametrisierte Konstruktor und der Copy-Konstruktor klemmen die drei Felder auf nicht negative Werte, eine unmittelbare Zuweisung (das Schreiben der Felder nach dem Default-Konstruieren oder die Nutzung von operator=) klemmt jedoch nicht.

Hilfsmethoden:

FString ToString() const;     // Format ist "X:%i,Y:%i,Level:%i"
void Reset();
static double Dist2D(const FLCCVector& A, const FLCCVector& B);

Die Gleichheit vergleicht nur X, Y und Level, nicht die internen Kamerainformationen und weitere Laufzeitfelder.

Level sagt, ob die gerade sichtbaren Daten feiner oder gröber sind; ein kleinerer Wert ist feiner.

Bounding Box

FBoundingBoxInfo

Informationen der Bounding Box.

FeldTypBeschreibung
MinTArray<float>Koordinaten des Minimalpunkts
MaxTArray<float>Koordinaten des Maximalpunkts

FBoundingBoxInfoWithName

Benannte Bounding Box, genutzt von der Attributliste in den Metadaten.

FeldTypBeschreibung
NameFStringName des Attributs
BoundingBoxInfoFBoundingBoxInfoBounding Box

Die Gleichheit vergleicht nur Name.

SOG-Metadaten

Diese Gruppe von Structs beschreibt die Metadaten einer .sog-Datei und wird von den SOG-Auswertefunktionen von ULCCUtilLibrary ausgegeben.

FLCC2SogMeta

Haupt-Struct der SOG-Metadaten.

FeldTypBeschreibung
Versionint32Version des Formats
Countint32Splat-Anzahl
bAntialiasboolOb Antialiasing aktiviert ist
InstancesFLCC2SogInstancesListe der Instanzdateien
MeansFLCC2SogMeansPositionsdaten, mit Minimum, Maximum und Dateiliste
ScalesFLCC2SogScalesSkalierungsdaten, mit einem Codebook mit 256 Einträgen und Dateiliste
QuatsFLCC2SogQuatsDateiliste der Rotationsdaten
SemanticsFLCC2SogSemanticsDateiliste der semantischen Daten
Sh0FLCC2SogSh0Kugelflächenfunktionen des Bandes 0, mit einem Codebook mit 256 Einträgen und Dateiliste
ShNFLCC2SogShNKugelflächenfunktionen höherer Ordnung, mit Bandanzahl, Codebook, Anzahl und Dateiliste

Hilfsmethode:

bool HasShN() const;    // ob Kugelflächenfunktionen höherer Ordnung vorhanden sind, gleichbedeutend damit, dass ShN.Files nicht leer ist

Hinweise zur Verwendung:

  • Sie mit ParseSogMetaFromFile lesen, ohne die Render-Daten zu laden, zu sehr geringen Kosten.
  • Sie zeigt die Punktzahl und die Lage bei den Kugelflächenfunktionen bereits vor dem Laden, sodass die Qualitätskonfiguration im Vorhinein entschieden werden kann.
FLCC2SogMeta Meta;
if (ULCCUtilLibrary::ParseSogMetaFromFile(Path, Meta))
{
    UE_LOG(LogTemp, Log, TEXT("Version: %d, count: %d, high-order SH: %s"),
        Meta.Version, Meta.Count, Meta.HasShN() ? TEXT("yes") : TEXT("no"));
}

FLCC2SogShN

Daten der Kugelflächenfunktionen höherer Ordnung.

FeldTypBeschreibung
Bandsint32Bänder der Kugelflächenfunktionen
Countint32Anzahl
FilesTArray<FString>Dateiliste
CodebookTStaticArray<float, 256>Codebook der Quantisierung, für Blueprint nicht sichtbar

Hilfsmethode: bool HasShN() const.

FLCC2SogImageData

SOG-Bilddaten.

FeldTypBeschreibung
PixelDataTArray<uint8>Pixeldaten, Format RGBA, 4 Byte je Pixel
Widthint32Breite
Heightint32Höhe

Weitere Unter-Structs

Die folgenden Structs enthalten nur eine Dateiliste, einige zusätzlich ein Codebook der Quantisierung:

StructFelder
FLCC2SogInstancesFiles
FLCC2SogSemanticsFiles
FLCC2SogQuatsFiles
FLCC2SogMeansMins, Maxs, Files
FLCC2SogScalesCodebook (256 Einträge), Files
FLCC2SogSh0Codebook (256 Einträge), Files

Codebook ist ein TStaticArray<float, 256>, kein UPROPERTY, und in Blueprint nicht sichtbar.

Octree-Nodes

Diese Gruppe von Structs beschreibt den LCC2-Octree. Es sind Daten auf niedriger Ebene, die die reguläre Entwicklung nicht unmittelbar berühren muss.

FTreeNode

Octree-Node.

FeldTypBeschreibung
IdFStringBezeichner des Nodes
XMin / YMin / ZMindoubleMinimalpunkt der AABB
XMax / YMax / ZMaxdoubleMaximalpunkt der AABB
ChildNumint32Anzahl der Kindknoten
ChildrenTArray<FTreeNode>Array der Kindknoten, kein UPROPERTY
DataFTreeNodeDataDaten des Nodes

Hilfsmethode:

void ClearIterative();

Sie sammelt jeden Node in Breitensuche und räumt in umgekehrter Reihenfolge auf, was einen Stack-Überlauf durch rekursives Zerstören in einem sehr tiefen Baum vermeidet. Sie aufrufen, bevor ein von Hand gehaltenes FTreeNode den Gültigkeitsbereich verlässt.

FTreeNodeData

Container der Node-Daten, der mit booleschen Werten markiert, ob jede Art von Daten vorhanden ist.

FeldTypBeschreibung
bHas3DGSboolOb 3DGS-Daten vorhanden sind
_3DGSFTreeNodeData3DGS3DGS-Daten
bHasMeshboolOb Mesh-Daten vorhanden sind
MeshFTreeNodeDataMeshMesh-Daten
bHasBVHboolOb BVH-Daten vorhanden sind
BVHFTreeNodeDataBVHBVH-Daten

FTreeNodeData3DGS

FeldTypBeschreibung
Nameint32Index der Datei
Startint32Start-Offset
Countint32Anzahl

FTreeNodeDataMesh

FeldTypBeschreibung
Nameint32Index der Datei
Vertexint32Anzahl der Vertices
Faceint32Anzahl der Faces

FTreeNodeDataBVH

FeldTypBeschreibung
Nameint32Index der Datei

Siehe auch

  • ULCCComponentBase: Verwendung von FRenderInfo und FMetaInfoBase
  • ULCCComponent: Verwendung von FLCCSplat und FLCCRenderInfo
  • ULCCUtilLibrary: die Funktionen zum Auswerten der SOG-Metadaten
  • Enums: die in diesen Structs genutzten Enum-Typen
Zurück
Enums