8 #ifndef MI_NEURAYLIB_IDENTIFIER_H
9 #define MI_NEURAYLIB_IDENTIFIER_H
30 HND_SCENE_GRAPH_VERSION,
32 HND_SCENE_GRAPH_OBJECT_NODE,
33 HND_SCENE_GRAPH_LIGHT_NODE,
35 HND_SCENE_GRAPH_MATERIAL,
36 HND_SCENE_GRAPH_DECAL_NODE
39 template <
typename T>
struct Invalid_identifier { };
40 template <>
struct Invalid_identifier<
Uint32>
42 static inline Uint32 value( ) {
return 0xffffffff; }
45 template <>
struct Invalid_identifier<
Uint64>
47 static inline Uint64 value( ) {
return 0xffffffffffffffffull; }
53 template <Identifier_name name,
typename Int_type = U
int32>
63 template <Identifier_name name,
typename Int_type = U
int32>
77 operator Int_type()
const {
return this->
m_id; }
83 bool is_valid( )
const {
return this->
m_id != Invalid_identifier<Int_type>::value(); }
178 #ifdef MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
186 using neuraylib::HND_SCENE_GRAPH_DECAL_NODE;
187 using neuraylib::HND_SCENE_GRAPH_LIGHT_NODE;
188 using neuraylib::HND_SCENE_GRAPH_MATERIAL;
189 using neuraylib::HND_SCENE_GRAPH_MESH;
190 using neuraylib::HND_SCENE_GRAPH_NODE;
191 using neuraylib::HND_SCENE_GRAPH_OBJECT_NODE;
192 using neuraylib::HND_SCENE_GRAPH_VERSION;
207 #endif // MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
211 #endif // MI_NEURAYLIB_IDENTIFIER_H