mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-30 00:32:57 -04:00
Fix unitialized memory in nurbsVertex, prevent division by zero in NurbsCurveEvaluator
This commit is contained in:
parent
c2b44b57c9
commit
8e772366b1
@ -244,8 +244,13 @@ get_vertices(NurbsCurveEvaluator::Vert3Array &verts, const NodePath &rel_to) con
|
||||
int vi;
|
||||
for (vi = 0; vi < num_vertices; vi++) {
|
||||
LVecBase4 vertex = get_vertex(vi, rel_to);
|
||||
LPoint3 v3(vertex[0] / vertex[3], vertex[1] / vertex[3], vertex[2] / vertex[3]);
|
||||
verts.push_back(v3);
|
||||
// Avoid division by zero
|
||||
if (vertex[3] == 0.0) {
|
||||
verts.push_back(LPoint3(vertex[0], vertex[1], vertex[2]));
|
||||
} else {
|
||||
LPoint3 v3(vertex[0] / vertex[3], vertex[1] / vertex[3], vertex[2] / vertex[3]);
|
||||
verts.push_back(v3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -20,6 +20,7 @@
|
||||
////////////////////////////////////////////////////////////////////
|
||||
INLINE NurbsVertex::
|
||||
NurbsVertex() {
|
||||
_vertex.set(0, 0, 0, 1);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
Loading…
x
Reference in New Issue
Block a user