UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
RecastRasterization.cpp File Reference
#include "CoreMinimal.h"
#include "Recast/Recast.h"
#include "Recast/RecastAlloc.h"
#include "Recast/RecastAssert.h"
#include "HAL/ConsoleManager.h"

Classes

struct  AddSpanInHeightfield
 
struct  AddSpanInTempColumns
 

Namespaces

namespace  UE
 
namespace  UE::Recast
 
namespace  UE::Recast::Private
 

Macros

#define _USE_MATH_DEFINES
 

Functions

bool overlapBounds (const rcReal *amin, const rcReal *amax, const rcReal *bmin, const rcReal *bmax)
 
bool overlapInterval (unsigned short amin, unsigned short amax, unsigned short bmin, unsigned short bmax)
 
void rcAddSpan (rcContext *, rcHeightfield &hf, const int x, const int y, const rcSpanUInt smin, const rcSpanUInt smax, const unsigned char area, const int flagMergeThr)
 
void rcAddSpans (rcContext *, rcHeightfield &hf, const int flagMergeThr, const rcSpanCache *cachedSpans, const int nspans)
 
int rcCountSpans (rcContext *, rcHeightfield &hf)
 
void rcCacheSpans (rcContext *, rcHeightfield &hf, rcSpanCache *cachedSpans)
 
void rcRasterizeTriangle (rcContext *ctx, const rcReal *v0, const rcReal *v1, const rcReal *v2, const unsigned char area, rcHeightfield &solid, const int flagMergeThr, const int rasterizationFlags, const int *rasterizationMasks)
 
void rcRasterizeTriangles (rcContext *ctx, const rcReal *verts, const int, const int *tris, const unsigned char *areas, const int nt, rcHeightfield &solid, const int flagMergeThr, const int rasterizationFlags, const int *rasterizationMasks, const rcReal *vertsbmin, const rcReal *vertsbmax)
 
void rcRasterizeTriangles (rcContext *ctx, const rcReal *verts, const int, const unsigned short *tris, const unsigned char *areas, const int nt, rcHeightfield &solid, const int flagMergeThr, const int rasterizationFlags, const int *rasterizationMasks, const rcReal *vertsbmin, const rcReal *vertsbmax)
 
void rcRasterizeTriangles (rcContext *ctx, const rcReal *verts, const unsigned char *areas, const int nt, rcHeightfield &solid, const int flagMergeThr, const int rasterizationFlags, const int *rasterizationMasks, const rcReal *vertsbmin, const rcReal *vertsbmax)
 

Macro Definition Documentation

◆ _USE_MATH_DEFINES

#define _USE_MATH_DEFINES

Function Documentation

◆ overlapBounds()

bool overlapBounds ( const rcReal amin,
const rcReal amax,
const rcReal bmin,
const rcReal bmax 
)
inline

◆ overlapInterval()

bool overlapInterval ( unsigned short  amin,
unsigned short  amax,
unsigned short  bmin,
unsigned short  bmax 
)
inline

◆ rcAddSpan()

void rcAddSpan ( rcContext ,
rcHeightfield hf,
const int  x,
const int  y,
const rcSpanUInt  smin,
const rcSpanUInt  smax,
const unsigned char  area,
const int  flagMergeThr 
)

The span addition can be set to favor flags. If the span is merged to another span and the new smax is within flagMergeThr units from the existing span, the span flags are merged.

See also
rcHeightfield, rcSpan.

◆ rcAddSpans()

void rcAddSpans ( rcContext ctx,
rcHeightfield hf,
const int  flagMergeThr,
const rcSpanCache cachedSpans,
const int  nspans 
)

◆ rcCacheSpans()

void rcCacheSpans ( rcContext ctx,
rcHeightfield hf,
rcSpanCache cachedSpans 
)

◆ rcCountSpans()

int rcCountSpans ( rcContext ctx,
rcHeightfield hf 
)

◆ rcRasterizeTriangle()

void rcRasterizeTriangle ( rcContext ctx,
const rcReal v0,
const rcReal v1,
const rcReal v2,
const unsigned char  area,
rcHeightfield solid,
const int  flagMergeThr,
const int  rasterizationFlags,
const int *  rasterizationMasks 
)

No spans will be added if the triangle does not overlap the heightfield grid.

See also
rcHeightfield

◆ rcRasterizeTriangles() [1/3]

void rcRasterizeTriangles ( rcContext ctx,
const rcReal verts,
const int  nv,
const int *  tris,
const unsigned char areas,
const int  nt,
rcHeightfield solid,
const int  flagMergeThr,
const int  rasterizationFlags,
const int *  rasterizationMasks,
const rcReal vertsbmin,
const rcReal vertsbmax 
)

Spans will only be added for triangles that overlap the heightfield grid.

See also
rcHeightfield

◆ rcRasterizeTriangles() [2/3]

void rcRasterizeTriangles ( rcContext ctx,
const rcReal verts,
const int  nv,
const unsigned short tris,
const unsigned char areas,
const int  nt,
rcHeightfield solid,
const int  flagMergeThr,
const int  rasterizationFlags,
const int *  rasterizationMasks,
const rcReal vertsbmin,
const rcReal vertsbmax 
)

Spans will only be added for triangles that overlap the heightfield grid.

See also
rcHeightfield

◆ rcRasterizeTriangles() [3/3]

void rcRasterizeTriangles ( rcContext ctx,
const rcReal verts,
const unsigned char areas,
const int  nt,
rcHeightfield solid,
const int  flagMergeThr,
const int  rasterizationFlags,
const int *  rasterizationMasks,
const rcReal vertsbmin,
const rcReal vertsbmax 
)

Spans will only be added for triangles that overlap the heightfield grid.

See also
rcHeightfield