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()
|
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 | ||
| ) |
Pick and begin dragging the closest control sphere intersected by a world ray.
在文件 BuildingTarget.cpp 第 1480 行定义.
引用了 b, c, cancelDrag(), direction, eve::building_editing::BuildingPlacementTarget::edgeCubicBezierGizmo(), hit, offset, origin, eve::editing::GizmoSnapshot::primitives, eve::editing::EditableTargetState::revision() , 以及 eve::editing::GizmoSnapshot::status.
◆ 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()
|
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().
该类的文档由以下文件生成:
- src/modules/building/editing/BuildingTarget.h
- src/modules/building/editing/BuildingTarget.cpp