载入中...
搜索中...
未找到
SceneNodeRef.h
浏览该文件的文档.
1#pragma once
2
3#include <string>
4#include <utility>
5#include <vector>
6
7namespace eve::scene {
8
9class Scene;
10
17public:
18 SceneNodeRef() = default;
19 SceneNodeRef(std::string hostName, std::string nodeId)
20 : hostName_(std::move(hostName)), nodeId_(std::move(nodeId)) {}
21
22 std::string getHostName() const { return hostName_; }
23 std::string getNodeId() const { return nodeId_; }
25 bool isValid() const;
27 Scene *getScene() const;
28
29 // --- local transform ---
30 bool setPosition(float x, float y, float z);
31 float getPositionX() const;
32 float getPositionY() const;
33 float getPositionZ() const;
34 std::vector<float> getPosition() const;
35
36 bool setRotation(float yaw, float pitch, float roll);
37 float getRotationYaw() const;
38 float getRotationPitch() const;
39 float getRotationRoll() const;
40 std::vector<float> getRotation() const;
41
42 bool setScale(float sx, float sy, float sz);
43 float getScaleX() const;
44 float getScaleY() const;
45 float getScaleZ() const;
46 std::vector<float> getScale() const;
47
48 bool setVisible(bool v);
49 bool isVisible() const;
50
51 // --- world (requires transforms updated via updateTransforms / scene.update) ---
52 float getWorldPositionX() const;
53 float getWorldPositionY() const;
54 float getWorldPositionZ() const;
55 std::vector<float> getWorldPosition() const;
57 std::vector<float> getWorldMatrix() const;
59 std::vector<float> getForward() const;
60 std::vector<float> getRight() const;
61 std::vector<float> getUp() const;
62
63 // --- structure ---
64 std::string getParentId() const;
65 int getChildCount() const;
66 std::string getChildIdAt(int ordinal) const;
67 std::string getPath() const;
68
69private:
70 std::string hostName_;
71 std::string nodeId_;
72};
73
74} // namespace eve::scene
int y
Definition Grass.cpp:135
int z
Definition Grass.cpp:135
int x
Definition Grass.cpp:135
int v
Script handle to a scene node (hostName + nodeId). Deliberately holds strings rather than arena point...
float getWorldPositionZ() const
std::vector< float > getForward() const
Normalized local axes in world space (forward = +Z).
SceneNodeRef(std::string hostName, std::string nodeId)
bool isValid() const
True when host + node currently resolve.
std::string getHostName() const
float getWorldPositionX() const
float getWorldPositionY() const
float getRotationPitch() const
std::string getNodeId() const
Scene * getScene() const
The eve.Scene module instance (for entity binding forwarding).
std::string getPath() const
std::string getChildIdAt(int ordinal) const
std::vector< float > getPosition() const
std::vector< float > getWorldPosition() const
std::vector< float > getRotation() const
bool setPosition(float x, float y, float z)
bool setScale(float sx, float sy, float sz)
float getRotationRoll() const
std::vector< float > getScale() const
std::string getParentId() const
std::vector< float > getUp() const
bool setRotation(float yaw, float pitch, float roll)
std::vector< float > getRight() const
std::vector< float > getWorldMatrix() const
Column-major 4x4 world matrix, 16 floats.
Declarative scene module (eve.Scene).
Definition Scene.h:48