Files
UnrealEngineUWP/Engine/Source/Runtime/NavigationSystem/Public/NavMesh/RecastInternalDebugData.h
mikko mononen 7ae32ffba5 Fixed holes in NavMesh caused by single voxel areas near area boundary.
- implemented median filter which is applied after areas are marked for tile cache
- implemented debug draw functionality for tile cache build steps
- fixed DetourDebugDraw.h API export

#jira UE-90332
#rb Aris.Theophanidis Yoan.StAmant Mieszko.Zielinski


#ROBOMERGE-SOURCE: CL 12401446 via CL 12401447
#ROBOMERGE-BOT: (v671-12333473)

[CL 12402286 by mikko mononen in Release-Engine-Staging branch]
2020-03-25 08:22:04 -04:00

55 lines
1.4 KiB
C

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "NavMesh/RecastHelpers.h"
#include "DebugUtils/DebugDraw.h"
struct FRecastInternalDebugData : public duDebugDraw
{
duDebugDrawPrimitives CurrentPrim;
int32 FirstVertexIndex;
TArray<uint32> TriangleIndices;
TArray<FVector> TriangleVertices;
TArray<uint32> TriangleColors;
TArray<FVector> LineVertices;
TArray<uint32> LineColors;
TArray<FVector> PointVertices;
TArray<uint32> PointColors;
FRecastInternalDebugData() {}
virtual ~FRecastInternalDebugData() override {}
virtual void depthMask(bool state) override { /*unused*/ };
virtual void texture(bool state) override { /*unused*/ };
virtual void begin(duDebugDrawPrimitives prim, float size = 1.0f) override
{
CurrentPrim = prim;
FirstVertexIndex = TriangleVertices.Num();
}
virtual void vertex(const float* pos, unsigned int color) override
{
vertex(pos[0], pos[1], pos[2], color, 0.0f, 0.0f);
}
virtual void vertex(const float x, const float y, const float z, unsigned int color) override
{
vertex(x, y, z, color, 0.0f, 0.0f);
}
virtual void vertex(const float* pos, unsigned int color, const float* uv) override
{
vertex(pos[0], pos[1], pos[2], color, uv[0], uv[1]);
}
virtual void vertex(const float x, const float y, const float z, unsigned int color, const float u, const float v) override;
virtual void end() override;
};