载入中...
搜索中...
未找到
eve::building_editing::BuildingEdgeCurveDragSession类 参考

UI-neutral ray picking and drag state for one existing cubic building curve. @ownership Borrows the target; the caller must end/cancel before destroying it. @thread Viewport/editor thread only; callbacks are not retained or invoked. 更多...

#include <BuildingTarget.h>

Public 成员函数

 BuildingEdgeCurveDragSession (BuildingPlacementTarget *target, std::string buildingId, int memberInstanceId, std::vector< BuildingEdgeCurvePoint > controlPoints, int subdivisions, std::string surfaceName={})
 Configure an idle drag session from authoritative editor selection state.
 
Result< BuildingEdgeCurveDragPreview > beginDrag (double rayOriginX, double rayOriginY, double rayOriginZ, double rayDirectionX, double rayDirectionY, double rayDirectionZ)
 Pick and begin dragging the closest control sphere intersected by a world ray.
 
Result< BuildingEdgeCurveDragPreview > updateDrag (double rayOriginX, double rayOriginY, double rayOriginZ, double rayDirectionX, double rayDirectionY, double rayDirectionZ)
 Reproject a pointer ray onto the camera-facing drag plane and refresh the draft.
 
Result< DomainOperation > finishDrag ()
 Build the atomic replacement operation for the last valid draft and become idle.
 
void cancelDrag ()
 Discard transient drag state without producing an operation.
 
bool isDragging () const
 True when dragging.
 
int activeControlPointIndex () const
 Active control point index.
 

详细描述

UI-neutral ray picking and drag state for one existing cubic building curve. @ownership Borrows the target; the caller must end/cancel before destroying it. @thread Viewport/editor thread only; callbacks are not retained or invoked.

在文件 BuildingTarget.h 第 286 行定义.

构造及析构函数说明

◆ BuildingEdgeCurveDragSession()

eve::building_editing::BuildingEdgeCurveDragSession::BuildingEdgeCurveDragSession ( BuildingPlacementTarget *  target,
std::string  buildingId,
int  memberInstanceId,
std::vector< BuildingEdgeCurvePoint >  controlPoints,
int  subdivisions,
std::string  surfaceName = {} 
)

Configure an idle drag session from authoritative editor selection state.

在文件 BuildingTarget.cpp 第 1453 行定义.

成员函数说明

◆ activeControlPointIndex()

int eve::building_editing::BuildingEdgeCurveDragSession::activeControlPointIndex ( ) const
inline

Active control point index.

在文件 BuildingTarget.h 第 308 行定义.

◆ beginDrag()

Result< BuildingEdgeCurveDragPreview > eve::building_editing::BuildingEdgeCurveDragSession::beginDrag ( double  rayOriginX,
double  rayOriginY,
double  rayOriginZ,
double  rayDirectionX,
double  rayDirectionY,
double  rayDirectionZ 
)

◆ cancelDrag()

void eve::building_editing::BuildingEdgeCurveDragSession::cancelDrag ( )

Discard transient drag state without producing an operation.

在文件 BuildingTarget.cpp 第 1603 行定义.

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

◆ finishDrag()

Result< DomainOperation > eve::building_editing::BuildingEdgeCurveDragSession::finishDrag ( )

Build the atomic replacement operation for the last valid draft and become idle.

在文件 BuildingTarget.cpp 第 1583 行定义.

引用了 cancelDrag(), eve::building_editing::BuildingPlacementTarget::makeUpdateEdgeCubicBezier(), operation , 以及 eve::editing::EditableTargetState::revision().

◆ isDragging()

bool eve::building_editing::BuildingEdgeCurveDragSession::isDragging ( ) const
inline

True when dragging.

在文件 BuildingTarget.h 第 306 行定义.

◆ updateDrag()

Result< BuildingEdgeCurveDragPreview > eve::building_editing::BuildingEdgeCurveDragSession::updateDrag ( double  rayOriginX,
double  rayOriginY,
double  rayOriginZ,
double  rayDirectionX,
double  rayDirectionY,
double  rayDirectionZ 
)

Reproject a pointer ray onto the camera-facing drag plane and refresh the draft.

在文件 BuildingTarget.cpp 第 1533 行定义.

引用了 cancelDrag(), eve::building_editing::BuildingPlacementTarget::curveLogicalPointFromWorld(), direction, distance, length, origin , 以及 eve::editing::EditableTargetState::revision().


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