载入中...
搜索中...
未找到
eve::procgen_editing::SplinePathDocument类 参考final

Owning spline authoring document with transactional operations and schema-versioned snapshots. 更多...

#include <SplinePathDocument.h>

类 eve::procgen_editing::SplinePathDocument 继承关系图:
eve::editing::EditableTargetState eve::editing::IEditableTarget eve::editing::IDomainOperationTarget eve::editing::IDomainOperationTargetStaging eve::procgen_editing::ISplinePathDocumentEditTarget eve::editing::IEditableTarget eve::editing::IEditableTarget

Public 成员函数

 SplinePathDocument (std::string id)
 Construct an empty document with a stable target id.
 
TargetId targetId () const override
 Target id.
 
TargetDescriptor describe () const override
 Describe.
 
void * queryCapability (const CapabilityId &capability) override
 Query the spline editing capability.
 
Result< void > applyDomainOperation (const DomainOperation &operation) override
 Applies domain operation.
 
std::unique_ptr< IDomainOperationTarget > cloneDomainState () const override
 Clones domain state.
 
Result< void > commitDomainState (std::unique_ptr< IDomainOperationTarget > candidate) override
 Commits domain state.
 
Result< DomainOperation > makeSetPoint (const SplinePathControlPoint &point) const override
 Make set point.
 
Result< DomainOperation > makeDeletePoint (const StableId &point) const override
 Make delete point.
 
Result< DomainOperation > makeSetSettings (const SplinePathSettings &settings) const override
 Make set settings.
 
Result< DomainOperation > makeInsertPointAt (int segment, double t, const StableId &point) const override
 Make insert point at.
 
Result< DomainOperation > makeSnapPoint (const StableId &point, double gridSize) const override
 Make snap point.
 
Result< DomainOperation > makeSnapAll (double gridSize) const override
 Make snap all.
 
Result< DomainOperation > makeFlipDirection () const override
 Make flip direction.
 
Result< DomainOperation > makeSetChunkBreak (const StableId &point, bool disconnected) const override
 Make set chunk break.
 
Result< DomainOperation > makeAppendChunk (const SplinePathControlPoint &first, const SplinePathControlPoint &second) const override
 Make append chunk.
 
Result< DomainOperation > makeDeleteChunk (int chunk) const override
 Make delete chunk.
 
Result< DomainOperation > makeSetPointRotation (const StableId &point, double pitchDegrees, double yawDegrees, double rollDegrees) const override
 Make set point rotation.
 
Result< DomainOperation > makeResetPointRotation (const StableId &point) const override
 Make reset point rotation.
 
Result< DomainOperation > makeCenterPoint (const StableId &point) const override
 Make center point.
 
Result< DomainOperation > makeMirrorAxis (std::string_view axis) const override
 Make mirror axis.
 
std::vector< SplinePathControlPoint > points () const
 Return points in deterministic order and stable-id tie order.
 
const SplinePathSettings & settings () const noexcept
 Return current interpolation and closure settings.
 
Result< procgen::SplinePath > compilePath () const
 Compile an owning runtime spline without retaining document references.
 
EditorValue snapshotValue () const
 Capture schema eve.procgen.splinePath version one.
 
Result< void > loadSnapshot (const EditorValue &snapshot)
 Atomically load a validated version-one snapshot.
 
- Public 成员函数 继承自 eve::editing::EditableTargetState
 EditableTargetState (Revision initial=1)
 Constructs the shared state with an explicit initial revision.
 
EditRegion dirtyRegion () const override
 Return the accumulated dirty region.
 
void clearDirtyRegion () override
 Discard the dirty region; the revision does not change.
 
std::uint64_t revision () const override
 Return the current revision.
 
Revision revisionValue () const noexcept
 Return the revision as the shared protocol revision type.
 
- Public 成员函数 继承自 eve::editing::IEditableTarget
virtual ~IEditableTarget ()=default
 Releases IEditableTarget resources.
 
template<class C >
eve::OptionalRef< C > capability ()
 Query a capability through its interface-owned stable identity.
 
template<class C >
eve::OptionalRef< const C > capability () const
 Capability.
 
template<class C >
C * query ()
 Queries query.
 
template<class C >
const C * query () const
 Queries query.
 
- Public 成员函数 继承自 eve::editing::IDomainOperationTarget
 ~IDomainOperationTarget () override=default
 Releases IDomainOperationTarget resources.
 
- Public 成员函数 继承自 eve::editing::IDomainOperationTargetStaging
virtual ~IDomainOperationTargetStaging ()=default
 Releases IDomainOperationTargetStaging resources.
 
- Public 成员函数 继承自 eve::procgen_editing::ISplinePathDocumentEditTarget
virtual ~ISplinePathDocumentEditTarget ()=default
 Releases ISplinePathDocumentEditTarget resources.
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 eve::procgen_editing::ISplinePathDocumentEditTarget
static CapabilityId editingCapabilityId ()
 Return the stable capability id.
 
- Protected 成员函数 继承自 eve::editing::EditableTargetState
void widenDirty (int x, int y)
 Widen the dirty region without advancing the revision.
 
void widenDirty (const EditRegion &region)
 Widen the dirty region without advancing the revision.
 
void widenDirty ()
 Mark an unknown area dirty without advancing the revision.
 
void bumpRevision ()
 Advance the revision without touching the dirty region.
 
void setRevision (Revision revision)
 Adopt a revision observed elsewhere, without advancing it.
 
void setDirtyRegion (const EditRegion &region)
 Replace the dirty region wholesale, without advancing the revision.
 
void markDirty (int x, int y)
 Include one cell in the dirty region and advance the revision.
 
void markDirty (const EditRegion &region)
 Include a whole region and advance the revision.
 
void markDirty ()
 Mark an unknown area dirty and advance the revision.
 

详细描述

Owning spline authoring document with transactional operations and schema-versioned snapshots.

Unknown snapshot fields are ignored. Known fields are validated into an isolated candidate before commit.

在文件 SplinePathDocument.h 第 87 行定义.

构造及析构函数说明

◆ SplinePathDocument()

eve::procgen_editing::SplinePathDocument::SplinePathDocument ( std::string  id)
explicit

Construct an empty document with a stable target id.

在文件 SplinePathDocument.cpp 第 125 行定义.

成员函数说明

◆ applyDomainOperation()

◆ cloneDomainState()

std::unique_ptr< IDomainOperationTarget > eve::procgen_editing::SplinePathDocument::cloneDomainState ( ) const
overridevirtual

Clones domain state.

实现了 eve::editing::IDomainOperationTargetStaging.

在文件 SplinePathDocument.cpp 第 468 行定义.

◆ commitDomainState()

Result< void > eve::procgen_editing::SplinePathDocument::commitDomainState ( std::unique_ptr< IDomainOperationTarget >  candidate)
overridevirtual

Commits domain state.

实现了 eve::editing::IDomainOperationTargetStaging.

在文件 SplinePathDocument.cpp 第 472 行定义.

引用了 spline.

被这些函数引用 eve::procgen_editing::SplinePathBinder::refreshResult().

◆ compilePath()

Result< procgen::SplinePath > eve::procgen_editing::SplinePathDocument::compilePath ( ) const

◆ describe()

TargetDescriptor eve::procgen_editing::SplinePathDocument::describe ( ) const
overridevirtual

◆ loadSnapshot()

◆ makeAppendChunk()

Result< DomainOperation > eve::procgen_editing::SplinePathDocument::makeAppendChunk ( const SplinePathControlPoint &  first,
const SplinePathControlPoint &  second 
) const
overridevirtual

◆ makeCenterPoint()

Result< DomainOperation > eve::procgen_editing::SplinePathDocument::makeCenterPoint ( const StableId &  point) const
overridevirtual

Make center point.

实现了 eve::procgen_editing::ISplinePathDocumentEditTarget.

在文件 SplinePathDocument.cpp 第 429 行定义.

引用了 found, index, makeSetPoint(), points(), u, updated , 以及 value.

◆ makeDeleteChunk()

Result< DomainOperation > eve::procgen_editing::SplinePathDocument::makeDeleteChunk ( int  chunk) const
overridevirtual

Make delete chunk.

实现了 eve::procgen_editing::ISplinePathDocumentEditTarget.

在文件 SplinePathDocument.cpp 第 379 行定义.

引用了 operation, order, point, points(), snapshotValue() , 以及 u.

◆ makeDeletePoint()

Result< DomainOperation > eve::procgen_editing::SplinePathDocument::makeDeletePoint ( const StableId &  point) const
overridevirtual

Make delete point.

实现了 eve::procgen_editing::ISplinePathDocumentEditTarget.

在文件 SplinePathDocument.cpp 第 493 行定义.

引用了 found, operation , 以及 point.

◆ makeFlipDirection()

Result< DomainOperation > eve::procgen_editing::SplinePathDocument::makeFlipDirection ( ) const
overridevirtual

Make flip direction.

实现了 eve::procgen_editing::ISplinePathDocumentEditTarget.

在文件 SplinePathDocument.cpp 第 287 行定义.

引用了 operation, point, points() , 以及 snapshotValue().

◆ makeInsertPointAt()

Result< DomainOperation > eve::procgen_editing::SplinePathDocument::makeInsertPointAt ( int  segment,
double  t,
const StableId &  point 
) const
overridevirtual

◆ makeMirrorAxis()

Result< DomainOperation > eve::procgen_editing::SplinePathDocument::makeMirrorAxis ( std::string_view  axis) const
overridevirtual

Make mirror axis.

实现了 eve::procgen_editing::ISplinePathDocumentEditTarget.

在文件 SplinePathDocument.cpp 第 448 行定义.

引用了 operation, point, position , 以及 snapshotValue().

◆ makeResetPointRotation()

Result< DomainOperation > eve::procgen_editing::SplinePathDocument::makeResetPointRotation ( const StableId &  point) const
overridevirtual

Make reset point rotation.

实现了 eve::procgen_editing::ISplinePathDocumentEditTarget.

在文件 SplinePathDocument.cpp 第 425 行定义.

引用了 makeSetPointRotation() , 以及 point.

◆ makeSetChunkBreak()

Result< DomainOperation > eve::procgen_editing::SplinePathDocument::makeSetChunkBreak ( const StableId &  point,
bool  disconnected 
) const
overridevirtual

◆ makeSetPoint()

Result< DomainOperation > eve::procgen_editing::SplinePathDocument::makeSetPoint ( const SplinePathControlPoint &  point) const
overridevirtual

◆ makeSetPointRotation()

Result< DomainOperation > eve::procgen_editing::SplinePathDocument::makeSetPointRotation ( const StableId &  point,
double  pitchDegrees,
double  yawDegrees,
double  rollDegrees 
) const
overridevirtual

Make set point rotation.

实现了 eve::procgen_editing::ISplinePathDocumentEditTarget.

在文件 SplinePathDocument.cpp 第 409 行定义.

引用了 found, makeSetPoint(), point , 以及 updated.

被这些函数引用 makeResetPointRotation().

◆ makeSetSettings()

Result< DomainOperation > eve::procgen_editing::SplinePathDocument::makeSetSettings ( const SplinePathSettings &  settings) const
overridevirtual

◆ makeSnapAll()

Result< DomainOperation > eve::procgen_editing::SplinePathDocument::makeSnapAll ( double  gridSize) const
overridevirtual

Make snap all.

实现了 eve::procgen_editing::ISplinePathDocumentEditTarget.

在文件 SplinePathDocument.cpp 第 271 行定义.

引用了 operation, point , 以及 snapshotValue().

◆ makeSnapPoint()

Result< DomainOperation > eve::procgen_editing::SplinePathDocument::makeSnapPoint ( const StableId &  point,
double  gridSize 
) const
overridevirtual

Make snap point.

实现了 eve::procgen_editing::ISplinePathDocumentEditTarget.

在文件 SplinePathDocument.cpp 第 256 行定义.

引用了 found, makeSetPoint() , 以及 point.

◆ points()

◆ queryCapability()

void * eve::procgen_editing::SplinePathDocument::queryCapability ( const CapabilityId &  capability)
overridevirtual

Query the spline editing capability.

参数
capabilityStable requested capability id.
返回
Borrowed pointer owned by this document, or null when unsupported. @lifetime Valid until this document is destroyed.

重载 eve::editing::IEditableTarget .

在文件 SplinePathDocument.cpp 第 135 行定义.

引用了 eve::editing::IEditableTarget::capability() , 以及 eve::procgen_editing::ISplinePathDocumentEditTarget::editingCapabilityId().

◆ settings()

const SplinePathSettings & eve::procgen_editing::SplinePathDocument::settings ( ) const
inlinenoexcept

Return current interpolation and closure settings.

在文件 SplinePathDocument.h 第 146 行定义.

被这些函数引用 eve::procgen_editing::SplinePathGizmoBuilder::build(), loadSnapshot() , 以及 makeSetSettings().

◆ snapshotValue()

EditorValue eve::procgen_editing::SplinePathDocument::snapshotValue ( ) const

◆ targetId()

TargetId eve::procgen_editing::SplinePathDocument::targetId ( ) const
inlineoverridevirtual

该类的文档由以下文件生成: