类 | |
| struct | AABB3f |
| Axis-aligned box in world space. 更多... | |
| struct | CameraClip |
| Camera view-projection matrix and its inverse for one viewport. 更多... | |
| struct | FollowPlayerInput |
| Per-frame player observation supplied by the application. 更多... | |
| struct | FollowPlayerOutput |
| Provider-neutral transform writes produced for every followed object. 更多... | |
| struct | FollowPlayerSettings |
| Pcg FollowPlayerSystem configuration independent of render providers. 更多... | |
| class | ISceneCameraProjection |
Camera projection queries answered by the module that owns Camera3D. 更多... | |
| struct | LinkOps |
| LinkOps public API. 更多... | |
| struct | LocationBookmark |
| One named Pcg location bookmark with optional player transform metadata. 更多... | |
| struct | LocationPose |
| Provider-neutral position and quaternion stored by Pcg's location profile. 更多... | |
| class | LocationProfile |
| Caller-owned Pcg location and bookmark state. Mutable operations validate complete candidate data before publication. No scene objects are retained. 更多... | |
| struct | LocationSnapshot |
| Loaded camera/player transform pair. 更多... | |
| struct | NodeDesc |
| Declarative scene-node description (build once / on dirty → flatten into SceneHost::Tree). Isomorphic to eve::ui::WidgetDesc. 更多... | |
| class | PcgBuildConfig |
| Caller-owned Pcg publication configuration and ordered build history. 更多... | |
| struct | PcgBuildLogEntry |
| PcgBuildLogEntry public API. 更多... | |
| class | PcgGrowth |
| Caller-owned one-shot Pcg Growth state with explicit time and random seed. 更多... | |
| class | Scene |
| Declarative scene module (eve.Scene). 更多... | |
| struct | SceneArtifactHandleTag |
| Owner tag for scene artifact runtime handles. 更多... | |
| struct | SceneArtifactNode |
| Backend-neutral node observable emitted for one artifact part. 更多... | |
| class | SceneArtifactProvider |
| Real scene-module provider for generated artifact publication. 更多... | |
| struct | SceneArtifactRecord |
| Queryable scene registry record for one published artifact. 更多... | |
| class | SceneArtifactStage |
| class | SceneComponent |
| React-style scene component: implement build(), call setState / markDirty, then rebuild(). Mounts onto a named SceneHost via mountAs / attach. Isomorphic to eve::ui::Component. 更多... | |
| class | SceneHost |
| ECS mount point for one scene graph (full scene or nested subtree root). Isomorphic to eve::ui::UIHost. 更多... | |
| struct | SceneLink |
| SceneLink public API. 更多... | |
| struct | SceneNode |
| Retained scene node (arena). Conceptual GameObject; isomorphic to eve::ui::UINode. 更多... | |
| class | SceneNodeRef |
| Script handle to a scene node (hostName + nodeId). Deliberately holds strings rather than arena pointers, so it stays valid across rebuilds/reconcile. Node-level entity bindings are forwarded through the Scene module. 更多... | |
| class | SceneObject |
| Per-node ECS identity (created lazily when a node needs script bindings or engine components). A node's stable string id (hostName + nodeId) is mirrored here so ECS systems can address scene nodes and vice versa. 更多... | |
| struct | ScreenRay |
| World-space ray through one screen pixel. 更多... | |
| class | TransformSystem |
| Propagates local TRS → world matrices for all SceneHost trees (or one host). Call after mount/reconcile or local transform edits. 更多... | |
类型定义 | |
| using | SceneArtifactHandle = eve::RuntimeHandle< SceneArtifactHandleTag > |
| Generation-qualified handle for a scene artifact record. | |
| using | GameObject = SceneNode |
| Alias: GameObject is the conceptual name for a SceneNode in a host tree. | |
枚举 | |
| enum class | PcgPublicationType { Addressables =0 , RegularBuild =1 } |
| PcgPublicationType public API. 更多... | |
| enum class | PcgBuildLogCategory { Impostors =0 , ServerScene =1 , CreatedAddressableConfig =2 , AddressableBundles =3 , ProjectBuild =4 , ColliderBaking =5 , UpdatedAddressableConfig =6 } |
| PcgBuildLogCategory public API. 更多... | |
| enum class | SceneMutationStatus { Applied , Rejected } |
| Outcome of an atomic scene-tree mutation. 更多... | |
函数 | |
| eve::Result< SceneArtifactRecord > | failureRecord (eve::DiagnosticCode code, std::string message) |
| eve::Result< eve::Value > | failureValue (eve::DiagnosticCode code, std::string message) |
| bool | validBounds (const eve::artifact::Bounds &bounds) noexcept |
| const eve::Value * | member (const eve::Value::Object &object, const char *name) noexcept |
| bool | readString (const eve::Value::Object &object, const char *name, std::string &output) |
| bool | readUint64String (const eve::Value::Object &object, const char *name, std::uint64_t &output) |
| bool | hasSupportedVersion (const eve::Value::Object &object) noexcept |
| bool | readFloat (const eve::Value::Object &object, const char *name, float &output) |
| bool | readBounds (const eve::Value::Object &object, eve::artifact::Bounds &bounds) |
| eve::Value | boundsValue (const eve::artifact::Bounds &bounds) |
| SceneArtifactProvider & | sceneArtifactProvider () noexcept |
| Return the process-owned scene artifact provider singleton. | |
| void | registerSceneArtifactProvider () |
| Register the scene provider in the common capability registry. | |
| Result< void > | evaluateFollowPlayer (FollowPlayerOutput *output, const FollowPlayerSettings *settings, const FollowPlayerInput *input) |
| Evaluate Pcg FollowPlayerSystem LateUpdate transform semantics. | |
| void | exposeFollowPlayerBindings (ssq::Table &table) |
| Register FollowPlayer value types and evaluator with the root script table. | |
| void | exposeLocationProfileBindings (ssq::Table &table) |
| Register Pcg location profile value types and operations. | |
| void | validateUniqueIds (const NodeDesc &root) |
| NodeDesc | node (std::string id, std::vector< NodeDesc > children={}, std::string name="") |
| Node. | |
| NodeDesc | group (std::vector< NodeDesc > children={}, std::string id="") |
| Group. | |
| NodeDesc | when (bool cond, NodeDesc child) |
Conditional: include child only when cond is true (empty group otherwise). | |
| NodeDesc | whenElse (bool cond, NodeDesc ifTrue, NodeDesc ifFalse) |
| When else. | |
| void | applyTree (SceneHost *host, NodeDesc root) |
| Applies tree. | |
| bool | applyTreeReconcile (SceneHost *host, NodeDesc root) |
| Key-aware patch when structure matches; else full replace. Returns true if full rebuild. | |
| void | exposePcgBuildConfigBindings (ssq::Table &table) |
| Register Pcg build-config bindings. | |
| Result< bool > | applyPcgGrowth (PcgGrowth &growth, SceneNodeRef &node, float now) |
| Advance growth on a real scene node; returns true when it removed the node. | |
| void | exposePcgGrowthBindings (ssq::Table &table) |
| Register Pcg Growth bindings. | |
| Module_IMPL (Scene, new Scene()) | |
| AABB3f | worldBoundsOf (const SceneNode &n) |
| World-space AABB of a node's local bounds (8 corners through world matrix). | |
| bool | rayAABB (const glm::vec3 &o, const glm::vec3 &d, const AABB3f &b, float &t0, float &t1) |
| Slab ray-AABB intersection; fills entry/exit t (t0 <= t1). | |
| bool | cornerInsideClip (const glm::mat4 &m, const glm::vec3 &p) |
| Corner inside clip. | |
| bool | aabbIntersectsFrustum (const glm::mat4 &clip, const glm::mat4 &invClip, const AABB3f &b) |
| Conservative AABB ↔ frustum overlap (AABB corners + frustum corners). | |
| void | registerSceneCapabilities () |
| Registers scene capabilities. | |
| int | registerLinkKind (const LinkOps &ops) |
| Registers link kind. | |
| int | findLinkKind (const char *kind) |
| Finds link kind. | |
| const LinkOps * | linkOps (int kindId) |
| Link ops. | |
| const char * | linkKindName (int kindId) |
| Link kind name. | |
类型定义说明
◆ GameObject
| using eve::scene::GameObject = typedef SceneNode |
Alias: GameObject is the conceptual name for a SceneNode in a host tree.
在文件 SceneHost.h 第 83 行定义.
◆ SceneArtifactHandle
| using eve::scene::SceneArtifactHandle = typedef eve::RuntimeHandle<SceneArtifactHandleTag> |
Generation-qualified handle for a scene artifact record.
在文件 ArtifactProvider.h 第 21 行定义.
枚举类型说明
◆ PcgBuildLogCategory
|
strong |
PcgBuildLogCategory public API.
| 枚举值 | |
|---|---|
| Impostors | |
| ServerScene | |
| CreatedAddressableConfig | |
| AddressableBundles | |
| ProjectBuild | |
| ColliderBaking | |
| UpdatedAddressableConfig | |
在文件 PcgBuildConfig.h 第 13 行定义.
◆ PcgPublicationType
|
strong |
◆ SceneMutationStatus
|
strong |
函数说明
◆ aabbIntersectsFrustum()
|
inline |
Conservative AABB ↔ frustum overlap (AABB corners + frustum corners).
P.
Ndc.
在文件 SceneBounds.h 第 81 行定义.
引用了 b, clip, cornerInsideClip(), p, q , 以及 w.
被这些函数引用 eve::scene::Scene::applyPcgTerrainCullingAt() , 以及 eve::scene::Scene::collectFrustumIdsAt().
◆ applyPcgGrowth()
| EVENGINE_API_PLATFORM Result< bool > eve::scene::applyPcgGrowth | ( | PcgGrowth & | g, |
| SceneNodeRef & | node, | ||
| float | now | ||
| ) |
Advance growth on a real scene node; returns true when it removed the node.
在文件 PcgGrowth.cpp 第 14 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), g, eve::InvalidArgument, node, s, scale , 以及 eve::Result< T >::success().
被这些函数引用 exposePcgGrowthBindings().
◆ applyTree()
Applies tree.
在文件 NodeDesc.cpp 第 243 行定义.
引用了 host, n, root, t , 以及 validateUniqueIds().
被这些函数引用 applyTreeReconcile() , 以及 eve::scene::SceneHost::setTree().
◆ applyTreeReconcile()
Key-aware patch when structure matches; else full replace. Returns true if full rebuild.
在文件 NodeDesc.cpp 第 323 行定义.
引用了 applyTree(), host, root , 以及 t.
◆ boundsValue()
| eve::Value eve::scene::boundsValue | ( | const eve::artifact::Bounds & | bounds | ) |
在文件 ArtifactProvider.cpp 第 83 行定义.
◆ cornerInsideClip()
|
inline |
◆ evaluateFollowPlayer()
| EVENGINE_API_PLATFORM Result< void > eve::scene::evaluateFollowPlayer | ( | FollowPlayerOutput * | output, |
| const FollowPlayerSettings * | settings, | ||
| const FollowPlayerInput * | input | ||
| ) |
Evaluate Pcg FollowPlayerSystem LateUpdate transform semantics.
- 参数
-
output Required caller-owned output replaced atomically on success. settings Finite caller-owned configuration. input Finite player observation; hasPlayer=false suppresses position writes.
- 返回
- Success, or InvalidArgument without modifying output. @ownership Inputs and output remain caller-owned; no pointers are retained. @thread Any thread; this function has no callbacks or global state.
在文件 FollowPlayer.cpp 第 10 行定义.
引用了 eve::scene::FollowPlayerOutput::applyPosition, eve::scene::FollowPlayerOutput::applyScale, eve::Diagnostic::error(), eve::Result< T >::failure(), finite, input, eve::InvalidArgument, output, eve::scene::FollowPlayerOutput::scaleX, eve::scene::FollowPlayerOutput::scaleY, eve::scene::FollowPlayerOutput::scaleZ, settings, eve::Result< T >::success(), eve::scene::FollowPlayerOutput::x, eve::scene::FollowPlayerOutput::y , 以及 eve::scene::FollowPlayerOutput::z.
◆ exposeFollowPlayerBindings()
| void eve::scene::exposeFollowPlayerBindings | ( | ssq::Table & | table | ) |
Register FollowPlayer value types and evaluator with the root script table.
在文件 FollowPlayerBindings.cpp 第 9 行定义.
引用了 eve::scene::FollowPlayerOutput::applyPosition, eve::scene::FollowPlayerOutput::applyScale, eve::scene::FollowPlayerSettings::followPlayer, eve::scene::FollowPlayerInput::hasPlayer, input, eve::scene::FollowPlayerSettings::offsetX, eve::scene::FollowPlayerSettings::offsetY, eve::scene::FollowPlayerSettings::offsetZ, output, eve::scene::FollowPlayerInput::playerX, eve::scene::FollowPlayerInput::playerY, eve::scene::FollowPlayerInput::playerZ, eve::scene::FollowPlayerSettings::scaleX, eve::scene::FollowPlayerOutput::scaleX, eve::scene::FollowPlayerSettings::scaleY, eve::scene::FollowPlayerOutput::scaleY, eve::scene::FollowPlayerSettings::scaleZ, eve::scene::FollowPlayerOutput::scaleZ, settings, eve::scene::FollowPlayerSettings::useOffset, eve::scene::FollowPlayerSettings::useScale, vm, eve::scene::FollowPlayerSettings::waterObject, eve::scene::FollowPlayerOutput::x, eve::scene::FollowPlayerOutput::y , 以及 eve::scene::FollowPlayerOutput::z.
◆ exposeLocationProfileBindings()
| EVENGINE_API_PLATFORM void eve::scene::exposeLocationProfileBindings | ( | ssq::Table & | table | ) |
Register Pcg location profile value types and operations.
在文件 LocationProfileBindings.cpp 第 21 行定义.
引用了 b, camera, eve::scene::LocationSnapshot::camera, eve::scene::LocationBookmark::controller, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, eve::scene::LocationBookmark::name, p, pose, eve::script::projectResult(), eve::scene::LocationPose::qw, eve::scene::LocationPose::qx, eve::scene::LocationPose::qy, eve::scene::LocationPose::qz, r, s, eve::scene::LocationBookmark::scene, v, vm, eve::scene::LocationPose::x, eve::scene::LocationPose::y , 以及 eve::scene::LocationPose::z.
◆ exposePcgBuildConfigBindings()
| void eve::scene::exposePcgBuildConfigBindings | ( | ssq::Table & | t | ) |
Register Pcg build-config bindings.
在文件 PcgBuildConfig.cpp 第 10 行定义.
引用了 c, category, n, eve::script::projectResult(), s, t, v , 以及 vm.
◆ exposePcgGrowthBindings()
| void eve::scene::exposePcgGrowthBindings | ( | ssq::Table & | t | ) |
Register Pcg Growth bindings.
在文件 PcgGrowth.cpp 第 15 行定义.
引用了 a, applyPcgGrowth(), b, c, d, eve::Diagnostic::error(), eve::Result< T >::failure(), g, eve::InvalidArgument, n, eve::script::projectResult(), r, s, seed, t, v , 以及 vm.
◆ failureRecord()
| eve::Result< SceneArtifactRecord > eve::scene::failureRecord | ( | eve::DiagnosticCode | code, |
| std::string | message | ||
| ) |
在文件 ArtifactProvider.cpp 第 17 行定义.
引用了 code, eve::Diagnostic::error(), eve::Result< T >::failure() , 以及 message.
◆ failureValue()
| eve::Result< eve::Value > eve::scene::failureValue | ( | eve::DiagnosticCode | code, |
| std::string | message | ||
| ) |
在文件 ArtifactProvider.cpp 第 22 行定义.
引用了 code, eve::Diagnostic::error(), eve::Result< T >::failure() , 以及 message.
◆ findLinkKind()
| EVENGINE_API_PLATFORM int eve::scene::findLinkKind | ( | const char * | kind | ) |
Finds link kind.
Id for a previously registered kind, or -1.
在文件 SceneLink.cpp 第 39 行定义.
被这些函数引用 eve::sceneloader::SceneLoader::applyTreeDiff(), eve::scene::SceneHost::linkAudio3D(), eve::scene::SceneHost::linkCamera3D(), eve::scene::SceneHost::linkPhysics2D(), eve::scene::SceneHost::linkPhysics3D(), eve::scene::SceneHost::linkRenderable2D(), eve::scene::SceneHost::linkRenderable3D(), registerLinkKind() , 以及 eve::sceneloader::SceneLoader::unload().
◆ group()
| EVENGINE_API_PLATFORM NodeDesc eve::scene::group | ( | std::vector< NodeDesc > | children, |
| std::string | id | ||
| ) |
◆ hasSupportedVersion()
|
noexcept |
在文件 ArtifactProvider.cpp 第 53 行定义.
引用了 member.
◆ linkKindName()
| EVENGINE_API_PLATFORM const char * eve::scene::linkKindName | ( | int | kindId | ) |
Link kind name.
Name for an id, or "" when the id is unknown.
在文件 SceneLink.cpp 第 53 行定义.
引用了 eve::scene::LinkOps::kind, linkOps() , 以及 ops.
被这些函数引用 eve::scene_editing::SceneHostEditorTarget::componentLinks().
◆ linkOps()
| EVENGINE_API_PLATFORM const LinkOps * eve::scene::linkOps | ( | int | kindId | ) |
Link ops.
Operations for an id, or nullptr when the id is unknown.
在文件 SceneLink.cpp 第 47 行定义.
引用了 t.
被这些函数引用 eve::scene_editing::SceneHostEditorTarget::componentLinks(), eve::scene::SceneHost::link() , 以及 linkKindName().
◆ member()
|
noexcept |
在文件 ArtifactProvider.cpp 第 33 行定义.
引用了 eve::Value::find(), found , 以及 name.
◆ Module_IMPL()
| eve::scene::Module_IMPL | ( | Scene | , |
| new | Scene() | ||
| ) |
◆ node()
| EVENGINE_API_PLATFORM NodeDesc eve::scene::node | ( | std::string | id, |
| std::vector< NodeDesc > | children, | ||
| std::string | name | ||
| ) |
◆ rayAABB()
|
inline |
Slab ray-AABB intersection; fills entry/exit t (t0 <= t1).
在文件 SceneBounds.h 第 49 行定义.
被这些函数引用 eve::scene::Scene::pickRayAt().
◆ readBounds()
| bool eve::scene::readBounds | ( | const eve::Value::Object & | object, |
| eve::artifact::Bounds & | bounds | ||
| ) |
在文件 ArtifactProvider.cpp 第 74 行定义.
引用了 bounds, member, readFloat(), validBounds() , 以及 value.
◆ readFloat()
| bool eve::scene::readFloat | ( | const eve::Value::Object & | object, |
| const char * | name, | ||
| float & | output | ||
| ) |
在文件 ArtifactProvider.cpp 第 59 行定义.
引用了 member, name, number, output , 以及 value.
被这些函数引用 readBounds().
◆ readString()
| bool eve::scene::readString | ( | const eve::Value::Object & | object, |
| const char * | name, | ||
| std::string & | output | ||
| ) |
在文件 ArtifactProvider.cpp 第 38 行定义.
引用了 member, name, output, text , 以及 value.
被这些函数引用 readUint64String() , 以及 eve::scene::SceneArtifactProvider::restoreState().
◆ readUint64String()
| bool eve::scene::readUint64String | ( | const eve::Value::Object & | object, |
| const char * | name, | ||
| std::uint64_t & | output | ||
| ) |
在文件 ArtifactProvider.cpp 第 46 行定义.
◆ registerLinkKind()
| EVENGINE_API_PLATFORM int eve::scene::registerLinkKind | ( | const LinkOps & | ops | ) |
Registers link kind.
Register a link kind and return its id. Registering the same name twice returns the first id and leaves the original operations in place, so a module reloaded as a plugin cannot silently swap them out.
在文件 SceneLink.cpp 第 27 行定义.
引用了 findLinkKind(), eve::scene::LinkOps::kind, ops, eve::scene::LinkOps::pushWorld , 以及 size.
◆ registerSceneArtifactProvider()
| EVENGINE_API_PLATFORM void eve::scene::registerSceneArtifactProvider | ( | ) |
Register the scene provider in the common capability registry.
在文件 ArtifactProvider.cpp 第 267 行定义.
被这些函数引用 eve::scene::Scene::Scene().
◆ registerSceneCapabilities()
| void eve::scene::registerSceneCapabilities | ( | ) |
Registers scene capabilities.
在文件 SceneCapabilities.cpp 第 672 行定义.
引用了 impl.
被这些函数引用 eve::scene::Scene::Scene().
◆ sceneArtifactProvider()
|
noexcept |
Return the process-owned scene artifact provider singleton.
在文件 ArtifactProvider.cpp 第 262 行定义.
被这些函数引用 registerSceneArtifactProvider().
◆ validateUniqueIds()
| void eve::scene::validateUniqueIds | ( | const NodeDesc & | root | ) |
在文件 NodeDesc.cpp 第 205 行定义.
被这些函数引用 applyTree() , 以及 eve::scene::SceneHost::buildDetachedTree().
◆ validBounds()
|
noexcept |
在文件 ArtifactProvider.cpp 第 27 行定义.
引用了 bounds.
被这些函数引用 eve::scene::SceneArtifactProvider::prepare() , 以及 readBounds().
◆ when()
| EVENGINE_API_PLATFORM NodeDesc eve::scene::when | ( | bool | cond, |
| NodeDesc | child | ||
| ) |
Conditional: include child only when cond is true (empty group otherwise).
在文件 NodeDesc.cpp 第 234 行定义.
引用了 group.
◆ whenElse()
| EVENGINE_API_PLATFORM NodeDesc eve::scene::whenElse | ( | bool | cond, |
| NodeDesc | ifTrue, | ||
| NodeDesc | ifFalse | ||
| ) |
When else.
在文件 NodeDesc.cpp 第 239 行定义.
◆ worldBoundsOf()
World-space AABB of a node's local bounds (8 corners through world matrix).
Lo.
Hi.
Mn.
Mx.
P.
在文件 SceneBounds.h 第 26 行定义.
被这些函数引用 eve::scene::Scene::applyPcgTerrainCullingAt(), eve::scene::Scene::collectFrustumIdsAt(), eve::scene::Scene::pickRayAt() , 以及 eve::scene::Scene::syncSpatialIndexAt().