ULRE/inc/hgl/graph/data/SceneNodeData.h

47 lines
1008 B
C++

#ifndef HGL_GRAPH_SCENE_NODE_DATA_INCLUDE
#define HGL_GRAPH_SCENE_NODE_DATA_INCLUDE
#include<hgl/graph/data/MeshData.h>
#include<hgl/type/StringList.h>
namespace hgl
{
namespace graph
{
struct SceneNodeData
{
UTF8String name;
Matrix4f local_matrix;
uint32 mesh_count;
const uint32 *mesh_index;
ObjectList<SceneNodeData> sub_nodes;
};//struct SceneNodeData
struct ModelData
{
uint8 *source_filedata=nullptr;
uint8 version=0;
UTF8StringList mesh_name;
ObjectList<MeshData> mesh_list;
SceneNodeData *root_node=nullptr;
AABB bounding_box;
public:
~ModelData()
{
SAFE_CLEAR(root_node);
delete[] source_filedata;
}
};//struct ModelData
}//namespace graph
}//namespace hgl
#endif//HGL_GRAPH_SCENE_NODE_DATA_INCLUDE