mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 18:31:55 -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;
|
int vi;
|
||||||
for (vi = 0; vi < num_vertices; vi++) {
|
for (vi = 0; vi < num_vertices; vi++) {
|
||||||
LVecBase4 vertex = get_vertex(vi, rel_to);
|
LVecBase4 vertex = get_vertex(vi, rel_to);
|
||||||
LPoint3 v3(vertex[0] / vertex[3], vertex[1] / vertex[3], vertex[2] / vertex[3]);
|
// Avoid division by zero
|
||||||
verts.push_back(v3);
|
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::
|
INLINE NurbsVertex::
|
||||||
NurbsVertex() {
|
NurbsVertex() {
|
||||||
|
_vertex.set(0, 0, 0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
|
Loading…
x
Reference in New Issue
Block a user