CelticCraft/Plugins/VoxelFree/Source/Voxel/Private/VoxelTools/VoxelTestLibrary.cpp

39 lines
881 B
C++
Raw Normal View History

2023-07-03 16:17:13 +00:00
// 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;
}
}
}