Navigation
API > API/Runtime > API/Runtime/Navmesh
Classes
| Type | Name | Description | |
|---|---|---|---|
| rcBorderSize | Specifies the size of borders around the heightfield. | ||
| rcCompactCell | Provides information on the content of a cell column in a compact heightfield. | ||
| rcCompactHeightfield | A compact, static heightfield representing unobstructed space. | ||
| rcCompactSpan | Represents a span of unobstructed space within a compact heightfield. | ||
| rcConfig | Specifies a configuration to use when performing Recast builds. | ||
| rcContext | Provides an interface for optional logging and performance tracking of the Recast build process. | ||
| rcContour | Represents a simple, non-overlapping contour in field space. | ||
| rcContourSet | Represents a group of related contours. | ||
| rcEdgeHit | |||
| rcHeightfield | A dynamic heightfield representing obstructed space. | ||
| rcHeightfieldLayer | Represents a heightfield layer within a layer set. | ||
| rcHeightfieldLayerSet | Represents a set of heightfield layers. | ||
| rcIntArray | A simple dynamic array of integers. | ||
| rcPolyMesh | @UE BEGIN | ||
| rcPolyMeshDetail | Contains triangle meshes that represent detailed height data associated with the polygons in its associated polygon mesh object. | ||
| rcRowExt | |||
| rcScopedDelete | A simple helper class used to delete an array when it goes out of scope. | ||
| rcScopedStructArrayDelete | A simple helper class used to delete an array of instances of structs, that require cleaning up by calling destructor on every instance before release. | ||
| rcSpan | Represents a span in a heightfield. | ||
| rcSpanCache | |||
| rcSpanData | Represents data of span in a heightfield. | ||
| rcSpanPool | A memory pool used for quick allocation of spans within a heightfield. | ||
| rcTempSpan |
Constants
| Name | Description |
|---|---|
| RC_AREA_BORDER | Area border flag. |
| RC_BORDER_REG | Heighfield border flag. |
| RC_BORDER_VERTEX | Border vertex flag. |
| RC_CONTOUR_REG_MASK | Applied to the region id field of contour vertices in order to extract the region id. |
| RC_MESH_NULL_IDX | An value which indicates an invalid index within a mesh. |
| RC_NOT_CONNECTED | The value returned by rcGetCon if the specified direction is not connected to another span. |
| RC_NULL_AREA | Represents the null area. |
| RC_PI | The value of PI used by Recast. |
| RC_SPAN_HEIGHT_BITS | Defines the number of bits allocated to rcSpanData::smin and rcSpanData::smax. |
| RC_SPAN_MAX_HEIGHT | Defines the maximum value for rcSpanData::smin and rcSpanData::smax. |
| RC_SPANS_PER_POOL | The number of spans allocated per span spool. |
| RC_WALKABLE_AREA | The default area id used to indicate a walkable polygon. |
Typedefs
| Name | Description |
|---|---|
| rcAllocFunc | A memory allocation function. |
| rcFreeFunc | A memory deallocation function. |
| rcReal | |
| rcSpanUInt |
Enums
| Type | Name | Description | |
|---|---|---|---|
| rcAllocHint | Copyright Epic Games, Inc. | ||
| rcBuildContoursFlags | Contour build flags. | ||
| rcFilterLowAreaFlags | UE. | ||
| rcLogCategory | Recast log categories. | ||
| rcNeighborSlopeFilterMode | UE. | ||
| rcRasterizationFlags | UE. | ||
| rcRegionPartitioning | Region partitioning methods | ||
| rcTimerLabel | Recast performance timer categories. |
Functions
| Type | Name | Description | |
|---|---|---|---|
| T | rcAbs
(
T a |
Returns the absolute value. | |
| double | rcAbs
(
double x |
||
| float | rcAbs
(
float x |
||
| void | rcAddSpan
(
rcContext* ctx, |
Adds a span to the specified heightfield. | |
| void | rcAddSpans
(
rcContext* ctx, |
||
| void * | rcAlloc
(
int size, |
Allocates a memory block. | |
| rcCompactHeightfield * | Allocates a compact heightfield object using the Recast allocator. | ||
| rcContourSet * | Allocates a contour set object using the Recast allocator. | ||
| rcHeightfield * | Allocates a heightfield object using the Recast allocator. | ||
| rcHeightfieldLayerSet * | Allocates a heightfield layer set using the Recast allocator. | ||
| rcPolyMesh * | @UE BEGIN | ||
| rcPolyMeshDetail * | Allocates a detail mesh object using the Recast allocator. | ||
| void | rcAllocSetCustom
(
rcAllocFunc* allocFunc, |
Sets the base custom allocation functions to be used by Recast. | |
| bool | rcBuildCompactHeightfield
(
rcContext* ctx, |
Builds a compact heightfield representing open space, from a heightfield representing solid space. | |
| bool | rcBuildContours
(
rcContext* ctx, |
Builds a contour set from the region outlines in the provided compact heightfield. | |
| bool | rcBuildDistanceField
(
rcContext* ctx, |
Builds the distance field for the specified compact heightfield. | |
| bool | rcBuildHeightfieldLayers
(
rcContext* ctx, |
Builds a layer set from the specified compact heightfield. | |
| bool | rcBuildHeightfieldLayersChunky
(
rcContext* ctx, |
Builds a layer set from the specified compact heightfield. | |
| bool | rcBuildHeightfieldLayersMonotone
(
rcContext* ctx, |
Builds a layer set from the specified compact heightfield. | |
| bool | rcBuildPolyMesh
(
rcContext* ctx, |
Builds a polygon mesh from the provided contours. | |
| bool | rcBuildPolyMeshDetail
(
rcContext* ctx, |
Builds a detail mesh from the provided polygon mesh. | |
| bool | rcBuildRegions
(
rcContext* ctx, |
Builds region data for the heightfield using watershed partitioning. | |
| bool | rcBuildRegionsChunky
(
rcContext* ctx, |
Builds region data for the heightfield using simple monotone partitioning. | |
| bool | rcBuildRegionsMonotone
(
rcContext* ctx, |
Builds region data for the heightfield using simple monotone partitioning. | |
| void | rcCacheSpans
(
rcContext* ctx, |
||
| void | rcCalcBounds
(
const rcReal* verts, |
Calculates the bounding box of an array of vertices. | |
| void | rcCalcGridSize
(
const rcReal* bmin, |
Calculates the grid size based on the bounding box and grid cell size. | |
| void | rcCalcTriNormals
(
const rcReal* verts, |
Calculates the normals of each triangles in an array | |
| float | rcCeil
(
float x |
||
| double | rcCeil
(
double x |
||
| T | rcClamp
(
T v, |
Clamps the value to the specified range. | |
| rcReal | When used with a mixture of rcReal and other types (in practice floats and doubles mixed here) this overridden function will be preferred by the compiler. | ||
| void | rcClearUnwalkableTriangles
(
rcContext* ctx, |
Sets the area id of all triangles with a slope greater than or equal to the specified value to RC_NULL_AREA. | |
| bool | rcCopyPolyMesh
(
rcContext* ctx, |
Copies the poly mesh data from src to dst. | |
| float | rcCos
(
float x |
||
| double | rcCos
(
double x |
||
| int | rcCountSpans
(
rcContext* ctx, |
||
| bool | rcCreateHeightfield
(
rcContext* ctx, |
Initializes a new heightfield. | |
| bool | rcErodeWalkableAndLowAreas
(
rcContext* ctx, |
Erodes the walkable area within the heightfield by the specified radius. | |
| bool | rcErodeWalkableArea
(
rcContext* ctx, |
Erodes the walkable area within the heightfield by the specified radius. | |
| void | rcFilterLedgeSpans
(
rcContext* ctx, |
Marks spans that are ledges as not-walkable, by a number of y coords at a time. | |
| void | rcFilterLedgeSpans
(
rcContext* ctx, |
Marks spans that are ledges as not-walkable. | |
| void | rcFilterLowHangingWalkableObstacles
(
rcContext* ctx, |
Marks non-walkable spans as walkable if their maximum is within `walkableClimp_ of a walkable neighbor. | |
| void | rcFilterWalkableLowHeightSpans
(
rcContext* ctx, |
Marks walkable spans as not walkable if the clearance above the span is less than the specified height. | |
| void | rcFilterWalkableLowHeightSpansSequences
(
rcContext* ctx, |
||
| double | rcFloor
(
double x |
||
| float | rcFloor
(
float x |
||
| void | rcFree
(
void* ptr |
Deallocates a memory block. | |
| void | Frees the specified compact heightfield object using the Recast allocator. | ||
| void | rcFreeContourSet
(
rcContourSet* cset |
Frees the specified contour set using the Recast allocator. | |
| void | rcFreeHeightField
(
rcHeightfield* hf |
Frees the specified heightfield object using the Recast allocator. | |
| void | Frees the specified heightfield layer set using the Recast allocator. | ||
| void | rcFreePolyMesh
(
rcPolyMesh* pmesh |
Frees the specified polygon mesh using the Recast allocator. | |
| void | rcFreePolyMeshDetail
(
rcPolyMeshDetail* dmesh |
Frees the specified detail mesh using the Recast allocator. | |
| int | rcGetCon
(
const rcCompactSpan& s, |
Gets neighbor connection data for the specified direction. | |
| int | rcGetDirOffsetX
(
int dir |
Gets the standard width (x-axis) offset for the specified direction. | |
| int | rcGetDirOffsetY
(
int dir |
Gets the standard height (z-axis) offset for the specified direction. | |
| int | rcGetHeightFieldSpanCount
(
rcContext* ctx, |
Returns the number of spans contained in the specified heightfield. | |
| void | rcMarkBoxArea
(
rcContext* ctx, |
Applies an area id to all spans within the specified bounding box. | |
| void | rcMarkConvexPolyArea
(
rcContext* ctx, |
Applies the area id to the all spans within the specified convex polygon. | |
| void | rcMarkCylinderArea
(
rcContext* ctx, |
Applies the area id to all spans within the specified cylinder. | |
| bool | rcMarkLowAreas
(
rcContext* ctx, |
Marks all spans that have insufficient free space above | |
| void | rcMarkWalkableTriangles
(
rcContext* ctx, |
Sets the area id of all triangles with a slope below the specified value to RC_WALKABLE_AREA. | |
| void | rcMarkWalkableTrianglesCos
(
rcContext* ctx, |
Sets the area id of all triangles with a slope below the specified value to RC_WALKABLE_AREA. | |
| T | rcMax
(
T a, |
Returns the maximum of two values. | |
| rcReal | When used with a mixture of rcReal and other types (in practice floats and doubles mixed here) this overridden function will be preferred by the compiler. | ||
| bool | rcMedianFilterWalkableArea
(
rcContext* ctx, |
Applies a median filter to walkable area types (based on area id), removing noise. | |
| void | rcMemCpy
(
void* dst, |
||
| bool | rcMergePolyMeshDetails
(
rcContext* ctx, |
Merges multiple detail meshes into a single detail mesh. | |
| bool | rcMergePolyMeshes
(
rcContext* ctx, |
Merges multiple polygon meshes into a single mesh. | |
| rcReal | When used with a mixture of rcReal and other types (in practice floats and doubles mixed here) this overridden function will be preferred by the compiler. | ||
| T | rcMin
(
T a, |
Returns the minimum of two values. | |
| int | rcOffsetPoly
(
const rcReal* verts, |
Helper function to offset voncex polygons for rcMarkConvexPolyArea. | |
| void | rcRasterizeTriangle
(
rcContext* ctx, |
Rasterizes a triangle into the specified heightfield. | |
| void | rcRasterizeTriangles
(
rcContext* ctx, |
Rasterizes triangles into the specified heightfield. | |
| void | rcRasterizeTriangles
(
rcContext* ctx, |
Rasterizes an indexed triangle mesh into the specified heightfield. | |
| void | rcRasterizeTriangles
(
rcContext* ctx, |
Rasterizes an indexed triangle mesh into the specified heightfield. | |
| void | rcReplaceBoxArea
(
rcContext* ctx, |
Replaces an area id in spans with matching filter area within the specified bounding box. | |
| void | rcReplaceConvexPolyArea
(
rcContext* ctx, |
Replaces an area id in spans with matching filter area within the specified convex polygon. | |
| void | rcReplaceCylinderArea
(
rcContext* ctx, |
Replaces an area id in spans with matching filter area within the specified cylinder. | |
| void | rcResetHeightfield
(
rcHeightfield& hf |
Resets all spans of heightfield. | |
| void | rcSetCon
(
rcCompactSpan& s, |
Sets the neighbor connection data for the specified direction. | |
| float | rcSin
(
float x |
||
| double | rcSin
(
double x |
||
| T | rcSqr
(
T a |
Returns the square of the value. | |
| rcReal | Returns the square root of the value. | ||
| void | rcSwap
(
T& a, |
Swaps the values of the two parameters. | |
| void | Performs a vector addition. (v1_ + v2_) |
||
| void | Performs a vector copy. | ||
| void | Derives the cross product of two vectors. (v1_ x v2_) |
||
| rcReal | Returns the distance between two points. | ||
| rcReal | rcVdistSqr
(
const rcReal* v1, |
Returns the square of the distance between two points. | |
| rcReal | Derives the dot product of two vectors. (v1_ . v2_) |
||
| void | Performs a scaled vector addition. (v1_ + (v2 * `s)) |
||
| void | Selects the maximum value of each element from the specified vectors. | ||
| void | Selects the minimum value of each element from the specified vectors. | ||
| void | rcVnormalize
(
rcReal* v |
Normalizes the vector. | |
| void | Performs a vector subtraction. (v1_ - v2_) |
Variables
| Type | Name | Description | |
|---|---|---|---|
| rcReal | RC_REAL_MAX |