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);
|
_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.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user