载入中...
搜索中...
未找到
BuildingEdgeCurveTool.cpp
浏览该文件的文档.
174 auto plan = authority_->preflight(transaction, std::span<const editing::DomainOperation>(operations));
Final validation and commit boundary for editor mutations.
Definition EditingAuthority.h:16
virtual Result< AuthorityPlan > preflight(const TransactionSpec &transaction, std::span< const DomainOperation > operations)=0
Validate a transaction without mutating its target.
virtual Result< TransactionReceipt > commit(const AuthorityPlan &plan)=0
Atomically apply an authority-approved plan when possible.
ToolResponse pointerEvent(EditorContext &context, const EditorPointerEvent &event) override
Pointer event.
Definition BuildingEdgeCurveTool.cpp:201
void drawOverlay(EditorContext &context, IEditorOverlay &overlay) override
Draws overlay.
Definition BuildingEdgeCurveTool.cpp:219
void setAuthority(editing::IEditAuthority *authority)
Replace the transaction authority and cancel any active gesture.
Definition BuildingEdgeCurveTool.cpp:40
const std::vector< editing::Diagnostic > & diagnostics() const
Diagnostics from the latest preview, adapter or authority operation.
Definition EditorBuildingTarget.h:100
bool isDragging() const
Whether a handle currently owns pointer-drag state.
Definition BuildingEdgeCurveTool.cpp:74
editing::Result< void > setSelection(BuildingEdgeCurveToolSelection selection)
Select one authoritative curve group member for handle editing.
Definition BuildingEdgeCurveTool.cpp:46
void clearSelection()
Clear selection and any uncommitted gesture.
Definition BuildingEdgeCurveTool.cpp:65
void setViewportAdapter(IBuildingViewportAdapter *viewport)
Replace the host viewport adapter and cancel any active gesture.
Definition BuildingEdgeCurveTool.cpp:34
BuildingEdgeCurveTool(IBuildingViewportAdapter *viewport, editing::IEditAuthority *authority)
Building edge curve tool.
Definition BuildingEdgeCurveTool.cpp:30
const std::optional< building_editing::BuildingEdgeCurveDragPreview > & preview() const
Last valid transient preview.
Definition EditorBuildingTarget.h:90
Host-owned conversion boundary between pointer coordinates and a 2D/3D viewport.
Definition EditorBuildingTarget.h:30
virtual editing::Result< OverlayPoint > projectWorld(const std::array< double, 3 > &world) const =0
Project a world position into the coordinate space accepted by IEditorOverlay.
virtual editing::Result< BuildingViewportRay > pointerRay(const EditorPointerEvent &event) const =0
Build a world ray for one normalized pointer event.
Sink implemented by a 2D or 3D viewport to render tool feedback.
Definition EditorPresentation.h:27
virtual void circle(const OverlayPoint ¢er, float radius, const OverlayStyle &style)=0
Draw a circle whose orientation is supplied by the viewport.
virtual void line(const OverlayPoint &from, const OverlayPoint &to, const OverlayStyle &style)=0
Draw a line between two viewport-space points.
Definition ActionPreviewController.cpp:6
eve::building_editing::BuildingPlacementTarget BuildingPlacementTarget
Definition EditorBuildingTarget.h:16
Immutable result of one curve-handle pointer update.
Definition BuildingTarget.h:273
Renderer-neutral wire primitive for authoring viewport overlays.
Definition EditingGizmo.h:12
Immutable selection/configuration consumed by BuildingEdgeCurveTool.
Definition EditorBuildingTarget.h:44
int subdivisions
Definition EditorBuildingTarget.h:48
std::string buildingId
Definition EditorBuildingTarget.h:45
int memberInstanceId
Definition EditorBuildingTarget.h:46
std::vector< building_editing::BuildingEdgeCurvePoint > controlPoints
Definition EditorBuildingTarget.h:47
Pointer input normalized by an editor viewport adapter.
Definition EditorTool.h:20
Renderer-independent appearance for an editor overlay primitive.
Definition EditorPresentation.h:15
Result returned by a tool after processing input.
Definition EditorTool.h:50