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

Macros

#define _USE_MATH_DEFINES
 

Functions

void rcFilterLowHangingWalkableObstacles (rcContext *ctx, const int walkableClimb, rcHeightfield &solid)
 
void rcFilterLedgeSpansImp (rcContext *ctx, const int walkableHeight, const int walkableClimb, const rcNeighborSlopeFilterMode neighborSlopeFilterMode, const rcReal maxStepFromWalkableSlope, const rcReal ch, const int filterLedgeSpansAtY, rcHeightfield &solid)
 
void rcFilterLedgeSpans (rcContext *ctx, const int walkableHeight, const int walkableClimb, const rcNeighborSlopeFilterMode neighborSlopeFilterMode, const rcReal maxStepFromWalkableSlope, const rcReal ch, rcHeightfield &solid)
 
void rcFilterLedgeSpans (rcContext *ctx, const int walkableHeight, const int walkableClimb, const rcNeighborSlopeFilterMode neighborSlopeFilterMode, const rcReal maxStepFromWalkableSlope, const rcReal ch, const int yStart, const int maxYProcess, rcHeightfield &solid)
 
void rcFilterWalkableLowHeightSpans (rcContext *ctx, int walkableHeight, rcHeightfield &solid)
 
void rcFilterWalkableLowHeightSpansSequences (rcContext *ctx, int walkableHeight, rcHeightfield &solid)
 

Macro Definition Documentation

◆ _USE_MATH_DEFINES

#define _USE_MATH_DEFINES

Function Documentation

◆ rcFilterLedgeSpans() [1/2]

void rcFilterLedgeSpans ( rcContext ctx,
const int  walkableHeight,
const int  walkableClimb,
const rcNeighborSlopeFilterMode  neighborSlopeFilterMode,
const rcReal  maxStepFromWalkableSlope,
const rcReal  ch,
const int  yStart,
const int  maxYProcess,
rcHeightfield solid 
)

◆ rcFilterLedgeSpans() [2/2]

void rcFilterLedgeSpans ( rcContext ctx,
const int  walkableHeight,
const int  walkableClimb,
const rcNeighborSlopeFilterMode  neighborSlopeFilterMode,
const rcReal  maxStepFromWalkableSlope,
const rcReal  ch,
rcHeightfield solid 
)

A ledge is a span with one or more neighbors whose maximum is further away than walkableClimb from the current span's maximum. This method removes the impact of the overestimation of conservative voxelization so the resulting mesh will not have regions hanging in the air over ledges.

A span is a ledge if: rcAbs(currentSpan.smax - neighborSpan.smax) > walkableClimb

See also
rcHeightfield, rcConfig

◆ rcFilterLedgeSpansImp()

void rcFilterLedgeSpansImp ( rcContext ctx,
const int  walkableHeight,
const int  walkableClimb,
const rcNeighborSlopeFilterMode  neighborSlopeFilterMode,
const rcReal  maxStepFromWalkableSlope,
const rcReal  ch,
const int  filterLedgeSpansAtY,
rcHeightfield solid 
)

◆ rcFilterLowHangingWalkableObstacles()

void rcFilterLowHangingWalkableObstacles ( rcContext ctx,
const int  walkableClimb,
rcHeightfield solid 
)

Allows the formation of walkable regions that will flow over low lying objects such as curbs, and up structures such as stairways.

Two neighboring spans are walkable if: rcAbs(currentSpan.smax - neighborSpan.smax) < waklableClimb

Warning
Will override the effect of rcFilterLedgeSpans. So if both filters are used, call rcFilterLedgeSpans after calling this filter.
See also
rcHeightfield, rcConfig

◆ rcFilterWalkableLowHeightSpans()

void rcFilterWalkableLowHeightSpans ( rcContext ctx,
int  walkableHeight,
rcHeightfield solid 
)

For this filter, the clearance above the span is the distance from the span's maximum to the next higher span's minimum. (Same grid column.)

See also
rcHeightfield, rcConfig

◆ rcFilterWalkableLowHeightSpansSequences()

void rcFilterWalkableLowHeightSpansSequences ( rcContext ctx,
int  walkableHeight,
rcHeightfield solid 
)