mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 10:22:45 -04:00
always extract all joints even if -subset is specified
This commit is contained in:
parent
9bd879333e
commit
335370b515
@ -607,12 +607,10 @@ convert_hierarchy(EggGroupNode *egg_root) {
|
||||
_tree.clear_egg(&get_egg_data(), egg_root, NULL);
|
||||
for (int i = 0; i < num_nodes; i++) {
|
||||
MayaNodeDesc *node = _tree.get_node(i);
|
||||
if (node->is_tagged()) {
|
||||
if (!process_model_node(node)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -694,6 +692,7 @@ process_model_node(MayaNodeDesc *node_desc) {
|
||||
EggGroup *egg_group = _tree.get_egg_group(node_desc);
|
||||
get_transform(node_desc, dag_path, egg_group);
|
||||
|
||||
if (node_desc->is_tagged()) {
|
||||
MFnNurbsSurface surface(dag_path, &status);
|
||||
if (!status) {
|
||||
mayaegg_cat.info()
|
||||
@ -703,6 +702,7 @@ process_model_node(MayaNodeDesc *node_desc) {
|
||||
} else {
|
||||
make_nurbs_surface(dag_path, surface, egg_group);
|
||||
}
|
||||
}
|
||||
|
||||
} else if (dag_path.hasFn(MFn::kNurbsCurve)) {
|
||||
// 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);
|
||||
get_transform(node_desc, dag_path, egg_group);
|
||||
|
||||
if (node_desc->is_tagged()) {
|
||||
MFnNurbsCurve curve(dag_path, &status);
|
||||
if (!status) {
|
||||
mayaegg_cat.info()
|
||||
@ -721,11 +722,13 @@ process_model_node(MayaNodeDesc *node_desc) {
|
||||
make_nurbs_curve(dag_path, curve, egg_group);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else if (dag_path.hasFn(MFn::kMesh)) {
|
||||
EggGroup *egg_group = _tree.get_egg_group(node_desc);
|
||||
get_transform(node_desc, dag_path, egg_group);
|
||||
|
||||
if (node_desc->is_tagged()) {
|
||||
MFnMesh mesh(dag_path, &status);
|
||||
if (!status) {
|
||||
mayaegg_cat.info()
|
||||
@ -734,6 +737,7 @@ process_model_node(MayaNodeDesc *node_desc) {
|
||||
} else {
|
||||
make_polyset(dag_path, mesh, egg_group);
|
||||
}
|
||||
}
|
||||
|
||||
} else if (dag_path.hasFn(MFn::kLocator)) {
|
||||
EggGroup *egg_group = _tree.get_egg_group(node_desc);
|
||||
@ -743,6 +747,7 @@ process_model_node(MayaNodeDesc *node_desc) {
|
||||
<< "Locator at " << path << "\n";
|
||||
}
|
||||
|
||||
if (node_desc->is_tagged()) {
|
||||
// Presumably, the locator's position has some meaning to the
|
||||
// end-user, so we will implicitly tag it with the DCS flag so it
|
||||
// won't get flattened out.
|
||||
@ -755,6 +760,7 @@ process_model_node(MayaNodeDesc *node_desc) {
|
||||
}
|
||||
get_transform(node_desc, dag_path, egg_group);
|
||||
make_locator(dag_path, dag_node, egg_group);
|
||||
}
|
||||
|
||||
} else {
|
||||
// Just a generic node.
|
||||
|
Loading…
x
Reference in New Issue
Block a user