-
Notifications
You must be signed in to change notification settings - Fork 0
Home
ZichaoNickFox edited this page Mar 17, 2018
·
1 revision
// 取出一定范围内场景数据到数据集
struct FMarvelDataSetVoxelDataFetcher {
// 第三个不定长参数为空
static void DoFetchData(
TMarvelDataSet<FMarvelVoxelData>* DataSet,
const FMarvelDataScopeCalculator& Scope
)
{
// 对于范围中所有的Chunk
for (const FMarvelChunkPos& ChunkPos : Scope.GetChunkPoses())
{
// 创建取体素数据的对象
TMarvelTakeChunkData<EMarvelDataType::VoxelData> Take(ChunkPos);
// 得到范围中该Chunk内所有体素坐标
TArray<FMarvelVoxelChunkPos> VoxelChunkPoses = Scope.GetVoxelChunkPoses(ChunkPos);
for (const FMarvelVoxelChunkPos& VoxelChunkPos : VoxelChunkPoses)
{
// 取该体素坐标数据
const FMarvelVoxelData* VoxelData = Take.TakeData(VoxelChunkPos);
// 存到数据集中
DataSet->PutData(ChunkPos, VoxelChunkPos, *VoxelData);
}
}
}
};