函数:
dtNavMesh::addTile
connectIntLinks
baseOffMeshLinks
connectExtOffMeshLinks
connectExtLinks
connectExtOffMeshLinks
=============================
首先关于poly
dtpoly是寻路的基本单元
包含信息主要有:
顶点信息,link索引信息,邻边信息,area信息
关于rcPolyMesh
由buildpolymesh函数生成
包含信息主要有:
1 所有的顶点和poly
2 所有poly的 reg, area, flag信息
3 最大poly数,每个poly最大边数,cell大小信息
4 包围盒信息
5 tile boarder size
6 build detail polymesh 的时候用到的最大允许偏移maxEdgeError
关于dtPolyDetail
与一个poly对应,用以存放poly中存放三角形的信息
包含信息主要有:
开始顶点
开始三角形
顶点数
三角形数
注:具体数据是放在detailMesh.detailVerts中
关于rcPolymeshDetail
是由PolyMesh生成的
https://blog.csdn.net/u012138730/article/details/80887008
其实就是所有的顶点和三角形,以及如何构成polymeshdetail的索引
=============================
dtNavMesh::addTile(unsignedchar*data,intdataSize,intflags,
dtTileReflastRef,dtTileRef*result):
data包含了header的信息,可以通过header->x,header->y,header->layer找到一个tile
getTileAt
如果能找到则不能再addTile了
否则:
if (!lastRef)
{
lastRef表示上一次使用的相同的reference的tile
这样的话PolyRef就拥有了和与删除之前同样的值
从tile链表里面分配一个tile
}