transform nurbs correctly, like polysets
This commit is contained in:
parent
a16fe56c74
commit
242920ed62
|
|
@ -1002,6 +1002,8 @@ make_nurbs_surface(const MDagPath &dag_path, MFnNurbsSurface &surface,
|
|||
}
|
||||
egg_nurbs->set_v_knot(v_knots + 1, v_knot_array[v_knots - 1]);
|
||||
|
||||
LMatrix4d vertex_frame_inv = egg_group->get_vertex_frame_inv();
|
||||
|
||||
for (i = 0; i < egg_nurbs->get_num_cvs(); i++) {
|
||||
int ui = egg_nurbs->get_u_index(i);
|
||||
int vi = egg_nurbs->get_v_index(i);
|
||||
|
|
@ -1012,7 +1014,9 @@ make_nurbs_surface(const MDagPath &dag_path, MFnNurbsSurface &surface,
|
|||
status.perror("MPoint::get");
|
||||
} else {
|
||||
EggVertex vert;
|
||||
vert.set_pos(LPoint4d(v[0], v[1], v[2], v[3]));
|
||||
LPoint4d p4d(v[0], v[1], v[2], v[3]);
|
||||
p4d = p4d * vertex_frame_inv;
|
||||
vert.set_pos(p4d);
|
||||
egg_nurbs->add_vertex(vpool->create_unique_vertex(vert));
|
||||
}
|
||||
}
|
||||
|
|
@ -1238,6 +1242,8 @@ make_nurbs_curve(const MDagPath &, const MFnNurbsCurve &curve,
|
|||
}
|
||||
egg_curve->set_knot(knots + 1, knot_array[knots - 1]);
|
||||
|
||||
LMatrix4d vertex_frame_inv = egg_group->get_vertex_frame_inv();
|
||||
|
||||
for (i = 0; i < egg_curve->get_num_cvs(); i++) {
|
||||
double v[4];
|
||||
MStatus status = cv_array[i].get(v);
|
||||
|
|
@ -1245,7 +1251,9 @@ make_nurbs_curve(const MDagPath &, const MFnNurbsCurve &curve,
|
|||
status.perror("MPoint::get");
|
||||
} else {
|
||||
EggVertex vert;
|
||||
vert.set_pos(LPoint4d(v[0], v[1], v[2], v[3]));
|
||||
LPoint4d p4d(v[0], v[1], v[2], v[3]);
|
||||
p4d = p4d * vertex_frame_inv;
|
||||
vert.set_pos(p4d);
|
||||
egg_curve->add_vertex(vpool->create_unique_vertex(vert));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue