diff --git a/panda/src/grutil/pfmFile.cxx b/panda/src/grutil/pfmFile.cxx index 70c07b870b..a32a77bd60 100755 --- a/panda/src/grutil/pfmFile.cxx +++ b/panda/src/grutil/pfmFile.cxx @@ -646,8 +646,8 @@ compute_planar_bounds(double point_dist, double sample_radius) const { rinv.set_row(3, -trans); rotate.invert_from(rinv); - // Now determine the minmax in the XZ plane. - PN_stdfloat min_x, min_z, max_x, max_z; + // Now determine the minmax. + PN_stdfloat min_x, min_y, min_z, max_x, max_y, max_z; bool got_point = false; Table::const_iterator ti; for (ti = _table.begin(); ti != _table.end(); ++ti) { @@ -657,27 +657,33 @@ compute_planar_bounds(double point_dist, double sample_radius) const { LPoint3 point = (*ti) * rinv; if (!got_point) { min_x = point[0]; + min_y = point[1]; min_z = point[2]; max_x = point[0]; + max_y = point[1]; max_z = point[2]; got_point = true; } else { min_x = min(min_x, point[0]); + min_y = min(min_y, point[0]); min_z = min(min_z, point[2]); max_x = max(max_x, point[0]); + max_y = max(max_y, point[0]); max_z = max(max_z, point[2]); } } PT(BoundingHexahedron) bounds = new BoundingHexahedron - (LPoint3(min_x, 0, min_z), LPoint3(max_x, 0, min_z), - LPoint3(min_x, 0, max_z), LPoint3(max_x, 0, max_z), - LPoint3(min_x, 0, min_z), LPoint3(max_x, 0, min_z), - LPoint3(min_x, 0, max_z), LPoint3(max_x, 0, max_z)); + (LPoint3(min_x, min_y, min_z), LPoint3(max_x, min_y, min_z), + LPoint3(min_x, min_y, max_z), LPoint3(max_x, min_y, max_z), + LPoint3(min_x, max_y, min_z), LPoint3(max_x, max_y, min_z), + LPoint3(min_x, max_y, max_z), LPoint3(max_x, max_y, max_z)); + bounds->write(cerr); // Rotate the bounding volume back into the original space of the // screen. bounds->xform(rotate); + bounds->write(cerr); return bounds; }