33#ifndef DVD_SCENE_NODE_FWD_H_
34#define DVD_SCENE_NODE_FWD_H_
73 const char*
name =
nullptr;
113 #define DEFINE_NODE_TYPE_OVERLOAD(Name, Enum) \
116 constexpr SceneNodeType GetSceneNodeType<Name>() { return Enum; } \
118 #define DEFINE_NODE_TYPE_INHERIT(Name, Enum, Base) \
120 #define DEFINE_NODE_TYPE(Name, Enum) \
121 DEFINE_NODE_TYPE_OVERLOAD(Name, Enum) \
122 class Name final : public SceneNode
124 #define DEFINE_NODE_BASE_TYPE(Name, Enum) \
125 DEFINE_NODE_TYPE_OVERLOAD(Name, Enum) \
126 class Name : public SceneNode
128 #define DEFINE_3D_OBJECT_TYPE(Name, Enum) \
129 DEFINE_NODE_TYPE_OVERLOAD(Name, Enum) \
130 class Name final : public Object3D
const char * sceneNodeType[to_base(SceneNodeType::COUNT)+1u]
Handle console commands that start with a forward slash.
FORCE_INLINE constexpr bool IsTransformNode(const SceneNodeType nodeType) noexcept
NodeUsageContext
Usage context affects lighting, navigation, physics, etc.
constexpr SceneNodeType GetSceneNodeType()
FORCE_INLINE constexpr bool IsPrimitive(const SceneNodeType type) noexcept
SceneNodeType
ToDo: Move particle emitter to components (it will make them way more dynamic) - Ionut.
FORCE_INLINE constexpr bool IsMesh(const SceneNodeType type) noexcept
FORCE_INLINE constexpr bool Is3DObject(const SceneNodeType type) noexcept
constexpr auto to_base(const Type value) -> Type
const SceneNodeType * _ignoredTypes
bool _includeTransformNodes
size_t _ignoredTypesCount