载入中...
搜索中...
未找到
SplinePathDocument.h
浏览该文件的文档.
49 static CapabilityId editingCapabilityId() { return CapabilityId("eve.procgen.target.spline-path-document"); }
57 virtual Result<DomainOperation> makeInsertPointAt(int segment, double t, const StableId& point) const = 0;
65 virtual Result<DomainOperation> makeSetChunkBreak(const StableId& point, bool disconnected) const = 0;
87class EVENGINE_API_ORCHESTRATION SplinePathDocument final : public ::eve::editing::EditableTargetState,
111 [[nodiscard]] Result<void> commitDomainState(std::unique_ptr<IDomainOperationTarget> candidate) override;
119 Result<DomainOperation> makeInsertPointAt(int segment, double t, const StableId& point) const override;
127 Result<DomainOperation> makeSetChunkBreak(const StableId& point, bool disconnected) const override;
134 Result<DomainOperation> makeSetPointRotation(const StableId& point, double pitchDegrees, double yawDegrees,
161[[nodiscard]] Result<procgen::SplinePath> compileSplinePathSnapshot(const EditorValue& snapshot);
UUID-backed identifier adapter for legacy textual boundaries.
Definition Identity.h:314
Dirty region and revision shared by every editable document target.
Definition EditableTarget.h:154
Optional candidate/publish capability for atomic domain operations.
Definition EditingTargetOperations.h:26
Editable-target capability that applies owning domain operations.
Definition EditingTargetOperations.h:11
Deterministic owning value tree shared by authoring hosts.
Definition EditingValue.h:19
UI-neutral reversible spline editing capability.
Definition SplinePathDocument.h:44
static CapabilityId editingCapabilityId()
Return the stable capability id.
Definition SplinePathDocument.h:49
virtual Result< DomainOperation > makeCenterPoint(const StableId &point) const =0
Plan moving an interior control point to the midpoint of its connected neighbours.
virtual Result< DomainOperation > makeSetPoint(const SplinePathControlPoint &point) const =0
Plan creation or atomic replacement of one control point.
virtual Result< DomainOperation > makeInsertPointAt(int segment, double t, const StableId &point) const =0
Plan shape-preserving insertion into one curve segment.
virtual Result< DomainOperation > makeSetSettings(const SplinePathSettings &settings) const =0
Plan interpolation and closure settings replacement.
virtual Result< DomainOperation > makeFlipDirection() const =0
Plan reversal of traversal direction while preserving Bezier geometry.
virtual Result< DomainOperation > makeSetPointRotation(const StableId &point, double pitchDegrees, double yawDegrees, double rollDegrees) const =0
Plan absolute point-local pitch, yaw, and roll replacement.
virtual Result< DomainOperation > makeDeleteChunk(int chunk) const =0
Plan removing one zero-based disconnected chunk in one reversible operation.
virtual Result< DomainOperation > makeMirrorAxis(std::string_view axis) const =0
Plan mirroring the complete path and handles across x, y, or z.
virtual Result< DomainOperation > makeResetPointRotation(const StableId &point) const =0
Plan resetting one point-local orientation to identity.
virtual Result< DomainOperation > makeSnapAll(double gridSize) const =0
Plan snapping every anchor to a positive world-space grid in one reversible operation.
virtual ~ISplinePathDocumentEditTarget()=default
Releases ISplinePathDocumentEditTarget resources.
virtual Result< DomainOperation > makeDeletePoint(const StableId &point) const =0
Plan removal of one stable control point.
virtual Result< DomainOperation > makeSetChunkBreak(const StableId &point, bool disconnected) const =0
Plan splitting or reconnecting the chunk boundary before one point.
virtual Result< DomainOperation > makeSnapPoint(const StableId &point, double gridSize) const =0
Plan anchor snapping to a positive world-space grid size.
virtual Result< DomainOperation > makeAppendChunk(const SplinePathControlPoint &first, const SplinePathControlPoint &second) const =0
Plan appending one disconnected two-point chunk in one reversible operation.
Owning spline authoring document with transactional operations and schema-versioned snapshots.
Definition SplinePathDocument.h:91
const SplinePathSettings & settings() const noexcept
Return current interpolation and closure settings.
Definition SplinePathDocument.h:146
Definition HeightmapBrush.h:9
Result< procgen::SplinePath > compileSplinePathSnapshot(const EditorValue &snapshot)
Compile a version-one spline snapshot for isolated graph preview.
Definition SplinePathDocument.cpp:601
Stable discovery metadata exposed by every editable target.
Definition EditableTarget.h:39
Stable authoring control point for a 3D spline path.
Definition SplinePathDocument.h:25
std::int64_t order
Definition SplinePathDocument.h:27
bool breakBefore
Definition SplinePathDocument.h:33
double rollDegrees
Definition SplinePathDocument.h:31
double yawDegrees
Definition SplinePathDocument.h:34
double pitchDegrees
Definition SplinePathDocument.h:34
Spline authoring settings stored independently from runtime caches.
Definition SplinePathDocument.h:38