This commit is contained in:
aozhiwei 2023-02-09 14:31:45 +08:00
parent bfd2821398
commit fddc8015dc
3 changed files with 19 additions and 2 deletions

View File

@ -882,9 +882,13 @@ bool MapInstance::SceneRaycast(const glm::vec3& orig,
float max_distance, float max_distance,
glm::vec3& hit_pos) glm::vec3& hit_pos)
{ {
if (max_distance <= 0.001f) {
return false;
}
float nearest_distance = 0.0f; float nearest_distance = 0.0f;
glm::vec3 nearest_pt(0.0f, 0.0f, 0.0f); glm::vec3 nearest_pt(0.0f, 0.0f, 0.0f);
int raycast_index = MapMgr::Instance()->IncCurrRaycastIndex(); int raycast_index = MapMgr::Instance()->IncCurrRaycastIndex();
float len = 0.0f;
while (true) { while (true) {
} }

View File

@ -145,3 +145,17 @@ int MapService::GetGridId(float world_x, float world_y)
int grid_id = (int)(world_x/cell_width_) + (int)(world_y/cell_width_) * map_width_; int grid_id = (int)(world_x/cell_width_) + (int)(world_y/cell_width_) * map_width_;
return grid_id; return grid_id;
} }
void MapService::GetGridList(int grid_id, list_head* grid_list[9], int& grid_count)
{
grid_count = 0;
if (grid_id <= 0 || grid_id >= max_grid_id_) {
return;
}
for (int i = 0; i < 9; ++i) {
int idx = grid_id + grid_offset_arr_[i];
if (idx >= 0 && idx < max_grid_id_) {
grid_list[grid_count++] = &map_cells_[idx];
}
}
}

View File

@ -25,9 +25,8 @@ class MapService
bool CanAdd(const glm::vec3& pos, int rad); bool CanAdd(const glm::vec3& pos, int rad);
void AddTriangle(mc::Triangle* tri); void AddTriangle(mc::Triangle* tri);
private:
int GetGridId(float world_x, float world_y); int GetGridId(float world_x, float world_y);
void GetGridList(int grid_id, list_head* grid_list[9], int& grid_count);
private: private:
list_head* map_cells_ = nullptr; list_head* map_cells_ = nullptr;