1
This commit is contained in:
parent
162c98190d
commit
f200dd913d
@ -1113,5 +1113,43 @@ bool MapInstance::GetNearestGrass(const glm::vec3& center, glm::vec3& out_pt)
|
||||
|
||||
void MapInstance::AdjustOnLandPoint(glm::vec3& point)
|
||||
{
|
||||
float center[3];
|
||||
center[0] = point.x;
|
||||
center[1] = point.y;
|
||||
center[2] = point.z;
|
||||
|
||||
const float extents[3] = {4.0f/10.0f, 100.0f, 4.0f/10.0f};
|
||||
|
||||
dtQueryFilter filter;
|
||||
filter.setIncludeFlags(0xffff);
|
||||
filter.setExcludeFlags(0);
|
||||
|
||||
int poly_count = 0;
|
||||
dtStatus status = navmesh_query_->queryPolygons(center,
|
||||
extents,
|
||||
&filter,
|
||||
polys_,
|
||||
&poly_count,
|
||||
MAX_POLYS);
|
||||
if (dtStatusFailed(status) || poly_count <= 0) {
|
||||
return;
|
||||
}
|
||||
for (int i = 0; i < poly_count; ++i) {
|
||||
unsigned int slat = 0;
|
||||
unsigned int it = 0;
|
||||
unsigned int ip = 0;
|
||||
navmesh_->decodePolyId(polys_[i], slat, it, ip);
|
||||
|
||||
const dtMeshTile* tile = navmesh_->getTileByRef(polys_[i]);
|
||||
if (!tile) {
|
||||
abort();
|
||||
}
|
||||
if (ip >= tile->header->polyCount) {
|
||||
abort();
|
||||
}
|
||||
const dtPoly* poly = &tile->polys[ip];
|
||||
for (int ii = 0; ii < poly->vertCount; ++ii) {
|
||||
const float* vc = &tile->verts[poly->verts[ii]*3];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user