mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-30 08:44:19 -04:00
gobj: Assert instead of crash if primitive references out-of-bounds vert
This commit is contained in:
parent
a11e21e4f4
commit
fa8c8e71b5
@ -1627,6 +1627,8 @@ calc_tight_bounds(LPoint3 &min_point, LPoint3 &max_point,
|
|||||||
|
|
||||||
for (; i < cdata->_num_vertices; ++i) {
|
for (; i < cdata->_num_vertices; ++i) {
|
||||||
reader.set_row_unsafe(cdata->_first_vertex + i);
|
reader.set_row_unsafe(cdata->_first_vertex + i);
|
||||||
|
nassertv(!reader.is_at_end());
|
||||||
|
|
||||||
LPoint3 vertex = mat.xform_point_general(reader.get_data3());
|
LPoint3 vertex = mat.xform_point_general(reader.get_data3());
|
||||||
|
|
||||||
min_point.set(min(min_point[0], vertex[0]),
|
min_point.set(min(min_point[0], vertex[0]),
|
||||||
@ -1653,6 +1655,8 @@ calc_tight_bounds(LPoint3 &min_point, LPoint3 &max_point,
|
|||||||
|
|
||||||
for (; i < cdata->_num_vertices; ++i) {
|
for (; i < cdata->_num_vertices; ++i) {
|
||||||
reader.set_row_unsafe(cdata->_first_vertex + i);
|
reader.set_row_unsafe(cdata->_first_vertex + i);
|
||||||
|
nassertv(!reader.is_at_end());
|
||||||
|
|
||||||
const LVecBase3 &vertex = reader.get_data3();
|
const LVecBase3 &vertex = reader.get_data3();
|
||||||
|
|
||||||
min_point.set(min(min_point[0], vertex[0]),
|
min_point.set(min(min_point[0], vertex[0]),
|
||||||
@ -1696,6 +1700,8 @@ calc_tight_bounds(LPoint3 &min_point, LPoint3 &max_point,
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
reader.set_row_unsafe(ii);
|
reader.set_row_unsafe(ii);
|
||||||
|
nassertv(!reader.is_at_end());
|
||||||
|
|
||||||
LPoint3 vertex = mat.xform_point_general(reader.get_data3());
|
LPoint3 vertex = mat.xform_point_general(reader.get_data3());
|
||||||
|
|
||||||
min_point.set(min(min_point[0], vertex[0]),
|
min_point.set(min(min_point[0], vertex[0]),
|
||||||
@ -1728,6 +1734,8 @@ calc_tight_bounds(LPoint3 &min_point, LPoint3 &max_point,
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
reader.set_row_unsafe(ii);
|
reader.set_row_unsafe(ii);
|
||||||
|
nassertv(!reader.is_at_end());
|
||||||
|
|
||||||
const LVecBase3 &vertex = reader.get_data3();
|
const LVecBase3 &vertex = reader.get_data3();
|
||||||
|
|
||||||
min_point.set(min(min_point[0], vertex[0]),
|
min_point.set(min(min_point[0], vertex[0]),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user