Live PlacementWorld target with reversible place/move/remove operations. 更多...
#include <BuildingTarget.h>
Public 成员函数 | |
| BuildingPlacementTarget (std::string id, building::PlacementWorld *world) | |
| Bind a borrowed world that must outlive the target. | |
| BuildingPlacementTarget (BuildingPlacementTarget &&) noexcept | |
Out-of-line special members; ownedWorld_ holds a forward-declared building::PlacementWorld. | |
| BuildingPlacementTarget & | operator= (BuildingPlacementTarget &&) noexcept |
| Operator =. | |
| BuildingPlacementTarget (const BuildingPlacementTarget &)=delete | |
| BuildingPlacementTarget & | operator= (const BuildingPlacementTarget &)=delete |
| ~BuildingPlacementTarget () | |
| Building placement target. | |
| TargetId | targetId () const override |
| Target id. | |
| TargetDescriptor | describe () const override |
| Describe. | |
| void * | queryCapability (const CapabilityId &capability) override |
| Query an optional target capability. | |
| Result< void > | applyDomainOperation (const DomainOperation &operation) override |
| Applies domain operation. | |
| std::unique_ptr< IDomainOperationTarget > | cloneDomainState () const override |
| Clones domain state. | |
| Result< void > | commitDomainState (std::unique_ptr< IDomainOperationTarget > candidate) override |
| Commits domain state. | |
| Result< BuildingInstanceSnapshot > | instance (int instanceId) const |
| Return a complete immutable instance snapshot. | |
| int | nextAvailableInstanceId () const |
| Return the smallest currently unused positive instance id. | |
| BuildingPlacementPreview | preview (const std::string &buildingId, double worldX, double worldY, double elevation, double rotationDegrees, int excludeInstanceId=0) const |
| Preview snap, normalized rotation, footprint cells and validation reasons. | |
| Result< DomainOperation > | makePlace (const BuildingInstanceSnapshot &placed) const |
| Plan reversible exact-id placement after full footprint validation. | |
| Result< DomainOperation > | makeMove (int instanceId, int cellX, int cellY, double rotationDegrees) const |
| Plan reversible movement of an existing building. | |
| Result< DomainOperation > | makeMoveFree (int instanceId, double worldX, double worldY, double elevation, double rotationDegrees) const |
| Build an exact free-domain move operation without grid snapping. | |
| Result< DomainOperation > | makeReplace (int instanceId, const std::string &replacementBuildingId) const |
| Plan a reversible cell-definition replacement preserving instance state. | |
| Result< DomainOperation > | makeRectangle (const std::string &buildingId, int minCellX, int minCellY, int maxCellX, int maxCellY, double rotationDegrees) const |
| Plan one atomic reversible rectangular placement gesture. | |
| Result< DomainOperation > | makeBrush (const std::string &buildingId, int centerCellX, int centerCellY, int radius, double rotationDegrees) const |
| Plan one atomic reversible circular-brush placement gesture. | |
| Result< DomainOperation > | makeEdgePath (const std::string &buildingId, const std::vector< BuildingEdgePathVertex > &vertices) const |
| Plan one atomic reversible multi-segment edge path gesture. | |
| Result< DomainOperation > | makeEdgeCubicBezier (const std::string &buildingId, const std::vector< BuildingEdgeCurvePoint > &controlPoints, int subdivisions) const |
| Plan one atomic reversible cubic Bezier edge-curve gesture. | |
| Result< DomainOperation > | makeEdgeCubicBezierOnSurface (const std::string &buildingId, const std::vector< BuildingEdgeCurvePoint > &controlPoints, int subdivisions, const std::string &surfaceName) const |
| Plan one atomic reversible cubic curve sampled on a named surface. | |
| BuildingEdgeCurvePreview | previewEdgeCubicBezier (const std::string &buildingId, const std::vector< BuildingEdgeCurvePoint > &controlPoints, int subdivisions, int replacingMemberInstanceId=0, const std::string &surfaceName={}) const |
| Recompute an immutable interactive curve draft without mutating the world. | |
| editing::GizmoSnapshot | edgeCubicBezierGizmo (const std::string &buildingId, const std::vector< BuildingEdgeCurvePoint > &controlPoints, int subdivisions, int level=0, int replacingMemberInstanceId=0, const std::string &surfaceName={}) const |
| Build renderer-neutral handles, tangent lines and sampled path for a curve draft. | |
| Result< DomainOperation > | makeUpdateEdgeCubicBezier (int memberInstanceId, const std::vector< BuildingEdgeCurvePoint > &controlPoints, int subdivisions) const |
| Plan atomic replacement of an existing curve group after a handle drag. | |
| Result< BuildingEdgeCurvePoint > | curveLogicalPointFromWorld (double worldX, double worldY, double worldZ) const |
| Convert a world-space point to continuous logical grid coordinates. | |
| Result< DomainOperation > | makeRemove (int instanceId) const |
| Plan reversible removal preserving properties, tags and garrison state. | |
| EditorValue | snapshotValue () const |
| Capture all instances in deterministic insertion order. | |
Public 成员函数 继承自 eve::editing::EditableTargetState | |
| EditableTargetState (Revision initial=1) | |
| Constructs the shared state with an explicit initial revision. | |
| EditRegion | dirtyRegion () const override |
| Return the accumulated dirty region. | |
| void | clearDirtyRegion () override |
| Discard the dirty region; the revision does not change. | |
| std::uint64_t | revision () const override |
| Return the current revision. | |
| Revision | revisionValue () const noexcept |
| Return the revision as the shared protocol revision type. | |
Public 成员函数 继承自 eve::editing::IEditableTarget | |
| virtual | ~IEditableTarget ()=default |
| Releases IEditableTarget resources. | |
| template<class C > | |
| eve::OptionalRef< C > | capability () |
| Query a capability through its interface-owned stable identity. | |
| template<class C > | |
| eve::OptionalRef< const C > | capability () const |
| Capability. | |
| template<class C > | |
| C * | query () |
| Queries query. | |
| template<class C > | |
| const C * | query () const |
| Queries query. | |
Public 成员函数 继承自 eve::editing::IDomainOperationTarget | |
| ~IDomainOperationTarget () override=default | |
| Releases IDomainOperationTarget resources. | |
Public 成员函数 继承自 eve::editing::IDomainOperationTargetStaging | |
| virtual | ~IDomainOperationTargetStaging ()=default |
| Releases IDomainOperationTargetStaging resources. | |
静态 Public 成员函数 | |
| static CapabilityId | editorCapabilityId () |
| Stable capability id for placement preview and mutation. | |
额外继承的成员函数 | |
Protected 成员函数 继承自 eve::editing::EditableTargetState | |
| void | widenDirty (int x, int y) |
| Widen the dirty region without advancing the revision. | |
| void | widenDirty (const EditRegion ®ion) |
| Widen the dirty region without advancing the revision. | |
| void | widenDirty () |
| Mark an unknown area dirty without advancing the revision. | |
| void | bumpRevision () |
| Advance the revision without touching the dirty region. | |
| void | setRevision (Revision revision) |
| Adopt a revision observed elsewhere, without advancing it. | |
| void | setDirtyRegion (const EditRegion ®ion) |
| Replace the dirty region wholesale, without advancing the revision. | |
| void | markDirty (int x, int y) |
| Include one cell in the dirty region and advance the revision. | |
| void | markDirty (const EditRegion ®ion) |
| Include a whole region and advance the revision. | |
| void | markDirty () |
| Mark an unknown area dirty and advance the revision. | |
详细描述
Live PlacementWorld target with reversible place/move/remove operations.
在文件 BuildingTarget.h 第 156 行定义.
构造及析构函数说明
◆ BuildingPlacementTarget() [1/3]
| eve::building_editing::BuildingPlacementTarget::BuildingPlacementTarget | ( | std::string | id, |
| building::PlacementWorld * | world | ||
| ) |
Bind a borrowed world that must outlive the target.
在文件 BuildingTarget.cpp 第 501 行定义.
◆ BuildingPlacementTarget() [2/3]
|
defaultnoexcept |
Out-of-line special members; ownedWorld_ holds a forward-declared building::PlacementWorld.
A class-level export macro makes MSVC instantiate every member in every translation unit that includes this header (OBJECT mode: the macro is a plain __declspec(dllexport)). The implicitly-defined destructor then has to delete ownedWorld_, which needs the complete type and fails with C2027/C2338 ("can't delete an incomplete type") in the TUs that only forward-declare it (measured: building/editor/building_editor.cpp). Declaring them here and defaulting them in BuildingTarget.cpp — where PlacementWorld.h is included — keeps the semantics identical and gives the other TUs something to call.
◆ BuildingPlacementTarget() [3/3]
|
delete |
◆ ~BuildingPlacementTarget()
|
default |
Building placement target.
成员函数说明
◆ applyDomainOperation()
|
overridevirtual |
Applies domain operation.
实现了 eve::editing::IDomainOperationTarget.
在文件 BuildingTarget.cpp 第 1206 行定义.
引用了 eve::building::EdgeAddress::axis, eve::building::PlacedBuilding::buildingId, eve::building::PlacementWorld::buildings(), eve::editing::EditableTargetState::bumpRevision(), eve::building::PlacementSystem::canPlaceCorner(), eve::building::PlacementSystem::canPlaceEdge(), eve::building::PlacementSystem::canPlaceElev(), eve::building::PlacementSystem::canPlaceFree(), cloneDomainState(), commitDomainState(), eve::building::PlacedBuilding::corner, current, eve::building::PlacedBuilding::edge, eve::building::PlacedBuilding::elevation, eve::building::BuildingRegistry::find(), eve::building::PlacedBuilding::garrison, eve::building::PlacedBuilding::garrisonRevision, eve::building::PlacementWorld::hasBuilding(), instance(), eve::building::PlacedBuilding::instanceId, eve::building::PlacedBuilding::level, members, eve::building::PlacementSystem::moveBuildingResult(), eve::building::PlacementSystem::moveCornerResult(), eve::building::PlacementSystem::moveEdgeResult(), eve::building::PlacementSystem::moveFreeResult(), operation, eve::building::PlacedBuilding::originCellX, eve::building::PlacedBuilding::originCellY, eve::building::BuildingDefinition::placementKind, eve::building::PlacedBuilding::placementKind, eve::building::PlacedBuilding::props, eve::building::PlacementSystem::removeBuilding(), eve::building::PlacementSystem::replaceBuildingResult(), eve::building::Restored, eve::building::PlacementSystem::restoreEdgeCurveGroupExact(), eve::building::PlacementSystem::restoreExact(), eve::building::PlacedBuilding::rotationDeg, eve::building::PlacedBuilding::surfaceHeightDelta, eve::building::PlacedBuilding::surfaceId, eve::building::PlacedBuilding::surfaceMaxSlopeDegrees, eve::building::PlacedBuilding::surfaceNormalX, eve::building::PlacedBuilding::surfaceNormalY, eve::building::PlacedBuilding::surfaceNormalZ, eve::building::PlacedBuilding::surfaceRevision, eve::building::PlacedBuilding::surfaceSampleCount, eve::building::PlacedBuilding::surfaceTangentX, eve::building::PlacedBuilding::surfaceTangentY, eve::building::PlacedBuilding::surfaceTangentZ, eve::building::PlacedBuilding::tags, updated, valid, eve::building::Vertical, eve::editing::EditableTargetState::widenDirty(), eve::building::PlacedBuilding::worldX, eve::building::PlacedBuilding::worldY, eve::building::EdgeAddress::x, eve::building::CornerAddress::x, eve::building::EdgeAddress::y , 以及 eve::building::CornerAddress::y.
◆ cloneDomainState()
|
overridevirtual |
Clones domain state.
实现了 eve::editing::IDomainOperationTargetStaging.
在文件 BuildingTarget.cpp 第 1408 行定义.
引用了 eve::building::PlacementWorld::cloneState() , 以及 eve::editing::EditableTargetState::revisionValue().
被这些函数引用 applyDomainOperation().
◆ commitDomainState()
|
overridevirtual |
Commits domain state.
实现了 eve::editing::IDomainOperationTargetStaging.
在文件 BuildingTarget.cpp 第 1414 行定义.
引用了 eve::editing::EditableTargetState::bumpRevision(), eve::building::PlacementWorld::swapState(), targetId() , 以及 eve::editing::EditableTargetState::widenDirty().
被这些函数引用 applyDomainOperation().
◆ curveLogicalPointFromWorld()
| Result< BuildingEdgeCurvePoint > eve::building_editing::BuildingPlacementTarget::curveLogicalPointFromWorld | ( | double | worldX, |
| double | worldY, | ||
| double | worldZ | ||
| ) | const |
Convert a world-space point to continuous logical grid coordinates.
在文件 BuildingTarget.cpp 第 1167 行定义.
引用了 eve::building::PlacementWorld::cellToWorldPlane(), dx, dy, eve::building::PlacementWorld::getGridPlaneName(), ox, oy, point , 以及 eve::building_editing::BuildingEdgeCurvePoint::x.
被这些函数引用 eve::building_editing::BuildingEdgeCurveDragSession::updateDrag().
◆ describe()
|
overridevirtual |
◆ edgeCubicBezierGizmo()
| editing::GizmoSnapshot eve::building_editing::BuildingPlacementTarget::edgeCubicBezierGizmo | ( | const std::string & | buildingId, |
| const std::vector< BuildingEdgeCurvePoint > & | controlPoints, | ||
| int | subdivisions, | ||
| int | level = 0, |
||
| int | replacingMemberInstanceId = 0, |
||
| const std::string & | surfaceName = {} |
||
| ) | const |
Build renderer-neutral handles, tangent lines and sampled path for a curve draft.
在文件 BuildingTarget.cpp 第 1022 行定义.
引用了 a, b, eve::building::PlacementWorld::cellToWorldPlane(), color, eve::building_editing::BuildingPlacementPreview::diagnostics, eve::editing::GizmoSnapshot::diagnostics, elevation, eve::building::PlacementWorld::getCellSize(), eve::building::PlacementWorld::getFloorHeight(), eve::building::PlacementWorld::getGridPlaneName(), handle, hit, id, eve::editing::GizmoPrimitive::id, index, level, line, ox, oy, preview(), previewEdgeCubicBezier(), eve::editing::GizmoSnapshot::primitives, px, py, eve::editing::EditableTargetState::revisionValue(), eve::building::PlacementSystem::sampleSurface(), eve::building_editing::BuildingPlacementPreview::status, eve::editing::GizmoSnapshot::status, eve::editing::GizmoSnapshot::target, eve::editing::GizmoSnapshot::targetRevision, x , 以及 y.
被这些函数引用 eve::building_editing::BuildingEdgeCurveDragSession::beginDrag().
◆ editorCapabilityId()
|
inlinestatic |
Stable capability id for placement preview and mutation.
在文件 BuildingTarget.h 第 162 行定义.
被这些函数引用 queryCapability().
◆ instance()
| Result< BuildingInstanceSnapshot > eve::building_editing::BuildingPlacementTarget::instance | ( | int | instanceId | ) | const |
Return a complete immutable instance snapshot.
在文件 BuildingTarget.cpp 第 529 行定义.
引用了 eve::building::PlacementWorld::buildings() , 以及 found.
被这些函数引用 applyDomainOperation(), makeMove(), makeMoveFree(), makeRemove() , 以及 makeReplace().
◆ makeBrush()
| Result< DomainOperation > eve::building_editing::BuildingPlacementTarget::makeBrush | ( | const std::string & | buildingId, |
| int | centerCellX, | ||
| int | centerCellY, | ||
| int | radius, | ||
| double | rotationDegrees | ||
| ) | const |
Plan one atomic reversible circular-brush placement gesture.
在文件 BuildingTarget.cpp 第 787 行定义.
引用了 preview(), eve::building::PlacementSystem::previewBrush(), radius , 以及 rotationDegrees.
◆ makeEdgeCubicBezier()
| Result< DomainOperation > eve::building_editing::BuildingPlacementTarget::makeEdgeCubicBezier | ( | const std::string & | buildingId, |
| const std::vector< BuildingEdgeCurvePoint > & | controlPoints, | ||
| int | subdivisions | ||
| ) | const |
Plan one atomic reversible cubic Bezier edge-curve gesture.
在文件 BuildingTarget.cpp 第 855 行定义.
引用了 point.
被这些函数引用 makeEdgeCubicBezierOnSurface() , 以及 makeUpdateEdgeCubicBezier().
◆ makeEdgeCubicBezierOnSurface()
| Result< DomainOperation > eve::building_editing::BuildingPlacementTarget::makeEdgeCubicBezierOnSurface | ( | const std::string & | buildingId, |
| const std::vector< BuildingEdgeCurvePoint > & | controlPoints, | ||
| int | subdivisions, | ||
| const std::string & | surfaceName | ||
| ) | const |
Plan one atomic reversible cubic curve sampled on a named surface.
在文件 BuildingTarget.cpp 第 899 行定义.
引用了 makeEdgeCubicBezier(), operation , 以及 point.
◆ makeEdgePath()
| Result< DomainOperation > eve::building_editing::BuildingPlacementTarget::makeEdgePath | ( | const std::string & | buildingId, |
| const std::vector< BuildingEdgePathVertex > & | vertices | ||
| ) | const |
Plan one atomic reversible multi-segment edge path gesture.
在文件 BuildingTarget.cpp 第 799 行定义.
引用了 vertices.
◆ makeMove()
| Result< DomainOperation > eve::building_editing::BuildingPlacementTarget::makeMove | ( | int | instanceId, |
| int | cellX, | ||
| int | cellY, | ||
| double | rotationDegrees | ||
| ) | const |
Plan reversible movement of an existing building.
在文件 BuildingTarget.cpp 第 637 行定义.
引用了 eve::building_editing::BuildingInstanceSnapshot::buildingId, eve::building::PlacementSystem::canPlaceCorner(), eve::building::PlacementSystem::canPlaceElev(), eve::building::PlacementSystem::canPlaceFree(), eve::building::PlacementWorld::cellToWorldPlane(), eve::building_editing::BuildingInstanceSnapshot::cellX, eve::building_editing::BuildingInstanceSnapshot::cellY, eve::building_editing::BuildingInstanceSnapshot::cornerX, eve::building_editing::BuildingInstanceSnapshot::cornerY, current, eve::building_editing::BuildingInstanceSnapshot::elevation, instance(), eve::building_editing::BuildingInstanceSnapshot::level, eve::building::PlacementSystem::normalizeRotation(), eve::building_editing::BuildingInstanceSnapshot::placementKind, eve::building_editing::BuildingInstanceSnapshot::rotationDegrees, rotationDegrees, valid, eve::building_editing::BuildingInstanceSnapshot::worldX , 以及 eve::building_editing::BuildingInstanceSnapshot::worldY.
◆ makeMoveFree()
| Result< DomainOperation > eve::building_editing::BuildingPlacementTarget::makeMoveFree | ( | int | instanceId, |
| double | worldX, | ||
| double | worldY, | ||
| double | elevation, | ||
| double | rotationDegrees | ||
| ) | const |
Build an exact free-domain move operation without grid snapping.
在文件 BuildingTarget.cpp 第 684 行定义.
引用了 eve::building_editing::BuildingInstanceSnapshot::buildingId, eve::building::PlacementSystem::canPlaceFree(), current, eve::building_editing::BuildingInstanceSnapshot::elevation, elevation, instance(), eve::building_editing::BuildingInstanceSnapshot::level, eve::building::PlacementSystem::normalizeRotation(), eve::building_editing::BuildingInstanceSnapshot::rotationDegrees, rotationDegrees, eve::building_editing::BuildingInstanceSnapshot::worldX , 以及 eve::building_editing::BuildingInstanceSnapshot::worldY.
◆ makePlace()
| Result< DomainOperation > eve::building_editing::BuildingPlacementTarget::makePlace | ( | const BuildingInstanceSnapshot & | placed | ) | const |
Plan reversible exact-id placement after full footprint validation.
在文件 BuildingTarget.cpp 第 606 行定义.
引用了 eve::building::PlacementSystem::canPlaceCorner(), eve::building::PlacementSystem::canPlaceEdge(), eve::building::PlacementSystem::canPlaceElev(), eve::building::PlacementSystem::canPlaceFree(), eve::building::PlacementWorld::hasBuilding(), placed , 以及 valid.
◆ makeRectangle()
| Result< DomainOperation > eve::building_editing::BuildingPlacementTarget::makeRectangle | ( | const std::string & | buildingId, |
| int | minCellX, | ||
| int | minCellY, | ||
| int | maxCellX, | ||
| int | maxCellY, | ||
| double | rotationDegrees | ||
| ) | const |
Plan one atomic reversible rectangular placement gesture.
在文件 BuildingTarget.cpp 第 774 行定义.
引用了 preview(), eve::building::PlacementSystem::previewRectangle() , 以及 rotationDegrees.
◆ makeRemove()
| Result< DomainOperation > eve::building_editing::BuildingPlacementTarget::makeRemove | ( | int | instanceId | ) | const |
Plan reversible removal preserving properties, tags and garrison state.
在文件 BuildingTarget.cpp 第 1197 行定义.
引用了 current , 以及 instance().
◆ makeReplace()
| Result< DomainOperation > eve::building_editing::BuildingPlacementTarget::makeReplace | ( | int | instanceId, |
| const std::string & | replacementBuildingId | ||
| ) | const |
Plan a reversible cell-definition replacement preserving instance state.
在文件 BuildingTarget.cpp 第 713 行定义.
引用了 eve::building_editing::BuildingInstanceSnapshot::buildingId, eve::building::PlacementWorld::buildings(), eve::building::PlacementSystem::canPlaceCorner(), eve::building::PlacementSystem::canPlaceEdge(), eve::building::PlacementSystem::canPlaceElev(), eve::building::PlacementSystem::canPlaceFree(), eve::building::BuildingDefinition::channel, current, eve::building::BuildingRegistry::find(), instance(), eve::building::PlacementSystem::normalizeRotation(), eve::building::BuildingDefinition::placementKind, source, eve::building::BuildingDefinition::tags , 以及 valid.
◆ makeUpdateEdgeCubicBezier()
| Result< DomainOperation > eve::building_editing::BuildingPlacementTarget::makeUpdateEdgeCubicBezier | ( | int | memberInstanceId, |
| const std::vector< BuildingEdgeCurvePoint > & | controlPoints, | ||
| int | subdivisions | ||
| ) | const |
Plan atomic replacement of an existing curve group after a handle drag.
在文件 BuildingTarget.cpp 第 1112 行定义.
引用了 eve::building::PlacementWorld::cloneState(), eve::building::PlacementWorld::edgeCurveGroupForInstance(), makeEdgeCubicBezier(), point, eve::building::PlacementSystem::removeBuilding(), eve::editing::EditableTargetState::revisionValue() , 以及 eve::building::PlacementSystem::sampleEdgeCurveSurface().
被这些函数引用 eve::building_editing::BuildingEdgeCurveDragSession::finishDrag().
◆ nextAvailableInstanceId()
| int eve::building_editing::BuildingPlacementTarget::nextAvailableInstanceId | ( | ) | const |
Return the smallest currently unused positive instance id.
在文件 BuildingTarget.cpp 第 541 行定义.
◆ operator=() [1/2]
|
defaultnoexcept |
Operator =.
◆ operator=() [2/2]
|
delete |
◆ preview()
| BuildingPlacementPreview eve::building_editing::BuildingPlacementTarget::preview | ( | const std::string & | buildingId, |
| double | worldX, | ||
| double | worldY, | ||
| double | elevation, | ||
| double | rotationDegrees, | ||
| int | excludeInstanceId = 0 |
||
| ) | const |
Preview snap, normalized rotation, footprint cells and validation reasons.
在文件 BuildingTarget.cpp 第 548 行定义.
引用了 cell, eve::building_editing::BuildingPlacementPreview::cells, eve::building::SnapResult::cellX, eve::building::SnapResult::cellY, eve::building_editing::BuildingPlacementPreview::diagnostics, eve::building_editing::BuildingPlacementPreview::elevation, elevation, eve::building::PlacementSystem::ensureBuiltins(), eve::building::BuildingRegistry::find(), eve::building::PlacementSystem::foreachFootprintCell(), eve::building_editing::BuildingPlacementPreview::normalizedRotation, eve::building::PlacementSystem::normalizeRotation(), eve::NotFound, eve::PreconditionViolation, eve::editing::EditableTargetState::revisionValue(), rotationDegrees, eve::editing::ruleDiagnostic(), eve::building::PlacementSystem::snap(), eve::building_editing::BuildingPlacementPreview::snappedCellX, eve::building_editing::BuildingPlacementPreview::snappedCellY, eve::building_editing::BuildingPlacementPreview::snappedWorldX, eve::building_editing::BuildingPlacementPreview::snappedWorldY, eve::building_editing::BuildingPlacementPreview::status, eve::building_editing::BuildingPlacementPreview::worldRevision, eve::building::SnapResult::worldX, eve::building::SnapResult::worldY, x , 以及 y.
被这些函数引用 edgeCubicBezierGizmo(), makeBrush() , 以及 makeRectangle().
◆ previewEdgeCubicBezier()
| BuildingEdgeCurvePreview eve::building_editing::BuildingPlacementTarget::previewEdgeCubicBezier | ( | const std::string & | buildingId, |
| const std::vector< BuildingEdgeCurvePoint > & | controlPoints, | ||
| int | subdivisions, | ||
| int | replacingMemberInstanceId = 0, |
||
| const std::string & | surfaceName = {} |
||
| ) | const |
Recompute an immutable interactive curve draft without mutating the world.
在文件 BuildingTarget.cpp 第 933 行定义.
引用了 eve::building_editing::BuildingEdgeCurvePreview::controlPoints, eve::building_editing::BuildingEdgeCurvePreview::diagnostics, point, eve::PreconditionViolation, eve::editing::EditableTargetState::revisionValue(), eve::editing::ruleDiagnostic(), eve::building_editing::BuildingEdgeCurvePreview::status , 以及 eve::building_editing::BuildingEdgeCurvePreview::worldRevision.
被这些函数引用 edgeCubicBezierGizmo().
◆ queryCapability()
|
overridevirtual |
Query an optional target capability.
- 返回
- Borrowed pointer owned by this target, or null. @lifetime Valid until this target is destroyed or mutated.
重载 eve::editing::IEditableTarget .
在文件 BuildingTarget.cpp 第 525 行定义.
引用了 eve::editing::IEditableTarget::capability() , 以及 editorCapabilityId().
◆ snapshotValue()
| EditorValue eve::building_editing::BuildingPlacementTarget::snapshotValue | ( | ) | const |
Capture all instances in deterministic insertion order.
在文件 BuildingTarget.cpp 第 1427 行定义.
引用了 eve::building::PlacementWorld::buildings(), eve::building::PlacementWorld::edgeCurveGroup(), eve::building::PlacementWorld::edgeCurveGroupIds(), found, eve::building::PlacementWorld::getBuildingCount(), eve::building::PlacementWorld::getBuildingInstanceAt(), eve::building::PlacementWorld::getId(), group, index, instances , 以及 members.
◆ targetId()
|
inlineoverridevirtual |
Target id.
实现了 eve::editing::IEditableTarget.
在文件 BuildingTarget.h 第 186 行定义.
被这些函数引用 commitDomainState().
该类的文档由以下文件生成:
- src/modules/building/editing/BuildingTarget.h
- src/modules/building/editing/BuildingTarget.cpp
Public 成员函数 继承自