载入中...
搜索中...
未找到
eve::archspace_editing::ArchSpaceDocumentTarget类 参考final

Revisioned ArchSpace document target for Inspector, tools and automation. 更多...

#include <ArchSpaceTarget.h>

类 eve::archspace_editing::ArchSpaceDocumentTarget 继承关系图:
eve::editing::EditableTargetState eve::editing::IEditableTarget eve::editing::IDomainOperationTarget eve::editing::IDomainOperationTargetStaging eve::editing::IPropertyProvider eve::editing::IEditingSnapshotProvider eve::editing::IEditableTarget eve::editing::IEditableTarget

Public 成员函数

 ArchSpaceDocumentTarget (std::string id)
 Arch space document target.
 
TargetId targetId () const override
 Target id.
 
TargetDescriptor describe () const override
 Describe.
 
void * queryCapability (const CapabilityId &capability) override
 Query Inspector property capability. @ownership Borrowed from this target; callers must not delete it. @lifetime Valid until this target is destroyed.
 
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.
 
eve::Result< eve::Revision > currentRevision (const SelectionSnapshot &selection) const override
 Current revision.
 
PropertySchema schema (const SelectionSnapshot &selection) const override
 Schema.
 
PropertyReadResult read (const SelectionSnapshot &selection, const PropertyPath &path) const override
 Reads .
 
Result< DomainOperation > makeSet (const SelectionSnapshot &selection, const PropertyPath &path, const EditorValue &value, PropertySetMode mode) const override
 Make set.
 
Result< DomainOperation > makeReset (const SelectionSnapshot &selection, const PropertyPath &path) const override
 Make reset.
 
Result< DomainOperation > makeBootstrap (const std::string &siteId, const std::string &buildingId, const std::string &levelId, double levelHeight=3.0) const
 Plan site→building→level creation on an empty document.
 
Result< DomainOperation > makeCreateRectRoom (const std::string &levelId, const std::string &roomId, std::string roomName, double originX, double originZ, double sizeX, double sizeZ, double wallHeight=3.0, double wallThickness=0.2, double slabThickness=0.2) const
 Plan a rectangular room (four walls + slab + zone) under a level.
 
Result< DomainOperation > makeCreateWall (const std::string &levelId, const std::string &wallId, std::string wallName, archspace::Vec2 start, archspace::Vec2 end, double height=3.0, double thickness=0.2) const
 Plan a single wall under a level.
 
Result< DomainOperation > makeCreateOpening (const std::string &wallId, const std::string &openingId, archspace::OpeningKind kind, double t, double width, double height, double sill=0.0) const
 Plan a door/window opening on an existing wall.
 
Result< DomainOperation > makePlaceItem (const std::string &levelId, const std::string &itemId, std::string catalogId, archspace::Vec3 position, double yawDegrees=0.0) const
 Plan a catalog item placement on a level.
 
Result< DomainOperation > makeDeleteNode (const ObjectId &id) const
 Plan cascading deletion of one node.
 
const archspace::Document & document () const
 Document.
 
std::vector< EditorDiagnostic > validate () const
 Validate.
 
EditorValue snapshotValue () const override
 Snapshot value.
 
Result< void > loadSnapshot (const EditorValue &snapshot)
 Loads snapshot.
 
Result< EditorGizmoSnapshot > gizmo () const
 Build a revision-bound overlay for walls, zones, items and openings.
 
archspace::MeshBake bakeMesh () const
 Bake renderer-neutral triangle mesh for the current revision.
 
- 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 成员函数 继承自 eve::editing::IPropertyProvider
virtual ~IPropertyProvider ()=default
 Releases IPropertyProvider resources.
 
- Public 成员函数 继承自 eve::editing::IEditingSnapshotProvider
virtual ~IEditingSnapshotProvider ()=default
 Releases IEditingSnapshotProvider resources.
 

静态 Public 成员函数

static CapabilityId propertyCapabilityId ()
 Capability identity published by describe() for Inspector property editing.
 
- 静态 Public 成员函数 继承自 eve::editing::IPropertyProvider
static CapabilityId editingCapabilityId ()
 Stable capability identity for generic property editing.
 
- 静态 Public 成员函数 继承自 eve::editing::IEditingSnapshotProvider
static CapabilityId editingCapabilityId ()
 Stable capability identity shared by every editable domain target.
 

额外继承的成员函数

- Protected 成员函数 继承自 eve::editing::EditableTargetState
void widenDirty (int x, int y)
 Widen the dirty region without advancing the revision.
 
void widenDirty (const EditRegion &region)
 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 &region)
 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 &region)
 Include a whole region and advance the revision.
 
void markDirty ()
 Mark an unknown area dirty and advance the revision.
 

详细描述

Revisioned ArchSpace document target for Inspector, tools and automation.

Mutations are expressed as reversible archspace.document.replace.v1 domain operations. High-level helpers (bootstrap/room/opening/item) plan those replacements without bypassing validation.

在文件 ArchSpaceTarget.h 第 55 行定义.

构造及析构函数说明

◆ ArchSpaceDocumentTarget()

eve::archspace_editing::ArchSpaceDocumentTarget::ArchSpaceDocumentTarget ( std::string  id)
explicit

Arch space document target.

在文件 ArchSpaceTarget.cpp 第 182 行定义.

成员函数说明

◆ applyDomainOperation()

Result< void > eve::archspace_editing::ArchSpaceDocumentTarget::applyDomainOperation ( const DomainOperation &  operation)
overridevirtual

◆ bakeMesh()

archspace::MeshBake eve::archspace_editing::ArchSpaceDocumentTarget::bakeMesh ( ) const
inline

Bake renderer-neutral triangle mesh for the current revision.

在文件 ArchSpaceTarget.h 第 131 行定义.

◆ cloneDomainState()

std::unique_ptr< IDomainOperationTarget > eve::archspace_editing::ArchSpaceDocumentTarget::cloneDomainState ( ) const
overridevirtual

Clones domain state.

实现了 eve::editing::IDomainOperationTargetStaging.

在文件 ArchSpaceTarget.cpp 第 541 行定义.

◆ commitDomainState()

Result< void > eve::archspace_editing::ArchSpaceDocumentTarget::commitDomainState ( std::unique_ptr< IDomainOperationTarget >  candidate)
overridevirtual

Commits domain state.

实现了 eve::editing::IDomainOperationTargetStaging.

在文件 ArchSpaceTarget.cpp 第 545 行定义.

◆ currentRevision()

eve::Result< eve::Revision > eve::archspace_editing::ArchSpaceDocumentTarget::currentRevision ( const SelectionSnapshot &  selection) const
overridevirtual

◆ describe()

TargetDescriptor eve::archspace_editing::ArchSpaceDocumentTarget::describe ( ) const
overridevirtual

◆ document()

const archspace::Document & eve::archspace_editing::ArchSpaceDocumentTarget::document ( ) const
inline

Document.

在文件 ArchSpaceTarget.h 第 121 行定义.

◆ gizmo()

◆ loadSnapshot()

Result< void > eve::archspace_editing::ArchSpaceDocumentTarget::loadSnapshot ( const EditorValue &  snapshot)

◆ makeBootstrap()

Result< DomainOperation > eve::archspace_editing::ArchSpaceDocumentTarget::makeBootstrap ( const std::string &  siteId,
const std::string &  buildingId,
const std::string &  levelId,
double  levelHeight = 3.0 
) const

Plan site→building→level creation on an empty document.

在文件 ArchSpaceTarget.cpp 第 432 行定义.

引用了 eve::archspace::Document::bootstrap().

◆ makeCreateOpening()

Result< DomainOperation > eve::archspace_editing::ArchSpaceDocumentTarget::makeCreateOpening ( const std::string &  wallId,
const std::string &  openingId,
archspace::OpeningKind  kind,
double  t,
double  width,
double  height,
double  sill = 0.0 
) const

Plan a door/window opening on an existing wall.

在文件 ArchSpaceTarget.cpp 第 484 行定义.

引用了 created, eve::archspace::Document::createOpening(), height, kind, t , 以及 width.

◆ makeCreateRectRoom()

Result< DomainOperation > eve::archspace_editing::ArchSpaceDocumentTarget::makeCreateRectRoom ( const std::string &  levelId,
const std::string &  roomId,
std::string  roomName,
double  originX,
double  originZ,
double  sizeX,
double  sizeZ,
double  wallHeight = 3.0,
double  wallThickness = 0.2,
double  slabThickness = 0.2 
) const

Plan a rectangular room (four walls + slab + zone) under a level.

在文件 ArchSpaceTarget.cpp 第 446 行定义.

引用了 created , 以及 eve::archspace::Document::createRoom().

◆ makeCreateWall()

Result< DomainOperation > eve::archspace_editing::ArchSpaceDocumentTarget::makeCreateWall ( const std::string &  levelId,
const std::string &  wallId,
std::string  wallName,
archspace::Vec2  start,
archspace::Vec2  end,
double  height = 3.0,
double  thickness = 0.2 
) const

Plan a single wall under a level.

在文件 ArchSpaceTarget.cpp 第 470 行定义.

引用了 created, eve::archspace::Document::createWall(), end, height, start , 以及 thickness.

◆ makeDeleteNode()

Result< DomainOperation > eve::archspace_editing::ArchSpaceDocumentTarget::makeDeleteNode ( const ObjectId &  id) const

Plan cascading deletion of one node.

在文件 ArchSpaceTarget.cpp 第 514 行定义.

引用了 eve::archspace::Document::eraseCascade() , 以及 value.

◆ makePlaceItem()

Result< DomainOperation > eve::archspace_editing::ArchSpaceDocumentTarget::makePlaceItem ( const std::string &  levelId,
const std::string &  itemId,
std::string  catalogId,
archspace::Vec3  position,
double  yawDegrees = 0.0 
) const

Plan a catalog item placement on a level.

在文件 ArchSpaceTarget.cpp 第 499 行定义.

引用了 itemId, placed, eve::archspace::Document::placeItem() , 以及 position.

◆ makeReset()

Result< DomainOperation > eve::archspace_editing::ArchSpaceDocumentTarget::makeReset ( const SelectionSnapshot &  selection,
const PropertyPath &  path 
) const
overridevirtual

Make reset.

实现了 eve::editing::IPropertyProvider.

在文件 ArchSpaceTarget.cpp 第 423 行定义.

引用了 descriptor, eve::editing::PropertySchema::find(), makeSet(), path , 以及 schema().

被这些函数引用 makeSet().

◆ makeSet()

◆ propertyCapabilityId()

static CapabilityId eve::archspace_editing::ArchSpaceDocumentTarget::propertyCapabilityId ( )
inlinestatic

Capability identity published by describe() for Inspector property editing.

在文件 ArchSpaceTarget.h 第 66 行定义.

被这些函数引用 describe() , 以及 queryCapability().

◆ queryCapability()

void * eve::archspace_editing::ArchSpaceDocumentTarget::queryCapability ( const CapabilityId &  capability)
overridevirtual

Query Inspector property capability. @ownership Borrowed from this target; callers must not delete it. @lifetime Valid until this target is destroyed.

重载 eve::editing::IEditableTarget .

在文件 ArchSpaceTarget.cpp 第 192 行定义.

引用了 eve::editing::IEditableTarget::capability(), eve::editing::IEditingSnapshotProvider::editingCapabilityId() , 以及 propertyCapabilityId().

◆ read()

PropertyReadResult eve::archspace_editing::ArchSpaceDocumentTarget::read ( const SelectionSnapshot &  selection,
const PropertyPath &  path 
) const
overridevirtual

Reads .

实现了 eve::editing::IPropertyProvider.

在文件 ArchSpaceTarget.cpp 第 256 行定义.

引用了 node, path , 以及 schema().

◆ schema()

PropertySchema eve::archspace_editing::ArchSpaceDocumentTarget::schema ( const SelectionSnapshot &  selection) const
overridevirtual

◆ snapshotValue()

EditorValue eve::archspace_editing::ArchSpaceDocumentTarget::snapshotValue ( ) const
overridevirtual

Snapshot value.

实现了 eve::editing::IEditingSnapshotProvider.

在文件 ArchSpaceTarget.cpp 第 199 行定义.

◆ targetId()

TargetId eve::archspace_editing::ArchSpaceDocumentTarget::targetId ( ) const
inlineoverridevirtual

Target id.

实现了 eve::editing::IEditableTarget.

在文件 ArchSpaceTarget.h 第 69 行定义.

◆ validate()

std::vector< EditorDiagnostic > eve::archspace_editing::ArchSpaceDocumentTarget::validate ( ) const

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