载入中...
搜索中...
未找到
EntitySpatialResolver.h
浏览该文件的文档.
1#pragma once
2
5#include "common/ECS.h"
6#include "common/Export.h"
7#include "common/Result.h"
8
9#include <string_view>
10
11namespace eve {
12
15 double positionX = 0.0;
16 double positionY = 0.0;
17 double positionZ = 0.0;
18 double rotationXDegrees = 0.0;
19 double rotationYDegrees = 0.0;
20 double rotationZDegrees = 0.0;
21 double scaleX = 1.0;
22 double scaleY = 1.0;
23 double scaleZ = 1.0;
24};
25
32public:
33 static constexpr const char* capabilityName = "eve.entity-spatial-provider";
35 virtual ~IEntitySpatialProvider() = default;
36
43 [[nodiscard]] virtual Result<EntitySpatialPose> resolve(ecs::EntityHandle entity,
44 std::string_view bone) const = 0;
45};
46
54 std::string_view bone = {});
55
56} // namespace eve
#define EVENGINE_API_FOUNDATION_INLINE
仅供"只有内联成员"的类型使用的组宏:拥有者 dllexport,消费方不导入。
Definition Export.h:170
#define EVENGINE_API_FOUNDATION
每个链接组(link group)各自的导出宏。
Definition Export.h:106
std::uint32_t bone
Move-only, checked operation results for the common layer.
One optional domain provider capable of resolving selected ECS entities.
virtual ~IEntitySpatialProvider()=default
I entity spatial provider.
virtual Result< EntitySpatialPose > resolve(ecs::EntityHandle entity, std::string_view bone) const =0
Resolve a current world pose, optionally at a named bone/socket.
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Build metadata (engine git commit, build time, third-party version).
Definition Build.cpp:16
Result< EntitySpatialPose > resolveEntitySpatialPose(ecs::EntityHandle entity, std::string_view bone)
Resolve through registered providers in deterministic registration order.
Renderer-neutral owning world pose resolved for an ECS entity.