载入中...
搜索中...
未找到
eve::scene::Scene类 参考

Declarative scene module (eve.Scene). 更多...

#include <Scene.h>

类 eve::scene::Scene 继承关系图:
eve::Module

Public 成员函数

 Module_REG (Scene)
 
 Scene ()
 
 ~Scene () override=default
 
SceneHostmountAs (const std::string &name, NodeDesc root)
 Creates/replaces a named host from a NodeDesc tree and selects it.
 
SceneHostmount (NodeDesc root)
 Mounts the tree as an auto-named host and selects it.
 
SceneHostremount (NodeDesc root)
 Replaces the selected host's tree.
 
SceneHostremountReconcile (NodeDesc root)
 Remount with key reconcile (props-only when structure matches).
 
SceneHostremountAs (const std::string &name, NodeDesc root)
 Creates/replaces a named host (does not select it).
 
bool select (const std::string &name)
 Selects a named host; false when it does not exist.
 
SceneHostfindHost (const std::string &name) const
 Finds a host by name, or nullptr.
 
SceneHostfindHostByOwner (uint32_t ownerId) const
 Finds the host bound to an owner id, or nullptr.
 
SceneHostcurrent () const
 Currently selected host, or nullptr.
 
void bindOwner (uint32_t ownerId)
 Binds the selected host to a UI/scene owner id.
 
void setHostVisible (bool visible)
 Shows/hides every host (or the selected one when a host is selected).
 
void setHostLayer (int layer)
 Sets the render layer of every host (or the selected one).
 
void updateTransforms ()
 Propagate transforms (+ link sync) for all hosts (or current if selected).
 
void updateTransformsAll ()
 Propagate transforms for every host regardless of selection.
 
bool setNodePosition (const std::string &id, float x, float y, float z)
 Script-friendly TRS setters on the current host; each marks the transform dirty.
 
bool setNodeRotation (const std::string &id, float yaw, float pitch, float roll)
 Sets the local rotation (yaw/pitch/roll in degrees) of a node.
 
bool setNodeScale (const std::string &id, float sx, float sy, float sz)
 Sets the local scale of a node.
 
bool setNodeVisible (const std::string &id, bool visible)
 Shows/hides a node.
 
bool linkRenderable2D (const std::string &nodeId, graphics::Renderable2D *r)
 Links a 2D renderable to a node in the current host.
 
bool linkRenderable3D (const std::string &nodeId, graphics::Renderable3D *r)
 Links a 3D renderable to a node in the current host.
 
bool unlinkNode (const std::string &nodeId)
 Removes every link on a node in the current host.
 
bool linkRenderable2DAt (const std::string &hostName, const std::string &nodeId, graphics::Renderable2D *r)
 
bool linkRenderable3DAt (const std::string &hostName, const std::string &nodeId, graphics::Renderable3D *r)
 
bool linkPhysics2DAt (const std::string &hostName, const std::string &nodeId, physics::Body *b, const std::string &mode)
 
bool linkPhysics3DAt (const std::string &hostName, const std::string &nodeId, physics::Body3D *b, const std::string &mode)
 
bool linkCamera3DAt (const std::string &hostName, const std::string &nodeId, graphics::Camera3D *c)
 
bool linkAudio3DAt (const std::string &hostName, const std::string &nodeId, audio::Source *s)
 
bool unlinkNodeAt (const std::string &hostName, const std::string &nodeId)
 Remove every link on the node.
 
bool unlinkNodeKindAt (const std::string &hostName, const std::string &nodeId, const std::string &kind)
 Remove links of one kind ("renderable2d"|"renderable3d"|"physics2d"|...).
 
int linkCountAt (const std::string &hostName, const std::string &nodeId)
 
std::vector< float > getNodePositionAt (const std::string &hostName, const std::string &nodeId) const
 
std::vector< float > getNodeRotationAt (const std::string &hostName, const std::string &nodeId) const
 
std::vector< float > getNodeScaleAt (const std::string &hostName, const std::string &nodeId) const
 
bool getNodeVisibleAt (const std::string &hostName, const std::string &nodeId) const
 
std::vector< float > getNodeWorldPositionAt (const std::string &hostName, const std::string &nodeId) const
 
std::vector< float > getNodeWorldRotationAt (const std::string &hostName, const std::string &nodeId) const
 
std::vector< float > getNodeWorldScaleAt (const std::string &hostName, const std::string &nodeId) const
 
std::vector< float > localToWorldAt (const std::string &hostName, const std::string &nodeId, float x, float y, float z) const
 
std::vector< float > worldToLocalAt (const std::string &hostName, const std::string &nodeId, float x, float y, float z) const
 
bool setNodeParentAt (const std::string &hostName, const std::string &childId, const std::string &parentId)
 Reparent by id; empty parentId detaches. Cycle-safe.
 
bool removeNodeAt (const std::string &hostName, const std::string &nodeId)
 Detach node from its parent (arena node stays; rebuild to delete).
 
bool addChildAt (const std::string &hostName, const std::string &parentId, const std::string &childId)
 
bool removeChildAt (const std::string &hostName, const std::string &parentId, const std::string &childId)
 
bool setNodeQuaternionAt (const std::string &hostName, const std::string &nodeId, float qx, float qy, float qz, float qw)
 
std::vector< float > getNodeQuaternionAt (const std::string &hostName, const std::string &nodeId) const
 
bool setNodeLookAtAt (const std::string &hostName, const std::string &nodeId, float tx, float ty, float tz)
 Orient node so its local +Z axis points at (tx,ty,tz).
 
bool addNodeTagAt (const std::string &hostName, const std::string &nodeId, const std::string &tag)
 
bool removeNodeTagAt (const std::string &hostName, const std::string &nodeId, const std::string &tag)
 
bool hasNodeTagAt (const std::string &hostName, const std::string &nodeId, const std::string &tag) const
 
std::vector< std::string > getNodeTagsAt (const std::string &hostName, const std::string &nodeId) const
 
std::vector< std::string > collectIdsByTagAt (const std::string &hostName, const std::string &tag) const
 
bool setNodeLayerAt (const std::string &hostName, const std::string &nodeId, int layer)
 
int getNodeLayerAt (const std::string &hostName, const std::string &nodeId) const
 
bool setNodeEventHandlerAt (const std::string &hostName, ssq::Object cb)
 Register a script callback for node lifecycle events on a host: cb(action, nodeId, parentId) with action in {"node_added","node_removed","node_moved","node_changed"}. Pass null cb to clear. Rooted for the process lifetime.
 
bool setNodeBoundsAt (const std::string &hostName, const std::string &nodeId, float minX, float minY, float minZ, float maxX, float maxY, float maxZ)
 
bool hasNodeBoundsAt (const std::string &hostName, const std::string &nodeId) const
 
std::vector< float > getNodeBoundsAt (const std::string &hostName, const std::string &nodeId) const
 
std::string serializeHostAt (const std::string &hostName) const
 
bool deserializeHostAt (const std::string &hostName, const std::string &json)
 
std::string pickRayAt (const std::string &hostName, float ox, float oy, float oz, float dx, float dy, float dz) const
 Nearest node id hit by a world ray (nodes with bounds), or "".
 
std::string pickScreenAt (const std::string &hostName, graphics::Camera3D *cam, float screenX, float screenY, float viewW, float viewH) const
 Screen-space picking through a Camera3D (camera.screenToRay).
 
std::vector< std::string > collectFrustumIdsAt (const std::string &hostName, graphics::Camera3D *cam, float viewW, float viewH) const
 Ids of nodes whose world AABB intersects the camera frustum.
 
bool syncSpatialIndexAt (const std::string &hostName, spatial::Octree *ot) const
 Insert every bounded node's world AABB into an octree (id = arena index).
 
std::string nodeIdFromSpatialIdAt (const std::string &hostName, int index) const
 Map a spatial-index id (arena index) back to a node id.
 
bool hasNode (const std::string &id)
 
int getNodeCount ()
 
std::string getRootId ()
 
std::string getParentId (const std::string &id)
 
int getChildCount (const std::string &id)
 
std::string getChildIdAt (const std::string &parentId, int childOrdinal)
 
std::string findIdByName (const std::string &name)
 
std::string findIdByPath (const std::string &path)
 
std::string getNodePath (const std::string &id)
 
bool isAncestor (const std::string &ancestorId, const std::string &nodeId)
 
bool isDescendant (const std::string &nodeId, const std::string &ancestorId)
 
std::vector< std::string > collectIds ()
 
std::vector< std::string > collectIdsFrom (const std::string &id)
 
std::vector< std::string > collectIdsByName (const std::string &name)
 
std::vector< std::string > collectIdsVisible (bool visible)
 
std::vector< std::string > collectChildIds (const std::string &parentId)
 
std::vector< std::string > walkDepthFirstIds ()
 DFS order of ids under root (same as collectIds). Kept for script naming clarity.
 
std::vector< std::string > walkBreadthFirstIds ()
 
void beginBuild ()
 
void beginNode (const std::string &id, const std::string &name="")
 
void beginGroup (const std::string &id="")
 
void end ()
 
void addNode (const std::string &id, const std::string &name="")
 
void setBuildPosition (float x, float y, float z=0.f)
 
void setBuildRotation (float yaw, float pitch=0.f, float roll=0.f)
 
void setBuildScale (float sx, float sy, float sz=1.f)
 
void setBuildSpace (const std::string &space)
 
void setBuildVisible (bool visible)
 
bool mountBuild ()
 
bool mountBuildAs (const std::string &name)
 
bool remountBuildAs (const std::string &name)
 
SceneHostresolveHost (const std::string &hostName) const
 Host-qualified resolution: empty hostName → currently selected host.
 
bool rootEntity (const std::string &hostName, const std::string &nodeId, ssq::Object instance)
 Root one script instance on a node (creates SceneObject lazily).
 
bool unrootEntityAt (const std::string &hostName, const std::string &nodeId, int index)
 Remove a rooted script instance by its index in the binding list.
 
int forEachEntity (const std::string &hostName, const std::string &nodeId, ssq::Object cb)
 Call cb(instance, index) for every rooted instance; returns count.
 
void updateScripts (float dt)
 updateTransformsAll() + call update(dt) on every rooted instance.
 
std::string currentHostName () const
 
SceneNodeRefgetNodeRefAt (const std::string &hostName, const std::string &nodeId) const
 
SceneNodeRefgetNodeRefByPathAt (const std::string &hostName, const std::string &path) const
 
- Public 成员函数 继承自 eve::Module
virtual ~Module ()
 
virtual std::string getName () const =0
 

详细描述

Declarative scene module (eve.Scene).

Isomorphic to eve::ui::UI: named SceneHost graphs, NodeDesc + SceneComponent.build, mount / remountReconcile / beginBuild. TransformSystem propagates world matrices and syncs linked Renderable2D/3D transforms.

在文件 Scene.h48 行定义.

构造及析构函数说明

◆ Scene()

eve::scene::Scene::Scene ( )

在文件 Scene.cpp31 行定义.

引用了 eve::scene::registerSceneCapabilities().

◆ ~Scene()

eve::scene::Scene::~Scene ( )
overridedefault

成员函数说明

◆ addChildAt()

bool eve::scene::Scene::addChildAt ( const std::string &  hostName,
const std::string &  parentId,
const std::string &  childId 
)

在文件 SceneNodes.cpp262 行定义.

引用了 h, ok, resolveHost() , 以及 eve::scene::TransformSystem::updateHost().

◆ addNode()

void eve::scene::Scene::addNode ( const std::string &  id,
const std::string &  name = "" 
)

在文件 Scene.cpp743 行定义.

◆ addNodeTagAt()

bool eve::scene::Scene::addNodeTagAt ( const std::string &  hostName,
const std::string &  nodeId,
const std::string &  tag 
)

在文件 SceneNodes.cpp327 行定义.

引用了 h, n , 以及 resolveHost().

◆ beginBuild()

void eve::scene::Scene::beginBuild ( )

在文件 Scene.cpp708 行定义.

引用了 mountAs() , 以及 name.

被这些函数引用 bindOwner() , 以及 setHostVisible().

◆ beginGroup()

void eve::scene::Scene::beginGroup ( const std::string &  id = "")

在文件 Scene.cpp726 行定义.

◆ beginNode()

void eve::scene::Scene::beginNode ( const std::string &  id,
const std::string &  name = "" 
)

在文件 Scene.cpp721 行定义.

◆ bindOwner()

void eve::scene::Scene::bindOwner ( uint32_t  ownerId)

Binds the selected host to a UI/scene owner id.

在文件 Scene.cpp647 行定义.

引用了 beginBuild(), name , 以及 eve::scene::node().

◆ collectChildIds()

std::vector< std::string > eve::scene::Scene::collectChildIds ( const std::string &  parentId)

在文件 SceneNodes.cpp589 行定义.

引用了 eve::scene::SceneHost::getChildIds() , 以及 h.

◆ collectFrustumIdsAt()

std::vector< std::string > eve::scene::Scene::collectFrustumIdsAt ( const std::string &  hostName,
graphics::Camera3D cam,
float  viewW,
float  viewH 
) const

Ids of nodes whose world AABB intersects the camera frustum.

在文件 ScenePicking.cpp34 行定义.

引用了 eve::scene::aabbIntersectsFrustum(), d, eye, h, n, eve::graphics::perspectiveVulkanRH_ZO(), resolveHost() , 以及 eve::scene::worldBoundsOf().

◆ collectIds()

std::vector< std::string > eve::scene::Scene::collectIds ( )

在文件 SceneNodes.cpp568 行定义.

引用了 eve::scene::SceneHost::collectIds() , 以及 h.

被这些函数引用 walkDepthFirstIds().

◆ collectIdsByName()

std::vector< std::string > eve::scene::Scene::collectIdsByName ( const std::string &  name)

在文件 SceneNodes.cpp579 行定义.

引用了 eve::scene::SceneHost::collectIdsByName(), h , 以及 name.

◆ collectIdsByTagAt()

std::vector< std::string > eve::scene::Scene::collectIdsByTagAt ( const std::string &  hostName,
const std::string &  tag 
) const

在文件 SceneNodes.cpp356 行定义.

引用了 h, n , 以及 resolveHost().

◆ collectIdsFrom()

std::vector< std::string > eve::scene::Scene::collectIdsFrom ( const std::string &  id)

在文件 SceneNodes.cpp573 行定义.

引用了 eve::scene::SceneHost::collectIdsFrom() , 以及 h.

◆ collectIdsVisible()

std::vector< std::string > eve::scene::Scene::collectIdsVisible ( bool  visible)

在文件 SceneNodes.cpp584 行定义.

引用了 eve::scene::SceneHost::collectIdsVisible() , 以及 h.

◆ current()

SceneHost * eve::scene::Scene::current ( ) const
inline

Currently selected host, or nullptr.

在文件 Scene.h72 行定义.

◆ currentHostName()

std::string eve::scene::Scene::currentHostName ( ) const

在文件 Scene.cpp917 行定义.

被这些函数引用 linkRenderable2D(), linkRenderable3D() , 以及 unlinkNode().

◆ deserializeHostAt()

bool eve::scene::Scene::deserializeHostAt ( const std::string &  hostName,
const std::string &  json 
)

在文件 Scene.cpp701 行定义.

引用了 remount().

◆ end()

void eve::scene::Scene::end ( )

在文件 Scene.cpp731 行定义.

◆ findHost()

SceneHost * eve::scene::Scene::findHost ( const std::string &  name) const

Finds a host by name, or nullptr.

在文件 Scene.cpp643 行定义.

◆ findHostByOwner()

SceneHost * eve::scene::Scene::findHostByOwner ( uint32_t  ownerId) const

Finds the host bound to an owner id, or nullptr.

在文件 Scene.cpp645 行定义.

◆ findIdByName()

std::string eve::scene::Scene::findIdByName ( const std::string &  name)

在文件 SceneNodes.cpp539 行定义.

引用了 h, eve::scene::SceneNode::id, n , 以及 name.

◆ findIdByPath()

std::string eve::scene::Scene::findIdByPath ( const std::string &  path)

在文件 SceneNodes.cpp546 行定义.

引用了 h, eve::scene::SceneNode::id , 以及 n.

◆ forEachEntity()

int eve::scene::Scene::forEachEntity ( const std::string &  hostName,
const std::string &  nodeId,
ssq::Object  cb 
)

Call cb(instance, index) for every rooted instance; returns count.

在文件 Scene.cpp875 行定义.

◆ getChildCount()

int eve::scene::Scene::getChildCount ( const std::string &  id)

在文件 SceneNodes.cpp527 行定义.

引用了 eve::scene::SceneHost::getChildCountById() , 以及 h.

◆ getChildIdAt()

std::string eve::scene::Scene::getChildIdAt ( const std::string &  parentId,
int  childOrdinal 
)

在文件 SceneNodes.cpp532 行定义.

引用了 c, h , 以及 eve::scene::SceneNode::id.

◆ getNodeBoundsAt()

std::vector< float > eve::scene::Scene::getNodeBoundsAt ( const std::string &  hostName,
const std::string &  nodeId 
) const

在文件 SceneNodes.cpp452 行定义.

引用了 eve::scene::SceneNode::bminX, h, n , 以及 resolveHost().

◆ getNodeCount()

int eve::scene::Scene::getNodeCount ( )

在文件 SceneNodes.cpp508 行定义.

引用了 eve::scene::SceneHost::getNodeCount() , 以及 h.

◆ getNodeLayerAt()

int eve::scene::Scene::getNodeLayerAt ( const std::string &  hostName,
const std::string &  nodeId 
) const

在文件 SceneNodes.cpp376 行定义.

引用了 h, eve::scene::SceneNode::layer, n , 以及 resolveHost().

◆ getNodePath()

std::string eve::scene::Scene::getNodePath ( const std::string &  id)

在文件 SceneNodes.cpp553 行定义.

引用了 eve::scene::SceneHost::getPathById() , 以及 h.

◆ getNodePositionAt()

std::vector< float > eve::scene::Scene::getNodePositionAt ( const std::string &  hostName,
const std::string &  nodeId 
) const

在文件 SceneNodes.cpp166 行定义.

引用了 h, n, resolveHost() , 以及 eve::scene::SceneNode::x.

◆ getNodeQuaternionAt()

std::vector< float > eve::scene::Scene::getNodeQuaternionAt ( const std::string &  hostName,
const std::string &  nodeId 
) const

在文件 SceneNodes.cpp294 行定义.

引用了 h, n , 以及 resolveHost().

◆ getNodeRefAt()

SceneNodeRef * eve::scene::Scene::getNodeRefAt ( const std::string &  hostName,
const std::string &  nodeId 
) const

在文件 Scene.cpp921 行定义.

◆ getNodeRefByPathAt()

SceneNodeRef * eve::scene::Scene::getNodeRefByPathAt ( const std::string &  hostName,
const std::string &  path 
) const

在文件 Scene.cpp929 行定义.

◆ getNodeRotationAt()

std::vector< float > eve::scene::Scene::getNodeRotationAt ( const std::string &  hostName,
const std::string &  nodeId 
) const

在文件 SceneNodes.cpp174 行定义.

引用了 h, n, resolveHost() , 以及 eve::scene::SceneNode::yaw.

◆ getNodeScaleAt()

std::vector< float > eve::scene::Scene::getNodeScaleAt ( const std::string &  hostName,
const std::string &  nodeId 
) const

在文件 SceneNodes.cpp182 行定义.

引用了 h, n, resolveHost() , 以及 eve::scene::SceneNode::sx.

◆ getNodeTagsAt()

std::vector< std::string > eve::scene::Scene::getNodeTagsAt ( const std::string &  hostName,
const std::string &  nodeId 
) const

在文件 SceneNodes.cpp348 行定义.

引用了 h, n, resolveHost() , 以及 eve::scene::SceneNode::tags.

◆ getNodeVisibleAt()

bool eve::scene::Scene::getNodeVisibleAt ( const std::string &  hostName,
const std::string &  nodeId 
) const

在文件 SceneNodes.cpp190 行定义.

引用了 h, n, resolveHost() , 以及 eve::scene::SceneNode::visible.

◆ getNodeWorldPositionAt()

std::vector< float > eve::scene::Scene::getNodeWorldPositionAt ( const std::string &  hostName,
const std::string &  nodeId 
) const

在文件 SceneNodes.cpp197 行定义.

引用了 h, n, resolveHost() , 以及 eve::scene::SceneNode::world.

◆ getNodeWorldRotationAt()

std::vector< float > eve::scene::Scene::getNodeWorldRotationAt ( const std::string &  hostName,
const std::string &  nodeId 
) const

在文件 SceneNodes.cpp205 行定义.

引用了 h, n, pos, resolveHost() , 以及 scale.

◆ getNodeWorldScaleAt()

std::vector< float > eve::scene::Scene::getNodeWorldScaleAt ( const std::string &  hostName,
const std::string &  nodeId 
) const

在文件 SceneNodes.cpp215 行定义.

引用了 h, n, pos, resolveHost() , 以及 scale.

◆ getParentId()

std::string eve::scene::Scene::getParentId ( const std::string &  id)

在文件 SceneNodes.cpp520 行定义.

引用了 h, eve::scene::SceneNode::id , 以及 p.

◆ getRootId()

std::string eve::scene::Scene::getRootId ( )

在文件 SceneNodes.cpp513 行定义.

引用了 h , 以及 eve::scene::SceneNode::id.

◆ hasNode()

bool eve::scene::Scene::hasNode ( const std::string &  id)

在文件 SceneNodes.cpp503 行定义.

引用了 h , 以及 eve::scene::SceneHost::hasNode().

◆ hasNodeBoundsAt()

bool eve::scene::Scene::hasNodeBoundsAt ( const std::string &  hostName,
const std::string &  nodeId 
) const

在文件 SceneNodes.cpp446 行定义.

引用了 h, eve::scene::SceneNode::hasBounds, n , 以及 resolveHost().

◆ hasNodeTagAt()

bool eve::scene::Scene::hasNodeTagAt ( const std::string &  hostName,
const std::string &  nodeId,
const std::string &  tag 
) const

在文件 SceneNodes.cpp341 行定义.

引用了 h, n , 以及 resolveHost().

◆ isAncestor()

bool eve::scene::Scene::isAncestor ( const std::string &  ancestorId,
const std::string &  nodeId 
)

在文件 SceneNodes.cpp558 行定义.

引用了 h , 以及 eve::scene::SceneHost::isAncestorOfById().

◆ isDescendant()

bool eve::scene::Scene::isDescendant ( const std::string &  nodeId,
const std::string &  ancestorId 
)

在文件 SceneNodes.cpp563 行定义.

引用了 h , 以及 eve::scene::SceneHost::isDescendantOfById().

◆ linkAudio3DAt()

bool eve::scene::Scene::linkAudio3DAt ( const std::string &  hostName,
const std::string &  nodeId,
audio::Source s 
)

在文件 SceneNodes.cpp132 行定义.

引用了 h, resolveHost(), s , 以及 eve::scene::TransformSystem::updateHost().

◆ linkCamera3DAt()

bool eve::scene::Scene::linkCamera3DAt ( const std::string &  hostName,
const std::string &  nodeId,
graphics::Camera3D c 
)

在文件 SceneNodes.cpp123 行定义.

引用了 c, h, resolveHost() , 以及 eve::scene::TransformSystem::updateHost().

◆ linkCountAt()

int eve::scene::Scene::linkCountAt ( const std::string &  hostName,
const std::string &  nodeId 
)

在文件 SceneNodes.cpp157 行定义.

引用了 h , 以及 resolveHost().

◆ linkPhysics2DAt()

bool eve::scene::Scene::linkPhysics2DAt ( const std::string &  hostName,
const std::string &  nodeId,
physics::Body b,
const std::string &  mode 
)

在文件 SceneNodes.cpp105 行定义.

引用了 b, h, resolveHost() , 以及 eve::scene::TransformSystem::updateHost().

◆ linkPhysics3DAt()

bool eve::scene::Scene::linkPhysics3DAt ( const std::string &  hostName,
const std::string &  nodeId,
physics::Body3D b,
const std::string &  mode 
)

在文件 SceneNodes.cpp114 行定义.

引用了 b, h, resolveHost() , 以及 eve::scene::TransformSystem::updateHost().

◆ linkRenderable2D()

bool eve::scene::Scene::linkRenderable2D ( const std::string &  nodeId,
graphics::Renderable2D r 
)

Links a 2D renderable to a node in the current host.

在文件 SceneNodes.cpp71 行定义.

引用了 currentHostName() , 以及 linkRenderable2DAt().

◆ linkRenderable2DAt()

bool eve::scene::Scene::linkRenderable2DAt ( const std::string &  hostName,
const std::string &  nodeId,
graphics::Renderable2D r 
)

在文件 SceneNodes.cpp87 行定义.

引用了 h, resolveHost() , 以及 eve::scene::TransformSystem::updateHost().

被这些函数引用 linkRenderable2D().

◆ linkRenderable3D()

bool eve::scene::Scene::linkRenderable3D ( const std::string &  nodeId,
graphics::Renderable3D r 
)

Links a 3D renderable to a node in the current host.

在文件 SceneNodes.cpp75 行定义.

引用了 currentHostName() , 以及 linkRenderable3DAt().

◆ linkRenderable3DAt()

bool eve::scene::Scene::linkRenderable3DAt ( const std::string &  hostName,
const std::string &  nodeId,
graphics::Renderable3D r 
)

在文件 SceneNodes.cpp96 行定义.

引用了 h, resolveHost() , 以及 eve::scene::TransformSystem::updateHost().

被这些函数引用 linkRenderable3D().

◆ localToWorldAt()

std::vector< float > eve::scene::Scene::localToWorldAt ( const std::string &  hostName,
const std::string &  nodeId,
float  x,
float  y,
float  z 
) const

在文件 SceneNodes.cpp225 行定义.

引用了 h, n, p, resolveHost(), eve::scene::SceneNode::world, x, y , 以及 z.

◆ Module_REG()

eve::scene::Scene::Module_REG ( Scene  )

◆ mount()

SceneHost * eve::scene::Scene::mount ( NodeDesc  root)

Mounts the tree as an auto-named host and selects it.

在文件 Scene.cpp614 行定义.

◆ mountAs()

SceneHost * eve::scene::Scene::mountAs ( const std::string &  name,
NodeDesc  root 
)

Creates/replaces a named host from a NodeDesc tree and selects it.

在文件 Scene.cpp604 行定义.

被这些函数引用 beginBuild().

◆ mountBuild()

bool eve::scene::Scene::mountBuild ( )

在文件 Scene.cpp774 行定义.

◆ mountBuildAs()

bool eve::scene::Scene::mountBuildAs ( const std::string &  name)

在文件 Scene.cpp782 行定义.

引用了 h, n , 以及 resolveHost().

◆ nodeIdFromSpatialIdAt()

std::string eve::scene::Scene::nodeIdFromSpatialIdAt ( const std::string &  hostName,
int  index 
) const

Map a spatial-index id (arena index) back to a node id.

在文件 SceneNodes.cpp497 行定义.

引用了 h, eve::scene::SceneNode::id, n , 以及 resolveHost().

◆ pickRayAt()

std::string eve::scene::Scene::pickRayAt ( const std::string &  hostName,
float  ox,
float  oy,
float  oz,
float  dx,
float  dy,
float  dz 
) const

Nearest node id hit by a world ray (nodes with bounds), or "".

在文件 SceneNodes.cpp461 行定义.

引用了 dir, h, n, eve::scene::rayAABB(), resolveHost(), w , 以及 eve::scene::worldBoundsOf().

被这些函数引用 pickScreenAt().

◆ pickScreenAt()

std::string eve::scene::Scene::pickScreenAt ( const std::string &  hostName,
graphics::Camera3D cam,
float  screenX,
float  screenY,
float  viewW,
float  viewH 
) const

◆ remount()

SceneHost * eve::scene::Scene::remount ( NodeDesc  root)

Replaces the selected host's tree.

在文件 Scene.cpp616 行定义.

被这些函数引用 deserializeHostAt().

◆ remountAs()

SceneHost * eve::scene::Scene::remountAs ( const std::string &  name,
NodeDesc  root 
)

Creates/replaces a named host (does not select it).

在文件 Scene.cpp632 行定义.

◆ remountBuildAs()

bool eve::scene::Scene::remountBuildAs ( const std::string &  name)

在文件 Scene.cpp790 行定义.

◆ remountReconcile()

SceneHost * eve::scene::Scene::remountReconcile ( NodeDesc  root)

Remount with key reconcile (props-only when structure matches).

在文件 Scene.cpp624 行定义.

◆ removeChildAt()

bool eve::scene::Scene::removeChildAt ( const std::string &  hostName,
const std::string &  parentId,
const std::string &  childId 
)

在文件 SceneNodes.cpp271 行定义.

引用了 h, ok, resolveHost() , 以及 eve::scene::TransformSystem::updateHost().

◆ removeNodeAt()

bool eve::scene::Scene::removeNodeAt ( const std::string &  hostName,
const std::string &  nodeId 
)

Detach node from its parent (arena node stays; rebuild to delete).

在文件 SceneNodes.cpp254 行定义.

引用了 h, ok, resolveHost() , 以及 eve::scene::TransformSystem::updateHost().

◆ removeNodeTagAt()

bool eve::scene::Scene::removeNodeTagAt ( const std::string &  hostName,
const std::string &  nodeId,
const std::string &  tag 
)

在文件 SceneNodes.cpp334 行定义.

引用了 h, n , 以及 resolveHost().

◆ resolveHost()

◆ rootEntity()

bool eve::scene::Scene::rootEntity ( const std::string &  hostName,
const std::string &  nodeId,
ssq::Object  instance 
)

Root one script instance on a node (creates SceneObject lazily).

在文件 Scene.cpp834 行定义.

◆ select()

bool eve::scene::Scene::select ( const std::string &  name)

Selects a named host; false when it does not exist.

在文件 Scene.cpp636 行定义.

◆ serializeHostAt()

std::string eve::scene::Scene::serializeHostAt ( const std::string &  hostName) const

在文件 Scene.cpp696 行定义.

引用了 eve::scene::NodeDesc::visible.

◆ setBuildPosition()

void eve::scene::Scene::setBuildPosition ( float  x,
float  y,
float  z = 0.f 
)

在文件 Scene.cpp747 行定义.

◆ setBuildRotation()

void eve::scene::Scene::setBuildRotation ( float  yaw,
float  pitch = 0.f,
float  roll = 0.f 
)

在文件 Scene.cpp754 行定义.

◆ setBuildScale()

void eve::scene::Scene::setBuildScale ( float  sx,
float  sy,
float  sz = 1.f 
)

在文件 Scene.cpp761 行定义.

引用了 h, n , 以及 resolveHost().

◆ setBuildSpace()

void eve::scene::Scene::setBuildSpace ( const std::string &  space)

在文件 Scene.cpp768 行定义.

◆ setBuildVisible()

void eve::scene::Scene::setBuildVisible ( bool  visible)

在文件 Scene.cpp770 行定义.

◆ setHostLayer()

void eve::scene::Scene::setHostLayer ( int  layer)

Sets the render layer of every host (or the selected one).

在文件 Scene.cpp656 行定义.

◆ setHostVisible()

void eve::scene::Scene::setHostVisible ( bool  visible)

Shows/hides every host (or the selected one when a host is selected).

在文件 Scene.cpp652 行定义.

引用了 beginBuild(), group , 以及 id.

◆ setNodeBoundsAt()

bool eve::scene::Scene::setNodeBoundsAt ( const std::string &  hostName,
const std::string &  nodeId,
float  minX,
float  minY,
float  minZ,
float  maxX,
float  maxY,
float  maxZ 
)

在文件 SceneNodes.cpp430 行定义.

引用了 eve::scene::SceneNode::bminX, h, n , 以及 resolveHost().

◆ setNodeEventHandlerAt()

bool eve::scene::Scene::setNodeEventHandlerAt ( const std::string &  hostName,
ssq::Object  cb 
)

Register a script callback for node lifecycle events on a host: cb(action, nodeId, parentId) with action in {"node_added","node_removed","node_moved","node_changed"}. Pass null cb to clear. Rooted for the process lifetime.

在文件 SceneNodes.cpp382 行定义.

引用了 h, name , 以及 resolveHost().

◆ setNodeLayerAt()

bool eve::scene::Scene::setNodeLayerAt ( const std::string &  hostName,
const std::string &  nodeId,
int  layer 
)

在文件 SceneNodes.cpp367 行定义.

引用了 h, layer, eve::scene::SceneNode::layer, n , 以及 resolveHost().

◆ setNodeLookAtAt()

bool eve::scene::Scene::setNodeLookAtAt ( const std::string &  hostName,
const std::string &  nodeId,
float  tx,
float  ty,
float  tz 
)

Orient node so its local +Z axis points at (tx,ty,tz).

在文件 SceneNodes.cpp303 行定义.

引用了 f, h, n, pos , 以及 resolveHost().

◆ setNodeParentAt()

bool eve::scene::Scene::setNodeParentAt ( const std::string &  hostName,
const std::string &  childId,
const std::string &  parentId 
)

Reparent by id; empty parentId detaches. Cycle-safe.

在文件 SceneNodes.cpp245 行定义.

引用了 h, ok, resolveHost() , 以及 eve::scene::TransformSystem::updateHost().

◆ setNodePosition()

bool eve::scene::Scene::setNodePosition ( const std::string &  id,
float  x,
float  y,
float  z 
)

Script-friendly TRS setters on the current host; each marks the transform dirty.

在文件 SceneNodes.cpp25 行定义.

引用了 h, n, x, eve::scene::SceneNode::x, y , 以及 z.

◆ setNodeQuaternionAt()

bool eve::scene::Scene::setNodeQuaternionAt ( const std::string &  hostName,
const std::string &  nodeId,
float  qx,
float  qy,
float  qz,
float  qw 
)

在文件 SceneNodes.cpp280 行定义.

引用了 h, n , 以及 resolveHost().

◆ setNodeRotation()

bool eve::scene::Scene::setNodeRotation ( const std::string &  id,
float  yaw,
float  pitch,
float  roll 
)

Sets the local rotation (yaw/pitch/roll in degrees) of a node.

在文件 SceneNodes.cpp37 行定义.

引用了 h, n , 以及 eve::scene::SceneNode::yaw.

◆ setNodeScale()

bool eve::scene::Scene::setNodeScale ( const std::string &  id,
float  sx,
float  sy,
float  sz 
)

Sets the local scale of a node.

在文件 SceneNodes.cpp49 行定义.

引用了 h, n , 以及 eve::scene::SceneNode::sx.

◆ setNodeVisible()

bool eve::scene::Scene::setNodeVisible ( const std::string &  id,
bool  visible 
)

Shows/hides a node.

在文件 SceneNodes.cpp61 行定义.

引用了 h, n , 以及 eve::scene::SceneNode::visible.

◆ syncSpatialIndexAt()

bool eve::scene::Scene::syncSpatialIndexAt ( const std::string &  hostName,
spatial::Octree ot 
) const

Insert every bounded node's world AABB into an octree (id = arena index).

在文件 SceneNodes.cpp484 行定义.

引用了 h, eve::spatial::Octree::insert(), n, resolveHost(), w , 以及 eve::scene::worldBoundsOf().

◆ unlinkNode()

bool eve::scene::Scene::unlinkNode ( const std::string &  nodeId)

Removes every link on a node in the current host.

在文件 SceneNodes.cpp79 行定义.

引用了 currentHostName() , 以及 unlinkNodeAt().

◆ unlinkNodeAt()

bool eve::scene::Scene::unlinkNodeAt ( const std::string &  hostName,
const std::string &  nodeId 
)

Remove every link on the node.

在文件 SceneNodes.cpp141 行定义.

引用了 h , 以及 resolveHost().

被这些函数引用 unlinkNode().

◆ unlinkNodeKindAt()

bool eve::scene::Scene::unlinkNodeKindAt ( const std::string &  hostName,
const std::string &  nodeId,
const std::string &  kind 
)

Remove links of one kind ("renderable2d"|"renderable3d"|"physics2d"|...).

在文件 SceneNodes.cpp146 行定义.

引用了 h, kind, removed, resolveHost() , 以及 eve::scene::TransformSystem::updateHost().

◆ unrootEntityAt()

bool eve::scene::Scene::unrootEntityAt ( const std::string &  hostName,
const std::string &  nodeId,
int  index 
)

Remove a rooted script instance by its index in the binding list.

在文件 Scene.cpp854 行定义.

◆ updateScripts()

void eve::scene::Scene::updateScripts ( float  dt)

updateTransformsAll() + call update(dt) on every rooted instance.

在文件 Scene.cpp898 行定义.

◆ updateTransforms()

void eve::scene::Scene::updateTransforms ( )

Propagate transforms (+ link sync) for all hosts (or current if selected).

在文件 Scene.cpp660 行定义.

◆ updateTransformsAll()

void eve::scene::Scene::updateTransformsAll ( )

Propagate transforms for every host regardless of selection.

在文件 Scene.cpp665 行定义.

◆ walkBreadthFirstIds()

std::vector< std::string > eve::scene::Scene::walkBreadthFirstIds ( )

在文件 SceneNodes.cpp596 行定义.

引用了 h, n , 以及 eve::scene::SceneHost::walkBreadthFirst().

◆ walkDepthFirstIds()

std::vector< std::string > eve::scene::Scene::walkDepthFirstIds ( )

DFS order of ids under root (same as collectIds). Kept for script naming clarity.

在文件 SceneNodes.cpp594 行定义.

引用了 collectIds().

◆ worldToLocalAt()

std::vector< float > eve::scene::Scene::worldToLocalAt ( const std::string &  hostName,
const std::string &  nodeId,
float  x,
float  y,
float  z 
) const

在文件 SceneNodes.cpp235 行定义.

引用了 h, n, p, resolveHost(), x, y , 以及 z.


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