ludus::content::geometry_format¶
Ludus Wiki · API overview · Browse API
Namespace
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
Related declarations¶
- ludus::content::geometry_format::SectionEntry
- ludus::content::geometry_format::PathSpanRecord
- ludus::content::geometry_format::JointRecord
- ludus::content::geometry_format::TrackKeyRecord
- ludus::content::geometry_format::PatchRecord
- ludus::content::geometry_format::AdjacencyRecord
- ludus::content::geometry_format::SourceIdentityRecord
Enumerations¶
GeometryKindTag¶
enum class GeometryKindTag : uint32
Related types: uint32
Path¶
Path = 0
Track¶
Track = 1
Surface¶
Surface = 2
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
SpanKindTag¶
enum class SpanKindTag : uint32
Related types: uint32
Line¶
Line = 0
Cubic¶
Cubic = 1
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
TrackInterpolationTag¶
enum class TrackInterpolationTag : uint32
Related types: uint32
Step¶
Step = 0
Linear¶
Linear = 1
Hermite¶
Hermite = 2
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
PatchSideTag¶
enum class PatchSideTag : uint32
Related types: uint32
U0¶
U0 = 0
U1¶
U1 = 1
V0¶
V0 = 2
V1¶
V1 = 3
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
PrecisionProfileTag¶
enum class PrecisionProfileTag : uint32
Related types: uint32
Strict¶
Strict = 0
Visual¶
Visual = 1
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
GeometryFlag¶
enum class GeometryFlag : uint32
Related types: uint32
IsClosed¶
IsClosed = 1U << 0
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
SectionId¶
enum class SectionId : uint32
Related types: uint32
PathSpans¶
PathSpans = 0
PathJoints¶
PathJoints = 1
TrackKeys¶
TrackKeys = 2
SurfacePatches¶
SurfacePatches = 3
SurfaceAdjacency¶
SurfaceAdjacency = 4
SourceIdentities¶
SourceIdentities = 5
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
Constants and variables¶
MAGIC¶
constexpr std::string_view ludus::content::geometry_format::MAGIC {"LUGEO01\0", 8}
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
FORMAT_VERSION_1¶
constexpr uint32 ludus::content::geometry_format::FORMAT_VERSION_1 = 1
Related types: uint32
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
FORMAT_VERSION¶
constexpr uint32 ludus::content::geometry_format::FORMAT_VERSION = FORMAT_VERSION_1
Related types: uint32
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
COOKER_VERSION¶
constexpr uint32 ludus::content::geometry_format::COOKER_VERSION = 1
Related types: uint32
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
DIGEST_BYTES¶
constexpr usize ludus::content::geometry_format::DIGEST_BYTES = 32
Related types: usize
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
SPAN_CONTROL_COUNT¶
constexpr usize ludus::content::geometry_format::SPAN_CONTROL_COUNT = 4
Related types: usize
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
CONTROL_COMPONENTS¶
constexpr usize ludus::content::geometry_format::CONTROL_COMPONENTS = 3
Related types: usize
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
PATCH_CONTROL_ORDER¶
constexpr usize ludus::content::geometry_format::PATCH_CONTROL_ORDER = 4
Related types: usize
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
JOINT_FLAG_COUNT¶
constexpr usize ludus::content::geometry_format::JOINT_FLAG_COUNT = 4
Related types: usize
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
TOLERANCE_FIELD_COUNT¶
constexpr usize ludus::content::geometry_format::TOLERANCE_FIELD_COUNT = 12
Related types: usize
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
SECTION_ALIGNMENT¶
constexpr usize ludus::content::geometry_format::SECTION_ALIGNMENT = 4
Related types: usize
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
JOINT_RESERVED_BYTES¶
constexpr usize ludus::content::geometry_format::JOINT_RESERVED_BYTES = 4
Related types: usize
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
HEADER_DIGEST_COUNT¶
constexpr usize ludus::content::geometry_format::HEADER_DIGEST_COUNT = 3
Related types: usize
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
SECTION_ENTRY_BYTES¶
constexpr usize ludus::content::geometry_format::SECTION_ENTRY_BYTES = 4 * sizeof(uint32)
Related types: usize
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
PATH_SPAN_RECORD_BYTES¶
constexpr usize ludus::content::geometry_format::PATH_SPAN_RECORD_BYTES =
2 * sizeof(uint32) + sizeof(float64) + SPAN_CONTROL_COUNT * CONTROL_COMPONENTS * sizeof(float32)
Related types: usize
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
JOINT_RECORD_BYTES¶
constexpr usize ludus::content::geometry_format::JOINT_RECORD_BYTES =
JOINT_FLAG_COUNT * sizeof(float64) + JOINT_FLAG_COUNT * sizeof(uint8) + JOINT_RESERVED_BYTES * sizeof(uint8)
Related types: usize
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
TRACK_KEY_RECORD_BYTES¶
constexpr usize ludus::content::geometry_format::TRACK_KEY_RECORD_BYTES = sizeof(float64) + 3 * sizeof(float32) + sizeof(uint32)
Related types: usize
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
PATCH_RECORD_BYTES¶
constexpr usize ludus::content::geometry_format::PATCH_RECORD_BYTES =
sizeof(uint64) + PATCH_CONTROL_ORDER * PATCH_CONTROL_ORDER * CONTROL_COMPONENTS * sizeof(float32)
Related types: usize
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
ADJACENCY_RECORD_BYTES¶
constexpr usize ludus::content::geometry_format::ADJACENCY_RECORD_BYTES = 5 * sizeof(uint32)
Related types: usize
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
SOURCE_IDENTITY_RECORD_BYTES¶
constexpr usize ludus::content::geometry_format::SOURCE_IDENTITY_RECORD_BYTES = sizeof(uint64) + 2 * sizeof(uint32)
Related types: usize
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
HEADER_UINT32_FIELD_COUNT¶
constexpr usize ludus::content::geometry_format::HEADER_UINT32_FIELD_COUNT = 10
Related types: usize
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
HEADER_FIXED_BYTES¶
constexpr usize ludus::content::geometry_format::HEADER_FIXED_BYTES = MAGIC.size() + HEADER_UINT32_FIELD_COUNT * sizeof(uint32) +
sizeof(uint32) + sizeof(uint64) +
(CONTROL_COMPONENTS + 3 + TOLERANCE_FIELD_COUNT) * sizeof(float64) +
sizeof(uint32)
Related types: usize
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
HEADER_DIGEST_BYTES¶
constexpr usize ludus::content::geometry_format::HEADER_DIGEST_BYTES = HEADER_DIGEST_COUNT * DIGEST_BYTES
Related types: usize
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
HEADER_MIN_BYTES¶
constexpr usize ludus::content::geometry_format::HEADER_MIN_BYTES = HEADER_FIXED_BYTES + HEADER_DIGEST_BYTES
Related types: usize
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
MAX_BLOB_BYTES¶
constexpr usize ludus::content::geometry_format::MAX_BLOB_BYTES = usize{16} * 1024 * 1024
Related types: usize
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/limits.h
MAX_SOURCE_BYTES¶
constexpr usize ludus::content::geometry_format::MAX_SOURCE_BYTES = usize{8} * 1024 * 1024
Related types: usize
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/limits.h
MAX_SPANS¶
constexpr uint32 ludus::content::geometry_format::MAX_SPANS = 65536
Related types: uint32
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/limits.h
MAX_JOINTS¶
constexpr uint32 ludus::content::geometry_format::MAX_JOINTS = 65536
Related types: uint32
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/limits.h
MAX_KEYS¶
constexpr uint32 ludus::content::geometry_format::MAX_KEYS = 65536
Related types: uint32
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/limits.h
MAX_PATCHES¶
constexpr uint32 ludus::content::geometry_format::MAX_PATCHES = 16384
Related types: uint32
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/limits.h
MAX_ADJACENCY¶
constexpr uint32 ludus::content::geometry_format::MAX_ADJACENCY = 65536
Related types: uint32
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/limits.h
MAX_SOURCE_IDENTITIES¶
constexpr uint32 ludus::content::geometry_format::MAX_SOURCE_IDENTITIES = 65536
Related types: uint32
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/limits.h
MAX_SECTIONS¶
constexpr uint32 ludus::content::geometry_format::MAX_SECTIONS = 8
Related types: uint32
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/limits.h
Functions¶
GetHeaderBytes¶
constexpr usize ludus::content::geometry_format::GetHeaderBytes(uint32 sectionCount) noexcept
| Parameter | Description |
|---|---|
sectionCount |
Number of SectionEntry records in the directory.
|
Returns
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
IsSupportedVersion¶
constexpr bool ludus::content::geometry_format::IsSupportedVersion(uint32 version) noexcept
Related types: uint32
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
IsKnownKind¶
constexpr bool ludus::content::geometry_format::IsKnownKind(uint32 tag) noexcept
Related types: uint32
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
IsKnownSpanKind¶
constexpr bool ludus::content::geometry_format::IsKnownSpanKind(uint32 tag) noexcept
Related types: uint32
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
IsKnownTrackInterpolation¶
constexpr bool ludus::content::geometry_format::IsKnownTrackInterpolation(uint32 tag) noexcept
Related types: uint32
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
IsKnownPatchSide¶
constexpr bool ludus::content::geometry_format::IsKnownPatchSide(uint32 tag) noexcept
Related types: uint32
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
IsKnownPrecision¶
constexpr bool ludus::content::geometry_format::IsKnownPrecision(uint32 tag) noexcept
Related types: uint32
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h
GetSectionElementBytes¶
constexpr usize ludus::content::geometry_format::GetSectionElementBytes(SectionId id) noexcept
Related types: SectionId · usize
Declared in modules/content/geometry_format/include/ludus/content/geometry_format/geometry_format.h