TrinityCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
dtPoly Struct Reference

#include <DetourNavMesh.h>

Public Member Functions

void setArea (unsigned char a)
 Sets the user defined area id. [Limit: < DT_MAX_AREAS]. More...
 
void setType (unsigned char t)
 Sets the polygon type. (See: dtPolyTypes.) More...
 
unsigned char getArea () const
 Gets the user defined area id. More...
 
unsigned char getType () const
 Gets the polygon type. (See: dtPolyTypes) More...
 

Public Attributes

unsigned int firstLink
 Index to first link in linked list. (Or DT_NULL_LINK if there is no link.) More...
 
unsigned short verts [DT_VERTS_PER_POLYGON]
 
unsigned short neis [DT_VERTS_PER_POLYGON]
 Packed data representing neighbor polygons references and flags for each edge. More...
 
unsigned short flags
 The user defined polygon flags. More...
 
unsigned char vertCount
 The number of vertices in the polygon. More...
 
unsigned char areaAndtype
 

Detailed Description

Defines a polyogn within a dtMeshTile object.

Member Function Documentation

unsigned char dtPoly::getArea ( ) const
inline

Gets the user defined area id.

182 { return areaAndtype & 0x3f; }
unsigned char areaAndtype
Definition: DetourNavMesh.h:173

+ Here is the caller graph for this function:

unsigned char dtPoly::getType ( ) const
inline

Gets the polygon type. (See: dtPolyTypes)

185 { return areaAndtype >> 6; }
unsigned char areaAndtype
Definition: DetourNavMesh.h:173

+ Here is the caller graph for this function:

void dtPoly::setArea ( unsigned char  a)
inline

Sets the user defined area id. [Limit: < DT_MAX_AREAS].

176 { areaAndtype = (areaAndtype & 0xc0) | (a & 0x3f); }
unsigned char areaAndtype
Definition: DetourNavMesh.h:173

+ Here is the caller graph for this function:

void dtPoly::setType ( unsigned char  t)
inline

Sets the polygon type. (See: dtPolyTypes.)

179 { areaAndtype = (areaAndtype & 0x3f) | (t << 6); }
unsigned char areaAndtype
Definition: DetourNavMesh.h:173

+ Here is the caller graph for this function:

Member Data Documentation

unsigned char dtPoly::areaAndtype

The bit packed area id and polygon type.

Note
Use the structure's set and get methods to acess this value.
unsigned int dtPoly::firstLink

Index to first link in linked list. (Or DT_NULL_LINK if there is no link.)

unsigned short dtPoly::flags

The user defined polygon flags.

unsigned short dtPoly::neis[DT_VERTS_PER_POLYGON]

Packed data representing neighbor polygons references and flags for each edge.

Each entry represents data for the edge starting at the vertex of the same index. E.g. The entry at index n represents the edge data for vertex[n] to vertex[n+1].

A value of zero indicates the edge has no polygon connection. (It makes up the border of the navigation mesh.)

The information can be extracted as follows:

neighborRef = neis[n] & 0xff; // Get the neighbor polygon reference.
if (neis[n] & #DT_EX_LINK)
{
// The edge is an external (portal) edge.
}
unsigned char dtPoly::vertCount

The number of vertices in the polygon.

unsigned short dtPoly::verts[DT_VERTS_PER_POLYGON]

The indices of the polygon's vertices. The actual vertices are located in dtMeshTile::verts.


The documentation for this struct was generated from the following file: