39 lines
881 B
C++
39 lines
881 B
C++
|
// Copyright 2020 Phyronnaz
|
||
|
|
||
|
#include "VoxelTools/VoxelTestLibrary.h"
|
||
|
#include "VoxelTools/VoxelToolHelpers.h"
|
||
|
#include "VoxelData/VoxelDataIncludes.h"
|
||
|
|
||
|
FVoxelTestValues UVoxelTestLibrary::ReadValues(AVoxelWorld* World, FVoxelIntBox Bounds)
|
||
|
{
|
||
|
VOXEL_FUNCTION_COUNTER();
|
||
|
CHECK_VOXELWORLD_IS_CREATED();
|
||
|
|
||
|
auto& Data = World->GetData();
|
||
|
|
||
|
FVoxelReadScopeLock Lock(Data, Bounds, FUNCTION_FNAME);
|
||
|
return { MakeSharedCopy(Data.GetValues(Bounds)) };
|
||
|
}
|
||
|
|
||
|
void UVoxelTestLibrary::TestValues(FVoxelTestValues ValuesA, FVoxelTestValues ValuesB)
|
||
|
{
|
||
|
VOXEL_FUNCTION_COUNTER();
|
||
|
|
||
|
if (ValuesA.Values->Num() != ValuesB.Values->Num())
|
||
|
{
|
||
|
ensure(false);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
for (int32 Index = 0; Index < ValuesA.Values->Num(); Index++)
|
||
|
{
|
||
|
const auto ValueA = (*ValuesA.Values)[Index];
|
||
|
const auto ValueB = (*ValuesB.Values)[Index];
|
||
|
|
||
|
if (ValueA != ValueB)
|
||
|
{
|
||
|
ensure(false);
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
}
|