我正在尝试为网格存储逐帧体素信息。那就是在每个帧中,我试图存储每个体素将包含哪些原语。一切都将只是整数键,因此本质上是一个像这样的表:
FRAME 1
Voxel 1 : { 3,4,5 }
Voxel 2 : { 7,8 }
Voxel 3 : NULL
..
..
Voxel 5000 : {1223,43,42}
FRAME 2
Voxel 1 : { 3,5 }
Voxel 2 : { 7,8,0 }
Voxel 3 : NULL
..
..
Voxel 5000 : {123,413,422}
...
最好的存储方式是什么?在这一点上,我正在考虑类似
std :: vector >
也就是说,外部向量将包含逐帧数据。内部向量将包含每个体素列表数据。
这样可以吗?或者我可以使用更好的Templete DS吗?
最佳答案
框架列表。
std::vector<Frame> frames;
框架=体素列表。
typedef std::vector<Voxel> Frame;
体素=
int
的列表。typedef std::vector<int> Voxel;
颠倒使用它们的声明顺序。
typedef std::vector<int> Voxel;
typedef std::vector<Voxel> Frame;
std::vector<Frame> frames;