Recast Navigation  1.0.35
RecastContour.cpp File Reference
#include <math.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include "Recast.h"
#include "RecastAlloc.h"
#include "RecastAssert.h"

Classes

struct  rcContourHole
 
struct  rcContourRegion
 
struct  rcPotentialDiagonal
 

Macros

#define _USE_MATH_DEFINES
 

Functions

static int getCornerHeight (int x, int y, int i, int dir, const rcCompactHeightfield &chf, bool &isBorderVertex)
 
static void walkContour (int x, int y, int i, rcCompactHeightfield &chf, unsigned char *flags, rcIntArray &points)
 
static float distancePtSeg (const int x, const int z, const int px, const int pz, const int qx, const int qz)
 
static void simplifyContour (rcIntArray &points, rcIntArray &simplified, const float maxError, const int maxEdgeLen, const int buildFlags)
 
static int calcAreaOfPolygon2D (const int *verts, const int nverts)
 
int prev (int i, int n)
 
int next (int i, int n)
 
int area2 (const int *a, const int *b, const int *c)
 
bool xorb (bool x, bool y)
 
bool left (const int *a, const int *b, const int *c)
 
bool leftOn (const int *a, const int *b, const int *c)
 
bool collinear (const int *a, const int *b, const int *c)
 
static bool intersectProp (const int *a, const int *b, const int *c, const int *d)
 
static bool between (const int *a, const int *b, const int *c)
 
static bool intersect (const int *a, const int *b, const int *c, const int *d)
 
static bool vequal (const int *a, const int *b)
 
static bool intersectSegCountour (const int *d0, const int *d1, int i, int n, const int *verts)
 
static bool inCone (int i, int n, const int *verts, const int *pj)
 
static void removeDegenerateSegments (rcIntArray &simplified)
 
static bool mergeContours (rcContour &ca, rcContour &cb, int ia, int ib)
 
static void findLeftMostVertex (rcContour *contour, int *minx, int *minz, int *leftmost)
 
static int compareHoles (const void *va, const void *vb)
 
static int compareDiagDist (const void *va, const void *vb)
 
static void mergeRegionHoles (rcContext *ctx, rcContourRegion &region)
 
bool rcBuildContours (rcContext *ctx, rcCompactHeightfield &chf, const float maxError, const int maxEdgeLen, rcContourSet &cset, const int buildFlags)
 Builds a contour set from the region outlines in the provided compact heightfield. More...
 

Macro Definition Documentation

#define _USE_MATH_DEFINES

Function Documentation

int area2 ( const int *  a,
const int *  b,
const int *  c 
)
inline
static bool between ( const int *  a,
const int *  b,
const int *  c 
)
static
static int calcAreaOfPolygon2D ( const int *  verts,
const int  nverts 
)
static
bool collinear ( const int *  a,
const int *  b,
const int *  c 
)
inline
static int compareDiagDist ( const void *  va,
const void *  vb 
)
static
static int compareHoles ( const void *  va,
const void *  vb 
)
static
static float distancePtSeg ( const int  x,
const int  z,
const int  px,
const int  pz,
const int  qx,
const int  qz 
)
static
static void findLeftMostVertex ( rcContour contour,
int *  minx,
int *  minz,
int *  leftmost 
)
static
static int getCornerHeight ( int  x,
int  y,
int  i,
int  dir,
const rcCompactHeightfield chf,
bool &  isBorderVertex 
)
static
static bool inCone ( int  i,
int  n,
const int *  verts,
const int *  pj 
)
static
static bool intersect ( const int *  a,
const int *  b,
const int *  c,
const int *  d 
)
static
static bool intersectProp ( const int *  a,
const int *  b,
const int *  c,
const int *  d 
)
static
static bool intersectSegCountour ( const int *  d0,
const int *  d1,
int  i,
int  n,
const int *  verts 
)
static
bool left ( const int *  a,
const int *  b,
const int *  c 
)
inline
bool leftOn ( const int *  a,
const int *  b,
const int *  c 
)
inline
static bool mergeContours ( rcContour ca,
rcContour cb,
int  ia,
int  ib 
)
static
static void mergeRegionHoles ( rcContext ctx,
rcContourRegion region 
)
static
int next ( int  i,
int  n 
)
inline
int prev ( int  i,
int  n 
)
inline
static void removeDegenerateSegments ( rcIntArray simplified)
static
static void simplifyContour ( rcIntArray points,
rcIntArray simplified,
const float  maxError,
const int  maxEdgeLen,
const int  buildFlags 
)
static
static bool vequal ( const int *  a,
const int *  b 
)
static
static void walkContour ( int  x,
int  y,
int  i,
rcCompactHeightfield chf,
unsigned char *  flags,
rcIntArray points 
)
static
bool xorb ( bool  x,
bool  y 
)
inline