Skip to content

ludus::foundation::geometry::PreparedSurface

Ludus Wiki · API overview · Browse API

Class

Immutable prepared surface owner; move-only.
Created only by TryPrepareSurface. Evaluation and mesh preparation borrow GetView() and never mutate the owner. Single owner; external synchronization is required to replace it while readers hold views.

Declared in modules/foundation/geometry/include/ludus/foundation/geometry/surface.hpp

#include <ludus/foundation/geometry/surface.hpp>
class ludus::foundation::geometry::PreparedSurface final

Methods

PreparedSurface

ludus::foundation::geometry::PreparedSurface::PreparedSurface() noexcept=default
Construct an empty owner with no patches.

Declared in modules/foundation/geometry/include/ludus/foundation/geometry/surface.hpp

PreparedSurface

ludus::foundation::geometry::PreparedSurface::PreparedSurface(PreparedSurface &&other) noexcept=default
Transfer the prepared storage; the source becomes empty.

Declared in modules/foundation/geometry/include/ludus/foundation/geometry/surface.hpp

operator=

PreparedSurface & ludus::foundation::geometry::PreparedSurface::operator=(PreparedSurface &&other) noexcept=default
Release this owner's storage and take the other's; the source becomes empty.

Related types: PreparedSurface

Declared in modules/foundation/geometry/include/ludus/foundation/geometry/surface.hpp

PreparedSurface

ludus::foundation::geometry::PreparedSurface::PreparedSurface(const PreparedSurface &)=delete
Copying is disabled: one owner holds the prepared storage.

Declared in modules/foundation/geometry/include/ludus/foundation/geometry/surface.hpp

operator=

PreparedSurface & ludus::foundation::geometry::PreparedSurface::operator=(const PreparedSurface &)=delete
Copy assignment is disabled: one owner holds the prepared storage.

Related types: PreparedSurface

Declared in modules/foundation/geometry/include/ludus/foundation/geometry/surface.hpp

~PreparedSurface

ludus::foundation::geometry::PreparedSurface::~PreparedSurface()=default
Release the prepared storage; views into it become invalid.

Declared in modules/foundation/geometry/include/ludus/foundation/geometry/surface.hpp

GetView

SurfaceView ludus::foundation::geometry::PreparedSurface::GetView() const noexcept
Borrow the prepared data; the view is invalidated by moving or destroying the owner.

Related types: SurfaceView

Declared in modules/foundation/geometry/include/ludus/foundation/geometry/surface.hpp

IsEmpty

bool ludus::foundation::geometry::PreparedSurface::IsEmpty() const noexcept
Whether no surface has been prepared into this owner.

Declared in modules/foundation/geometry/include/ludus/foundation/geometry/surface.hpp