#pragma once #include "CoreMinimal.h" #include "VoxelMesh.generated.h" USTRUCT(BlueprintType) struct FVoxelMeshData { GENERATED_BODY() UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Voxel|Mesh") TArray Vertices; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Voxel|Mesh") TArray Triangles; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Voxel|Mesh") TArray Normals; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Voxel|Mesh") TArray UV0; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Voxel|Mesh") TArray UV1; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Voxel|Mesh") TArray UV2; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Voxel|Mesh") TArray UV3; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Voxel|Mesh") TArray VertexColors; const static FVoxelMeshData CubeTopFace; const static FVoxelMeshData CubeBottomFace; const static FVoxelMeshData CubeFrontFace; const static FVoxelMeshData CubeBackFace; const static FVoxelMeshData CubeLeftFace; const static FVoxelMeshData CubeRightFace; void Reset(); void Append(const FVoxelMeshData& Source); void Append(const FVoxelMeshData& Source, const FVector& LocationOffset); };