载入中...
搜索中...
未找到
ArchSpaceCatalog.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
6
7#include <optional>
8#include <string>
9#include <string_view>
10#include <vector>
11
12namespace eve::archspace {
13
17 Vec3 size{0.5, 0.5, 0.5};
18 std::string suffix;
19};
20
23 std::string id;
24 std::string displayName;
25 std::vector<CatalogPart> parts;
26};
27
32[[nodiscard]] EVENGINE_API_WORLD std::optional<CatalogEntry> lookupCatalog(std::string_view catalogId);
33
35[[nodiscard]] EVENGINE_API_WORLD std::vector<std::string> listCatalogIds();
36
45void appendCatalogItem(MeshBake& bake, const std::string& itemId, const std::string& catalogId, const Vec3& position,
46 double yawDegrees);
47
55void appendWallWithOpenings(MeshBake& bake, const Node& wall, double elevation,
56 const std::vector<const Node*>& openings);
57
58} // namespace eve::archspace
LogicalId itemId
#define EVENGINE_API_WORLD
Definition Export.h:109
float elevation
std::array< float, 3 > position
std::optional< CatalogEntry > lookupCatalog(std::string_view catalogId)
Resolve a built-in furniture catalog entry.
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.
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.
Built-in catalog entry resolved from an item catalogId.
std::vector< CatalogPart > parts
One parametric furniture part in catalog-local metres (Y-up).
Vec3 size
Full extents along local X / Y / Z.
Vec3 center
Local center relative to the item origin.
std::string suffix
Appended to the item id for bake primitive ids.
Renderer-neutral triangle mesh rebuilt from the document.
One authored architectural node. Only fields for the active kind are meaningful.
Metres in world/level space.