载入中...
搜索中...
未找到
eve::archspace 命名空间参考

类

class  ArchSpace
 Runtime ArchSpace module entry used for profile wiring and script discovery. 更多...
 
struct  CatalogEntry
 Built-in catalog entry resolved from an item catalogId. 更多...
 
struct  CatalogPart
 One parametric furniture part in catalog-local metres (Y-up). 更多...
 
class  Document
 Authoritative architectural space document (Pascal-like node graph). 更多...
 
struct  MeshArrays
 Interleaved GPU-upload arrays derived from MeshBake. 更多...
 
struct  MeshBake
 Renderer-neutral triangle mesh rebuilt from the document. 更多...
 
struct  Node
 One authored architectural node. Only fields for the active kind are meaningful. 更多...
 
struct  Vec2
 Metres on the level XZ plane. 更多...
 
struct  Vec3
 Metres in world/level space. 更多...
 

枚举

enum class  NodeKind : std::uint8_t {
  Site = 0 , Building , Level , Wall ,
  Slab , Zone , Item , Opening
}
 Stable node kind discriminator for the architectural document. 更多...
 
enum class  OpeningKind : std::uint8_t { Door = 0 , Window }
 Opening semantic used by doors and windows hosted on walls. 更多...
 

函数

 Module_IMPL (ArchSpace, new ArchSpace())
 
std::optional< CatalogEntry > lookupCatalog (std::string_view catalogId)
 Resolve a built-in furniture catalog entry.
 
std::vector< std::string > listCatalogIds ()
 Stable list of built-in catalog ids for tools and inspector UIs.
 
void appendCatalogItem (MeshBake &bake, const std::string &itemId, const std::string &catalogId, const Vec3 &position, double yawDegrees)
 Append yaw-oriented catalog geometry into a mesh bake.
 
void appendWallWithOpenings (MeshBake &bake, const Node &wall, double elevation, const std::vector< const Node * > &openings)
 Bake one wall with merged opening cavities and explicit reveal liners.
 
MeshArrays toMeshArrays (const MeshBake &bake)
 Convert a MeshBake into flat arrays with per-triangle normals.
 
const char * nodeKindName (NodeKind kind) noexcept
 Stable wire name for a node kind. @ownership Non-owning pointer to a static string literal; do not free. @lifetime Valid for the process lifetime.
 
eve::Result< NodeKind > parseNodeKind (const std::string &text) noexcept
 Parse a node kind wire name.
 
const char * openingKindName (OpeningKind kind) noexcept
 Stable wire name for an opening kind. @ownership Non-owning pointer to a static string literal; do not free. @lifetime Valid for the process lifetime.
 
eve::Result< OpeningKind > parseOpeningKind (const std::string &text) noexcept
 Parse an opening kind wire name.
 

枚举类型说明

◆ NodeKind

enum class eve::archspace::NodeKind : std::uint8_t
strong

Stable node kind discriminator for the architectural document.

枚举值
Site 
Building 
Level 
Wall 
Slab 
Zone 
Item 
Opening 

在文件 ArchSpaceTypes.h 第 13 行定义.

◆ OpeningKind

enum class eve::archspace::OpeningKind : std::uint8_t
strong

Opening semantic used by doors and windows hosted on walls.

枚举值
Door 
Window 

在文件 ArchSpaceTypes.h 第 16 行定义.

函数说明

◆ appendCatalogItem()

void eve::archspace::appendCatalogItem ( MeshBake &  bake,
const std::string &  itemId,
const std::string &  catalogId,
const Vec3 &  position,
double  yawDegrees 
)

Append yaw-oriented catalog geometry into a mesh bake.

参数
bakeDestination mesh.
itemIdStable item node id used as the primitive id prefix.
catalogIdCatalog key; unknown ids emit a default marker box.
positionWorld/level position of the item origin.
yawDegreesRotation about +Y in degrees.

在文件 ArchSpaceCatalog.cpp 第 120 行定义.

引用了 c, center, itemId, lookupCatalog(), position, s , 以及 eve::archspace::Vec3::x.

被这些函数引用 eve::archspace::Document::bakeMesh().

◆ appendWallWithOpenings()

void eve::archspace::appendWallWithOpenings ( MeshBake &  bake,
const Node &  wall,
double  elevation,
const std::vector< const Node * > &  openings 
)

Bake one wall with merged opening cavities and explicit reveal liners.

Overlapping openings are merged along the wall parameter before carving. Reveal primitives use *.reveal.* ids so hosts can distinguish cavity liners from structure. This is a parametric boolean (segment solids + reveal faces), not IFC/CSG BREP.

在文件 ArchSpaceCatalog.cpp 第 135 行定义.

引用了 a, b, bottom, cursor, dir, Door, elevation, eve::archspace::Node::end, eve::archspace::Node::height, id, eve::archspace::Node::id, eve::ui::WidgetDesc::id, kind, Opening, eve::archspace::Node::start, eve::archspace::Node::thickness, top, Window, eve::archspace::Vec2::x , 以及 eve::archspace::Vec2::z.

被这些函数引用 eve::archspace::Document::bakeMesh().

◆ listCatalogIds()

EVENGINE_API_WORLD std::vector< std::string > eve::archspace::listCatalogIds ( )

Stable list of built-in catalog ids for tools and inspector UIs.

在文件 ArchSpaceCatalog.cpp 第 112 行定义.

引用了 ids , 以及 size.

◆ lookupCatalog()

EVENGINE_API_WORLD std::optional< CatalogEntry > eve::archspace::lookupCatalog ( std::string_view  catalogId)

Resolve a built-in furniture catalog entry.

返回
Entry when known; empty optional for unknown ids (bake falls back to a marker).

在文件 ArchSpaceCatalog.cpp 第 106 行定义.

引用了 end.

被这些函数引用 appendCatalogItem().

◆ Module_IMPL()

eve::archspace::Module_IMPL ( ArchSpace  ,
new   ArchSpace() 
)

◆ nodeKindName()

const char * eve::archspace::nodeKindName ( NodeKind  kind)
inlinenoexcept

Stable wire name for a node kind. @ownership Non-owning pointer to a static string literal; do not free. @lifetime Valid for the process lifetime.

在文件 ArchSpaceTypes.h 第 141 行定义.

引用了 Building, Item, kind, Level, Opening, Site, Slab, Wall , 以及 Zone.

被这些函数引用 eve::archspace_editing::ArchSpaceDocumentTarget::schema().

◆ openingKindName()

const char * eve::archspace::openingKindName ( OpeningKind  kind)
inlinenoexcept

Stable wire name for an opening kind. @ownership Non-owning pointer to a static string literal; do not free. @lifetime Valid for the process lifetime.

在文件 ArchSpaceTypes.h 第 178 行定义.

引用了 kind , 以及 Window.

被这些函数引用 eve::archspace_editing::ArchSpaceDocumentTarget::gizmo().

◆ parseNodeKind()

eve::Result< NodeKind > eve::archspace::parseNodeKind ( const std::string &  text)
inlinenoexcept

Parse a node kind wire name.

返回
Parsed kind, or InvalidArgument when the text is unknown.

Failure.

在文件 ArchSpaceTypes.h 第 159 行定义.

引用了 Building, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, Item, Level, Opening, Site, Slab, eve::Result< T >::success(), text, Wall , 以及 Zone.

◆ parseOpeningKind()

eve::Result< OpeningKind > eve::archspace::parseOpeningKind ( const std::string &  text)
inlinenoexcept

Parse an opening kind wire name.

返回
Parsed kind, or InvalidArgument when the text is unknown.

Failure.

在文件 ArchSpaceTypes.h 第 186 行定义.

引用了 Door, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, eve::Result< T >::success(), text , 以及 Window.

◆ toMeshArrays()

MeshArrays eve::archspace::toMeshArrays ( const MeshBake &  bake)
inline