ludus::foundation::geometry¶
Ludus Wiki · API overview · Browse API
Namespace
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/convex_polygon.hpp
Related declarations¶
- ludus::foundation::geometry::ConvexPolygon
- ludus::foundation::geometry::ConvexPolygonPartition
- ludus::foundation::geometry::DistanceBound
- ludus::foundation::geometry::DistanceLeaf
- ludus::foundation::geometry::DistanceMapView
- ludus::foundation::geometry::DistancePreparation
- ludus::foundation::geometry::DistanceQuery
- ludus::foundation::geometry::DistanceResolution
- ludus::foundation::geometry::FramePreparation
- ludus::foundation::geometry::FrameRun
- ludus::foundation::geometry::FrameSample
- ludus::foundation::geometry::FramesView
- ludus::foundation::geometry::GeometryDiagnostic
- ludus::foundation::geometry::HermiteWaypoint
- ludus::foundation::geometry::JointContinuity
- ludus::foundation::geometry::PathDistance
- ludus::foundation::geometry::PathPreparation
- ludus::foundation::geometry::PathSource
- ludus::foundation::geometry::PathSpanSource
- ludus::foundation::geometry::PathView
- ludus::foundation::geometry::PointNeighbor
- ludus::foundation::geometry::PointSearchNode
- ludus::foundation::geometry::PointSearchTree
- ludus::foundation::geometry::PreparedDistanceMap
- ludus::foundation::geometry::PreparedFrames
- ludus::foundation::geometry::PreparedPatch
- ludus::foundation::geometry::PreparedPath
- ludus::foundation::geometry::PreparedSpan
- ludus::foundation::geometry::PreparedSurface
- ludus::foundation::geometry::PreparedTrack
- ludus::foundation::geometry::PreparedTrackSpan
- ludus::foundation::geometry::ProjectionCandidate
- ludus::foundation::geometry::ProjectionInterval
- ludus::foundation::geometry::ProjectionQuery
- ludus::foundation::geometry::ProjectionResult
- ludus::foundation::geometry::ProjectionScratch
- ludus::foundation::geometry::SegmentParameter
- ludus::foundation::geometry::SurfaceAdjacencySource
- ludus::foundation::geometry::SurfaceCorner
- ludus::foundation::geometry::SurfaceCornerId
- ludus::foundation::geometry::SurfaceCornerIncidence
- ludus::foundation::geometry::SurfaceEdge
- ludus::foundation::geometry::SurfaceEdgeId
- ludus::foundation::geometry::SurfaceEdgeIncidence
- ludus::foundation::geometry::SurfaceMesh
- ludus::foundation::geometry::SurfaceMeshLimits
- ludus::foundation::geometry::SurfaceMeshPatch
- ludus::foundation::geometry::SurfaceMeshPosition
- ludus::foundation::geometry::SurfaceMeshProfile
- ludus::foundation::geometry::SurfaceMeshReport
- ludus::foundation::geometry::SurfaceMeshVertex
- ludus::foundation::geometry::SurfaceMeshView
- ludus::foundation::geometry::SurfaceParameter
- ludus::foundation::geometry::SurfacePatchSource
- ludus::foundation::geometry::SurfacePreparation
- ludus::foundation::geometry::SurfaceSource
- ludus::foundation::geometry::SurfaceView
- ludus::foundation::geometry::SweepMeshPlan
- ludus::foundation::geometry::SweepMeshPlanView
- ludus::foundation::geometry::SweepMeshReport
- ludus::foundation::geometry::SweepProfileKey
- ludus::foundation::geometry::SweepRequest
- ludus::foundation::geometry::SweepRing
- ludus::foundation::geometry::SweepVertex
- ludus::foundation::geometry::ToleranceProfile
- ludus::foundation::geometry::TrackKey
- ludus::foundation::geometry::TrackSample
- ludus::foundation::geometry::TrackTime
- ludus::foundation::geometry::TrackView
- ludus::foundation::geometry::TransportedFrame
- ludus::foundation::geometry::WorkLimits
Enumerations¶
FrameSeedPolicy¶
enum class FrameSeedPolicy : uint8
Related types: uint8
RejectDegenerateSeed¶
RejectDegenerateSeed
UseFallbackAxis¶
UseFallbackAxis
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/frame.hpp
FrameSingularityPolicy¶
enum class FrameSingularityPolicy : uint8
Related types: uint8
Reject¶
Reject
SplitRuns¶
SplitRuns
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/frame.hpp
FrameCornerPolicy¶
enum class FrameCornerPolicy : uint8
Related types: uint8
Reject¶
Reject
RotateMinimally¶
RotateMinimally
SplitRuns¶
SplitRuns
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/frame.hpp
ClosedFramePolicy¶
enum class ClosedFramePolicy : uint8
Related types: uint8
DistributeTwist¶
DistributeTwist
PreserveHolonomy¶
PreserveHolonomy
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/frame.hpp
SpanKind¶
enum class SpanKind : uint8
Related types: uint8
Line¶
Line
Cubic¶
Cubic
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/path.hpp
GeometryStatus¶
enum class GeometryStatus : uint8
Related types: uint8
Success¶
Success
NonFiniteInput¶
NonFiniteInput
InvalidArgument¶
InvalidArgument
InvalidDomain¶
InvalidDomain
InvalidTopology¶
InvalidTopology
MissingCache¶
MissingCache
StaleRevision¶
StaleRevision
Degenerate¶
Degenerate
DegenerateFrame¶
DegenerateFrame
IllConditioned¶
IllConditioned
OutOfRange¶
OutOfRange
UnsupportedRepresentation¶
UnsupportedRepresentation
UnsupportedPrecision¶
UnsupportedPrecision
BudgetExceeded¶
BudgetExceeded
CapacityExceeded¶
CapacityExceeded
OutOfMemory¶
OutOfMemory
Cancelled¶
Cancelled
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/status.hpp
GuaranteeClass¶
enum class GuaranteeClass : uint8
Related types: uint8
Exact¶
Exact
Rounded¶
Rounded
Certified¶
Certified
Estimated¶
Estimated
Approximate¶
Approximate
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/status.hpp
PrecisionProfile¶
enum class PrecisionProfile : uint8
Related types: uint8
Strict¶
Strict
Visual¶
Visual
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/status.hpp
DomainKind¶
enum class DomainKind : uint8
Related types: uint8
SegmentParameter¶
SegmentParameter
SurfaceParameter¶
SurfaceParameter
PathDistance¶
PathDistance
TrackTime¶
TrackTime
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/status.hpp
SpanSide¶
enum class SpanSide : uint8
Related types: uint8
Outgoing¶
Outgoing
Incoming¶
Incoming
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/status.hpp
BoundaryPolicy¶
enum class BoundaryPolicy : uint8
Related types: uint8
Reject¶
Reject
Clamp¶
Clamp
Hold¶
Hold
Loop¶
Loop
PingPong¶
PingPong
Wrap¶
Wrap
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/status.hpp
PatchSide¶
enum class PatchSide : uint8
Related types: uint8
U0¶
U0
U1¶
U1
V0¶
V0
V1¶
V1
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/surface.hpp
PatchCorner¶
enum class PatchCorner : uint8
Related types: uint8
U0V0¶
U0V0
U1V0¶
U1V0
U0V1¶
U0V1
U1V1¶
U1V1
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/surface.hpp
SweepSection¶
enum class SweepSection : uint8
Related types: uint8
Ribbon¶
Ribbon
Tube¶
Tube
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/sweep.hpp
SweepCaps¶
enum class SweepCaps : uint8
Related types: uint8
None¶
None
Flat¶
Flat
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/sweep.hpp
SweepWinding¶
enum class SweepWinding : uint8
Related types: uint8
CounterClockwise¶
CounterClockwise
Clockwise¶
Clockwise
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/sweep.hpp
SurfaceDegeneracyPolicy¶
enum class SurfaceDegeneracyPolicy : uint8
Related types: uint8
Reject¶
Reject
Report¶
Report
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/tessellation.hpp
SurfaceSampleKind¶
enum class SurfaceSampleKind : uint8
Related types: uint8
Corner¶
Corner
Edge¶
Edge
Interior¶
Interior
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/tessellation.hpp
TrackInterpolation¶
enum class TrackInterpolation : uint8
Related types: uint8
Step¶
Step
Linear¶
Linear
Hermite¶
Hermite
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/track.hpp
Constants and variables¶
MAX_CONVEX_POLYGON_VERTICES¶
constexpr usize ludus::foundation::geometry::MAX_CONVEX_POLYGON_VERTICES = math::MAX_PROJECTED_POLYGON_INPUT_VERTICES
Related types: usize
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/convex_polygon.hpp
SPAN_CONTROL_COUNT¶
constexpr usize ludus::foundation::geometry::SPAN_CONTROL_COUNT = 4
Related types: usize
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/path.hpp
MAX_POINT_NEIGHBORS¶
constexpr usize ludus::foundation::geometry::MAX_POINT_NEIGHBORS = LUDUS_MAX_POINT_NEIGHBORS
Related types: usize
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/point_search.hpp
POINT_SEARCH_STACK_SIZE¶
constexpr usize ludus::foundation::geometry::POINT_SEARCH_STACK_SIZE = LUDUS_POINT_SEARCH_STACK_SIZE
Related types: usize
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/point_search.hpp
ABSENT_POINT_NODE¶
constexpr uint32 ludus::foundation::geometry::ABSENT_POINT_NODE = LUDUS_ABSENT_POINT_NODE
Related types: uint32
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/point_search.hpp
MAX_POINT_SEARCH_COORDINATE¶
constexpr float32 ludus::foundation::geometry::MAX_POINT_SEARCH_COORDINATE = LUDUS_MAX_POINT_SEARCH_COORDINATE
Related types: float32
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/point_search.hpp
PATCH_CONTROL_ORDER¶
constexpr usize ludus::foundation::geometry::PATCH_CONTROL_ORDER = 4
Related types: usize
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/surface.hpp
PATCH_SIDE_COUNT¶
constexpr usize ludus::foundation::geometry::PATCH_SIDE_COUNT = 4
Related types: usize
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/surface.hpp
PATCH_CORNER_COUNT¶
constexpr usize ludus::foundation::geometry::PATCH_CORNER_COUNT = 4
Related types: usize
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/surface.hpp
MAX_EDGE_INCIDENCES¶
constexpr usize ludus::foundation::geometry::MAX_EDGE_INCIDENCES = 2
Related types: usize
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/surface.hpp
EDGE_CORNER_COUNT¶
constexpr usize ludus::foundation::geometry::EDGE_CORNER_COUNT = 2
Related types: usize
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/surface.hpp
MAX_SURFACE_MESH_LEVEL¶
constexpr usize ludus::foundation::geometry::MAX_SURFACE_MESH_LEVEL = 16
Related types: usize
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/tessellation.hpp
SURFACE_MESH_TRIANGLE_INDEX_COUNT¶
constexpr usize ludus::foundation::geometry::SURFACE_MESH_TRIANGLE_INDEX_COUNT = 3
Related types: usize
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/tessellation.hpp
Functions¶
TryPartitionConvexPolygons¶
GeometryStatus ludus::foundation::geometry::TryPartitionConvexPolygons(BorrowedView< const math::Vector3 > positionsMesh, BorrowedView< const uint32 > indices, ConvexPolygonPartition &outPartition) noexcept
| Parameter | Description |
|---|---|
positionsMesh |
Finite vertex positions in one Cartesian space; borrowed for this call.
|
indices |
Triangle list; each index must name a position.
|
outPartition |
Written only on success.
|
Returns
Related types: BorrowedView · uint32 · GeometryStatus · ConvexPolygonPartition · math::Vector3
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/convex_polygon.hpp
TryBuildDistanceMap¶
GeometryStatus ludus::foundation::geometry::TryBuildDistanceMap(const PathView &path, const DistancePreparation &preparation, PreparedDistanceMap &outMap, GeometryDiagnostic *outDiagnosticOrNull)
| Parameter | Description |
|---|---|
path |
Borrowed prepared path; its Revision is recorded in the map.
|
preparation |
Precision profile and work limits.
|
outMap |
Replaced by the new map only on Success.
|
outDiagnosticOrNull |
Optional; on BudgetExceeded it receives the achieved Certified gap.
|
Returns
Related types: PreparedDistanceMap · GeometryStatus · DistancePreparation · GeometryDiagnostic · PathView
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/distance.hpp
TryBoundDistance¶
GeometryStatus ludus::foundation::geometry::TryBoundDistance(const PathView &path, const DistanceMapView &map, SegmentParameter parameter, DistanceBound &outBound) noexcept
Returns
Related types: GeometryStatus · DistanceBound · DistanceMapView · PathView · SegmentParameter
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/distance.hpp
TryResolveDistance¶
GeometryStatus ludus::foundation::geometry::TryResolveDistance(const PathView &path, const DistanceMapView &map, const DistanceQuery &query, DistanceResolution &outResolution) noexcept
Returns
Related types: GeometryStatus · DistanceMapView · DistanceQuery · DistanceResolution · PathView
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/distance.hpp
TryBuildFrames¶
GeometryStatus ludus::foundation::geometry::TryBuildFrames(const PathView &path, const DistanceMapView &map, const FramePreparation &preparation, PreparedFrames &outFrames, GeometryDiagnostic *outDiagnosticOrNull)
| Parameter | Description |
|---|---|
path |
Borrowed prepared path.
|
map |
Distance map of the same path revision; provides sample distances and the twist distribution.
|
preparation |
Seed, policies and limits.
|
outFrames |
Replaced by the new cache only on Success.
|
outDiagnosticOrNull |
Optional; receives the failure, its span and parameter range.
|
Returns
Related types: PreparedFrames · GeometryStatus · DistanceMapView · FramePreparation · GeometryDiagnostic · PathView
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/frame.hpp
TryEvaluateFrame¶
GeometryStatus ludus::foundation::geometry::TryEvaluateFrame(const PathView &path, const FramesView &frames, SegmentParameter parameter, float64 rollRadians, TransportedFrame &outFrame) noexcept
| Parameter | Description |
|---|---|
path |
Borrowed path the frames were built from.
|
frames |
Borrowed frame cache.
|
parameter |
Span index and u in [0,1]; u = 1 selects the incoming side of a joint.
|
rollRadians |
Finite authored roll.
|
outFrame |
Written only on Success.
|
Returns
Related types: float64 · GeometryStatus · FramesView · PathView · SegmentParameter · TransportedFrame
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/frame.hpp
TryPreparePath¶
GeometryStatus ludus::foundation::geometry::TryPreparePath(const PathSource &source, const PathPreparation &preparation, PreparedPath &outPath, GeometryDiagnostic *outDiagnosticOrNull)
| Parameter | Description |
|---|---|
source |
Source spans and origin, borrowed for the call only.
|
preparation |
Tolerance profile and limits; the profile is copied into the path.
|
outPath |
Replaced by the new owner only on Success.
|
outDiagnosticOrNull |
Optional; receives the first failure's details.
|
Returns
Related types: PreparedPath · GeometryStatus · GeometryDiagnostic · PathPreparation · PathSource
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/path.hpp
TryEvaluatePath¶
GeometryStatus ludus::foundation::geometry::TryEvaluatePath(const PathView &path, SegmentParameter parameter, math::Vector3 &outPosition) noexcept
Returns
Related types: GeometryStatus · PathView · SegmentParameter · math::Vector3
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/path.hpp
TryEvaluatePath¶
GeometryStatus ludus::foundation::geometry::TryEvaluatePath(const PathView &path, SegmentParameter parameter, math::CubicSample3 &outSample) noexcept
Related types: GeometryStatus · PathView · SegmentParameter · math::CubicSample3
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/path.hpp
TryEvaluatePathTangent¶
GeometryStatus ludus::foundation::geometry::TryEvaluatePathTangent(const PathView &path, SegmentParameter parameter, float64 minimumSpeed, math::Vector3 &outTangent) noexcept
| Parameter | Description |
|---|---|
path |
Borrowed prepared path.
|
parameter |
Span index and u in [0,1].
|
outTangent |
Unit direction written only on Success.
|
minimumSpeed |
Asset units per unit u; finite and >= 0. The direction is undefined at or below it.
|
Returns
Related types: float64 · GeometryStatus · PathView · SegmentParameter · math::Vector3
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/path.hpp
TryGetSpanControlBounds¶
GeometryStatus ludus::foundation::geometry::TryGetSpanControlBounds(const PathView &path, usize spanIndex, math::Aabb3 &outBounds) noexcept
Returns
Related types: usize · GeometryStatus · PathView · math::Aabb3
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/path.hpp
TryConvertHermite¶
GeometryStatus ludus::foundation::geometry::TryConvertHermite(BorrowedView< const HermiteWaypoint > waypoints, bool isClosed, BorrowedView< PathSpanSource > outSpans, usize &outSpanCount) noexcept
| Parameter | Description |
|---|---|
waypoints |
Source waypoints, borrowed for the call only.
|
isClosed |
Whether the last waypoint connects back to the first.
|
outSpans |
Caller-owned range; capacity is checked before anything is written.
|
outSpanCount |
Number of spans written, set only on Success.
|
Returns
Related types: BorrowedView · usize · GeometryStatus · HermiteWaypoint · PathSpanSource
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/path.hpp
TryConvertCentripetalCatmullRom¶
GeometryStatus ludus::foundation::geometry::TryConvertCentripetalCatmullRom(BorrowedView< const math::Vector3d > waypoints, bool isClosed, float64 coincidenceDistance, BorrowedView< PathSpanSource > outSpans, usize &outSpanCount) noexcept
| Parameter | Description |
|---|---|
waypoints |
Source waypoints in asset units, borrowed for the call only.
|
isClosed |
Whether the path wraps from the last waypoint to the first.
|
outSpans |
Caller-owned range; capacity is checked before anything is written.
|
outSpanCount |
Number of spans written, set only on Success.
|
coincidenceDistance |
Asset units; finite and > 0. Consecutive waypoints (including the closing pair) at or below this distance are rejected.
|
Returns
Related types: BorrowedView · float64 · usize · GeometryStatus · PathSpanSource · math::Vector3d
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/path.hpp
ComputeProjectionScratchCapacity¶
GeometryStatus ludus::foundation::geometry::ComputeProjectionScratchCapacity(const PathView &path, usize maxIterations, usize &outCapacity) noexcept
Returns
Related types: usize · GeometryStatus · PathView
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/query.hpp
TryProjectPoint¶
GeometryStatus ludus::foundation::geometry::TryProjectPoint(const PathView &path, const ProjectionQuery &query, ProjectionScratch &inoutScratch, ProjectionResult &outResult) noexcept
| Parameter | Description |
|---|---|
path |
Borrowed prepared path.
|
query |
Point and iteration limit.
|
inoutScratch |
Reserved storage of at least ComputeProjectionScratchCapacity entries; contents are scratch.
|
outResult |
Written only on Success, with Guarantee Certified and IsGapMet true.
|
Returns
Related types: ProjectionScratch · GeometryStatus · PathView · ProjectionQuery · ProjectionResult
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/query.hpp
ProjectPointApproximate¶
GeometryStatus ludus::foundation::geometry::ProjectPointApproximate(const PathView &path, const ProjectionQuery &query, ProjectionScratch &inoutScratch, ProjectionResult &outResult) noexcept
Returns
Related types: ProjectionScratch · GeometryStatus · PathView · ProjectionQuery · ProjectionResult
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/query.hpp
IsSuccess¶
constexpr bool ludus::foundation::geometry::IsSuccess(GeometryStatus status) noexcept
Related types: GeometryStatus
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/status.hpp
GetStatusName¶
const char * ludus::foundation::geometry::GetStatusName(GeometryStatus status) noexcept
Returns
Related types: GeometryStatus
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/status.hpp
GetGuaranteeClassName¶
const char * ludus::foundation::geometry::GetGuaranteeClassName(GuaranteeClass guarantee) noexcept
Related types: GuaranteeClass
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/status.hpp
IsStrictGuarantee¶
constexpr bool ludus::foundation::geometry::IsStrictGuarantee(GuaranteeClass guarantee) noexcept
Related types: GuaranteeClass
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/status.hpp
TryValidateToleranceProfile¶
GeometryStatus ludus::foundation::geometry::TryValidateToleranceProfile(const ToleranceProfile &profile) noexcept
Returns
Related types: GeometryStatus · ToleranceProfile
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/status.hpp
ComputePositionFloor¶
float64 ludus::foundation::geometry::ComputePositionFloor(float64 maxAbsComponent) noexcept
Precondition
Related types: float64
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/status.hpp
TryPrepareSurface¶
GeometryStatus ludus::foundation::geometry::TryPrepareSurface(const SurfaceSource &source, const SurfacePreparation &preparation, PreparedSurface &outSurface, GeometryDiagnostic *outDiagnosticOrNull)
| Parameter | Description |
|---|---|
source |
Source patches, adjacency and origin, borrowed for the call only.
|
preparation |
Tolerance profile and limits; the profile is copied into the surface.
|
outSurface |
Replaced by the new owner only on Success.
|
outDiagnosticOrNull |
Optional; receives the first failure's details. SourceElement is the patch index, or the adjacency index for "Adjacency" properties.
|
Returns
Related types: PreparedSurface · GeometryStatus · GeometryDiagnostic · SurfacePreparation · SurfaceSource
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/surface.hpp
TryEvaluateSurface¶
GeometryStatus ludus::foundation::geometry::TryEvaluateSurface(const SurfaceView &surface, SurfaceParameter parameter, math::Vector3 &outPosition) noexcept
Returns
Related types: GeometryStatus · SurfaceParameter · SurfaceView · math::Vector3
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/surface.hpp
TryEvaluateSurface¶
GeometryStatus ludus::foundation::geometry::TryEvaluateSurface(const SurfaceView &surface, SurfaceParameter parameter, math::PatchSample &outSample) noexcept
Related types: GeometryStatus · SurfaceParameter · SurfaceView · math::PatchSample
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/surface.hpp
TryEvaluateSurfaceNormal¶
GeometryStatus ludus::foundation::geometry::TryEvaluateSurfaceNormal(const SurfaceView &surface, SurfaceParameter parameter, math::Vector3 &outNormal) noexcept
Returns
Related types: GeometryStatus · SurfaceParameter · SurfaceView · math::Vector3
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/surface.hpp
TryMapEdgeParameter¶
GeometryStatus ludus::foundation::geometry::TryMapEdgeParameter(const SurfaceView &surface, usize edgeIndex, usize incidence, float64 edgeParameter, SurfaceParameter &outParameter) noexcept
| Parameter | Description |
|---|---|
surface |
Borrowed prepared surface.
|
edgeIndex |
Prepared edge index.
|
incidence |
0 for the owner, 1 for the other side of a shared edge.
|
edgeParameter |
Canonical t in [0,1].
|
outParameter |
Written only on Success.
|
Returns
Related types: float64 · usize · GeometryStatus · SurfaceParameter · SurfaceView
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/surface.hpp
TryPlanSweepMesh¶
GeometryStatus ludus::foundation::geometry::TryPlanSweepMesh(const PathView &path, const DistanceMapView &map, const FramesView &frames, const SweepRequest &request, SweepMeshPlan &outPlan, GeometryDiagnostic *outDiagnosticOrNull)
| Parameter | Description |
|---|---|
path |
Borrowed prepared path; its revision is pinned in the plan.
|
map |
Distance map of the same revision, for ring distances and profile lookup.
|
frames |
Frames of the same revision.
|
request |
Section, profile, budgets and limits.
|
outPlan |
Replaced by the new plan only on Success.
|
outDiagnosticOrNull |
Optional; receives the failure's details.
|
Returns
Related types: SweepMeshPlan · GeometryStatus · DistanceMapView · FramesView · GeometryDiagnostic · PathView · SweepRequest
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/sweep.hpp
TryEmitSweepMesh¶
GeometryStatus ludus::foundation::geometry::TryEmitSweepMesh(const PathView &path, const SweepMeshPlanView &plan, BorrowedView< SweepVertex > outVertices, BorrowedView< uint32 > outIndices) noexcept
| Parameter | Description |
|---|---|
path |
Path whose revision the plan pinned.
|
plan |
Borrowed plan.
|
outVertices |
At least Report.VertexCount entries; must not overlap outIndices.
|
outIndices |
At least Report.IndexCount entries.
|
Returns
Related types: BorrowedView · uint32 · GeometryStatus · PathView · SweepMeshPlanView · SweepVertex
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/sweep.hpp
TryBuildSurfaceMesh¶
GeometryStatus ludus::foundation::geometry::TryBuildSurfaceMesh(const SurfaceView &surface, const SurfaceMeshProfile &profile, SurfaceMesh &outMesh, GeometryDiagnostic *outDiagnosticOrNull)
| Parameter | Description |
|---|---|
surface |
Borrowed prepared surface; its Revision is recorded in the mesh.
|
profile |
Accuracy, precision, degeneracy policy and budgets.
|
outMesh |
Replaced by the new mesh only on Success.
|
outDiagnosticOrNull |
Optional; on BudgetExceeded it receives the achieved Certified bound and the patch.
|
Returns
Related types: SurfaceMesh · GeometryStatus · GeometryDiagnostic · SurfaceMeshProfile · SurfaceView
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/tessellation.hpp
TryPrepareTrack¶
GeometryStatus ludus::foundation::geometry::TryPrepareTrack(BorrowedView< const TrackKey > keys, const WorkLimits &limits, PreparedTrack &outTrack, GeometryDiagnostic *outDiagnosticOrNull)
| Parameter | Description |
|---|---|
keys |
Source keys, borrowed for the call only.
|
limits |
MaxSpans (key count) and MaxPreparedBytes apply.
|
outTrack |
Replaced by the new owner only on Success.
|
outDiagnosticOrNull |
Optional; receives the offending key index and property.
|
Returns
Related types: BorrowedView · PreparedTrack · GeometryStatus · GeometryDiagnostic · TrackKey · WorkLimits
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/track.hpp
TryEvaluateTrack¶
GeometryStatus ludus::foundation::geometry::TryEvaluateTrack(const TrackView &track, TrackTime time, BoundaryPolicy policy, SpanSide side, TrackSample &outSample) noexcept
Returns
Related types: BoundaryPolicy · SpanSide · GeometryStatus · TrackSample · TrackTime · TrackView
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/track.hpp
Aliases¶
int32¶
using ludus::foundation::core::int32 = std::int32_t
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/frame.hpp
float32¶
using ludus::foundation::core::float32 = float
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/status.hpp
float64¶
using ludus::foundation::core::float64 = double
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/status.hpp
uint64¶
using ludus::foundation::core::uint64 = std::uint64_t
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/status.hpp
uint8¶
using ludus::foundation::core::uint8 = std::uint8_t
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/status.hpp
usize¶
using ludus::foundation::core::usize = std::size_t
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/status.hpp
uint32¶
using ludus::foundation::core::uint32 = std::uint32_t
Declared in modules/foundation/geometry/include/ludus/foundation/geometry/sweep.hpp