always extract all joints even if -subset is specified

This commit is contained in:
David Rose 2003-12-11 01:38:30 +00:00
parent 9bd879333e
commit 335370b515

View File

@ -607,12 +607,10 @@ convert_hierarchy(EggGroupNode *egg_root) {
_tree.clear_egg(&get_egg_data(), egg_root, NULL); _tree.clear_egg(&get_egg_data(), egg_root, NULL);
for (int i = 0; i < num_nodes; i++) { for (int i = 0; i < num_nodes; i++) {
MayaNodeDesc *node = _tree.get_node(i); MayaNodeDesc *node = _tree.get_node(i);
if (node->is_tagged()) {
if (!process_model_node(node)) { if (!process_model_node(node)) {
return false; return false;
} }
} }
}
return true; return true;
} }
@ -694,6 +692,7 @@ process_model_node(MayaNodeDesc *node_desc) {
EggGroup *egg_group = _tree.get_egg_group(node_desc); EggGroup *egg_group = _tree.get_egg_group(node_desc);
get_transform(node_desc, dag_path, egg_group); get_transform(node_desc, dag_path, egg_group);
if (node_desc->is_tagged()) {
MFnNurbsSurface surface(dag_path, &status); MFnNurbsSurface surface(dag_path, &status);
if (!status) { if (!status) {
mayaegg_cat.info() mayaegg_cat.info()
@ -703,6 +702,7 @@ process_model_node(MayaNodeDesc *node_desc) {
} else { } else {
make_nurbs_surface(dag_path, surface, egg_group); make_nurbs_surface(dag_path, surface, egg_group);
} }
}
} else if (dag_path.hasFn(MFn::kNurbsCurve)) { } else if (dag_path.hasFn(MFn::kNurbsCurve)) {
// Only convert NurbsCurves if we aren't making an animated model. // Only convert NurbsCurves if we aren't making an animated model.
@ -712,6 +712,7 @@ process_model_node(MayaNodeDesc *node_desc) {
EggGroup *egg_group = _tree.get_egg_group(node_desc); EggGroup *egg_group = _tree.get_egg_group(node_desc);
get_transform(node_desc, dag_path, egg_group); get_transform(node_desc, dag_path, egg_group);
if (node_desc->is_tagged()) {
MFnNurbsCurve curve(dag_path, &status); MFnNurbsCurve curve(dag_path, &status);
if (!status) { if (!status) {
mayaegg_cat.info() mayaegg_cat.info()
@ -721,11 +722,13 @@ process_model_node(MayaNodeDesc *node_desc) {
make_nurbs_curve(dag_path, curve, egg_group); make_nurbs_curve(dag_path, curve, egg_group);
} }
} }
}
} else if (dag_path.hasFn(MFn::kMesh)) { } else if (dag_path.hasFn(MFn::kMesh)) {
EggGroup *egg_group = _tree.get_egg_group(node_desc); EggGroup *egg_group = _tree.get_egg_group(node_desc);
get_transform(node_desc, dag_path, egg_group); get_transform(node_desc, dag_path, egg_group);
if (node_desc->is_tagged()) {
MFnMesh mesh(dag_path, &status); MFnMesh mesh(dag_path, &status);
if (!status) { if (!status) {
mayaegg_cat.info() mayaegg_cat.info()
@ -734,6 +737,7 @@ process_model_node(MayaNodeDesc *node_desc) {
} else { } else {
make_polyset(dag_path, mesh, egg_group); make_polyset(dag_path, mesh, egg_group);
} }
}
} else if (dag_path.hasFn(MFn::kLocator)) { } else if (dag_path.hasFn(MFn::kLocator)) {
EggGroup *egg_group = _tree.get_egg_group(node_desc); EggGroup *egg_group = _tree.get_egg_group(node_desc);
@ -743,6 +747,7 @@ process_model_node(MayaNodeDesc *node_desc) {
<< "Locator at " << path << "\n"; << "Locator at " << path << "\n";
} }
if (node_desc->is_tagged()) {
// Presumably, the locator's position has some meaning to the // Presumably, the locator's position has some meaning to the
// end-user, so we will implicitly tag it with the DCS flag so it // end-user, so we will implicitly tag it with the DCS flag so it
// won't get flattened out. // won't get flattened out.
@ -755,6 +760,7 @@ process_model_node(MayaNodeDesc *node_desc) {
} }
get_transform(node_desc, dag_path, egg_group); get_transform(node_desc, dag_path, egg_group);
make_locator(dag_path, dag_node, egg_group); make_locator(dag_path, dag_node, egg_group);
}
} else { } else {
// Just a generic node. // Just a generic node.