Fix some crashes

Fix minor bugs
This commit is contained in:
tamasmeszaros 2022-06-09 11:18:19 +02:00
parent 688c9c644f
commit 95374f9ed4
3 changed files with 7 additions and 5 deletions

View file

@ -139,9 +139,9 @@ PointCloud::PointCloud(std::vector<Node> meshpts,
, MESHPTS_BEGIN{m_bedpoints.size()}
, LEAFS_BEGIN{MESHPTS_BEGIN + m_meshpoints.size()}
, JUNCTIONS_BEGIN{LEAFS_BEGIN + m_leafs.size()}
, m_searchable_indices(JUNCTIONS_BEGIN, true)
, m_queue_indices(JUNCTIONS_BEGIN, UNQUEUED)
, m_reachable_cnt{JUNCTIONS_BEGIN}
, m_searchable_indices(JUNCTIONS_BEGIN + m_junctions.size(), true)
, m_queue_indices(JUNCTIONS_BEGIN + m_junctions.size(), UNQUEUED)
, m_reachable_cnt{JUNCTIONS_BEGIN + m_junctions.size()}
, m_ktree{CoordFn{this}, LEAFS_BEGIN} // Only for bed and mesh points
{
for (size_t i = 0; i < m_bedpoints.size(); ++i)

View file

@ -169,6 +169,8 @@ public:
void mark_unreachable(size_t node_id)
{
assert(node_id < m_searchable_indices.size());
m_searchable_indices[node_id] = false;
m_queue_indices[node_id] = UNQUEUED;
--m_reachable_cnt;
@ -195,7 +197,7 @@ public:
auto start_queue()
{
auto ptsqueue = make_mutable_priority_queue<size_t, false>(
auto ptsqueue = make_mutable_priority_queue<size_t, true>(
[this](size_t el, size_t idx) { m_queue_indices[el] = idx; },
ZCompareFn{this});