Skip to content

ludus::geometry::content::GeometrySource

Ludus Wiki · API overview · Browse API

Class

Validated, owned geometry source document. Move-only.
Built by ParseGeometrySource, consumed by CookGeometry and WriteGeometrySource. Exactly the mode-specific arrays for Mode are populated. Author IDs are stable across edits; array indices are revision-local.

Declared in modules/geometry/content/include/ludus/geometry/content/geometry_content.h

#include <ludus/geometry/content/geometry_content.h>
class ludus::geometry::content::GeometrySource final

Fields

Mode

GeometrySourceMode ludus::geometry::content::GeometrySource::Mode = GeometrySourceMode::CubicPath
Which arrays below are populated.

Related types: GeometrySourceMode

Declared in modules/geometry/content/include/ludus/geometry/content/geometry_content.h

Revision

uint64 ludus::geometry::content::GeometrySource::Revision = 0
Owner-assigned snapshot revision.

Related types: uint64

Declared in modules/geometry/content/include/ludus/geometry/content/geometry_content.h

Origin

math::Vector3d ludus::geometry::content::GeometrySource::Origin {}
Float64 chunk origin.

Related types: math::Vector3d

Declared in modules/geometry/content/include/ludus/geometry/content/geometry_content.h

AssetScale

float64 ludus::geometry::content::GeometrySource::AssetScale = 0.0
Declared asset scale; finite and >= 0.

Related types: float64

Declared in modules/geometry/content/include/ludus/geometry/content/geometry_content.h

IsClosed

bool ludus::geometry::content::GeometrySource::IsClosed = false
Closed path or surface boundary.

Declared in modules/geometry/content/include/ludus/geometry/content/geometry_content.h

Tolerance

geom::ToleranceProfile ludus::geometry::content::GeometrySource::Tolerance {}
Validated as a whole.

Declared in modules/geometry/content/include/ludus/geometry/content/geometry_content.h

Limits

geom::WorkLimits ludus::geometry::content::GeometrySource::Limits {}
Preparation work limits.

Declared in modules/geometry/content/include/ludus/geometry/content/geometry_content.h

Precision

geom::PrecisionProfile ludus::geometry::content::GeometrySource::Precision = geom::PrecisionProfile::Visual
Strict or Visual.

Declared in modules/geometry/content/include/ludus/geometry/content/geometry_content.h

Spans

core::Array<AuthoredSpan> ludus::geometry::content::GeometrySource::Spans
CubicPath.

Related types: core::Array · AuthoredSpan

Declared in modules/geometry/content/include/ludus/geometry/content/geometry_content.h

Waypoints

core::Array<AuthoredWaypoint> ludus::geometry::content::GeometrySource::Waypoints
HermitePath / CatmullRomPath.

Related types: core::Array · AuthoredWaypoint

Declared in modules/geometry/content/include/ludus/geometry/content/geometry_content.h

Keys

core::Array<AuthoredKey> ludus::geometry::content::GeometrySource::Keys
ScalarTrack.

Related types: core::Array · AuthoredKey

Declared in modules/geometry/content/include/ludus/geometry/content/geometry_content.h

Patches

core::Array<AuthoredPatch> ludus::geometry::content::GeometrySource::Patches
PatchSurface.

Related types: core::Array · AuthoredPatch

Declared in modules/geometry/content/include/ludus/geometry/content/geometry_content.h

Adjacency

core::Array<geom::SurfaceAdjacencySource> ludus::geometry::content::GeometrySource::Adjacency
PatchSurface joins.

Related types: core::Array

Declared in modules/geometry/content/include/ludus/geometry/content/geometry_content.h

Methods

GeometrySource

ludus::geometry::content::GeometrySource::GeometrySource() noexcept=default
Construct an empty source with no populated arrays.

Declared in modules/geometry/content/include/ludus/geometry/content/geometry_content.h

GeometrySource

ludus::geometry::content::GeometrySource::GeometrySource(GeometrySource &&) noexcept=default
Transfer the owned arrays; the source becomes empty.

Declared in modules/geometry/content/include/ludus/geometry/content/geometry_content.h

operator=

GeometrySource & ludus::geometry::content::GeometrySource::operator=(GeometrySource &&) noexcept=default
Release this document's arrays and take the other's; the source becomes empty.

Related types: GeometrySource

Declared in modules/geometry/content/include/ludus/geometry/content/geometry_content.h

GeometrySource

ludus::geometry::content::GeometrySource::GeometrySource(const GeometrySource &)=delete
Copying is disabled: one owner holds the source arrays.

Declared in modules/geometry/content/include/ludus/geometry/content/geometry_content.h

operator=

GeometrySource & ludus::geometry::content::GeometrySource::operator=(const GeometrySource &)=delete
Copy assignment is disabled: one owner holds the source arrays.

Related types: GeometrySource

Declared in modules/geometry/content/include/ludus/geometry/content/geometry_content.h

~GeometrySource

ludus::geometry::content::GeometrySource::~GeometrySource()=default
Release the owned source arrays.

Declared in modules/geometry/content/include/ludus/geometry/content/geometry_content.h