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

UI-neutral ray picking and transient drag state for a spline document. @ownership Borrows the document; the caller must finish or cancel before destroying it. @thread Viewport/editor thread only; no callbacks are retained or invoked. 更多...

#include <SplinePathGizmo.h>

Public 成员函数

 SplinePathDragSession (SplinePathDocument *document, int sampleCount=64)
 Create an idle session borrowing an authoritative spline document.
 
Result< SplinePathDragPreview > beginDrag (double rayOriginX, double rayOriginY, double rayOriginZ, double rayDirectionX, double rayDirectionY, double rayDirectionZ)
 Pick the nearest anchor or Bezier handle sphere intersected by a world ray.
 
Result< SplinePathDragPreview > updateDrag (double rayOriginX, double rayOriginY, double rayOriginZ, double rayDirectionX, double rayDirectionY, double rayDirectionZ)
 Project a pointer ray onto the original camera-facing drag plane and update only the draft.
 
Result< DomainOperation > finishDrag ()
 Produce one reversible point replacement operation without applying it.
 
void cancelDrag ()
 Discard transient state without changing the document.
 
bool isDragging () const noexcept
 Report whether a drag owns transient state.
 
StableId activePoint () const
 Return the active stable point id, or empty when idle.
 
const std::string & activeHandle () const noexcept
 Return anchor, in, or out for the active handle.
 

详细描述

UI-neutral ray picking and transient drag state for a spline document. @ownership Borrows the document; the caller must finish or cancel before destroying it. @thread Viewport/editor thread only; no callbacks are retained or invoked.

在文件 SplinePathGizmo.h 第 42 行定义.

构造及析构函数说明

◆ SplinePathDragSession()

eve::procgen_editing::SplinePathDragSession::SplinePathDragSession ( SplinePathDocument *  document,
int  sampleCount = 64 
)
explicit

Create an idle session borrowing an authoritative spline document.

在文件 SplinePathGizmo.cpp 第 109 行定义.

成员函数说明

◆ activeHandle()

const std::string & eve::procgen_editing::SplinePathDragSession::activeHandle ( ) const
inlinenoexcept

Return anchor, in, or out for the active handle.

在文件 SplinePathGizmo.h 第 63 行定义.

◆ activePoint()

StableId eve::procgen_editing::SplinePathDragSession::activePoint ( ) const
inline

Return the active stable point id, or empty when idle.

在文件 SplinePathGizmo.h 第 61 行定义.

◆ beginDrag()

Result< SplinePathDragPreview > eve::procgen_editing::SplinePathDragSession::beginDrag ( double  rayOriginX,
double  rayOriginY,
double  rayOriginZ,
double  rayDirectionX,
double  rayDirectionY,
double  rayDirectionZ 
)

◆ cancelDrag()

void eve::procgen_editing::SplinePathDragSession::cancelDrag ( )

Discard transient state without changing the document.

在文件 SplinePathGizmo.cpp 第 251 行定义.

被这些函数引用 beginDrag(), finishDrag() , 以及 updateDrag().

◆ finishDrag()

Result< DomainOperation > eve::procgen_editing::SplinePathDragSession::finishDrag ( )

Produce one reversible point replacement operation without applying it.

在文件 SplinePathGizmo.cpp 第 237 行定义.

引用了 cancelDrag(), eve::procgen_editing::SplinePathDocument::makeSetPoint(), operation , 以及 eve::editing::EditableTargetState::revision().

◆ isDragging()

bool eve::procgen_editing::SplinePathDragSession::isDragging ( ) const
inlinenoexcept

Report whether a drag owns transient state.

在文件 SplinePathGizmo.h 第 59 行定义.

◆ updateDrag()


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