invisible flag should not eliminate collision solids

This commit is contained in:
David Rose 2003-09-22 23:26:46 +00:00
parent 326b4d8c78
commit 1ec650644e
2 changed files with 14 additions and 21 deletions

View File

@ -258,6 +258,17 @@ get_egg_group(MayaNodeDesc *node_desc) {
egg_group->add_object_type(object_type);
}
// Is the node flagged to be invisible? If it is, and is has no
// other egg flags, it is implicitly tagged "backstage", so it
// won't get converted. (But it might be an invisible collision
// solid, which is why we do this only if it has no other egg
// flags.)
bool visible = true;
get_bool_attribute(dag_object, "visibility", visible);
if (!visible && egg_group->get_num_object_types() == 0) {
egg_group->add_object_type("backstage");
}
// We treat the object type "billboard" as a special case: we
// apply this one right away and also flag the group as an
// instance.

View File

@ -534,15 +534,9 @@ process_model_node(MayaNodeDesc *node_desc) {
}
MObject node = dag_path.transform(&status);
bool visible;
if (!get_bool_attribute(node, "visibility", visible)) {
if (mayaegg_cat.is_debug()) {
mayaegg_cat.debug()
<< "Couldn't get visibility attribute for " << dag_node.name()
<< "\n";
}
visible = true;
if (!status) {
status.perror("dag_path.transform()");
return false;
}
string path = dag_path.fullPathName().asChar();
@ -556,11 +550,6 @@ process_model_node(MayaNodeDesc *node_desc) {
<< " (animated)";
}
if (!visible) {
mayaegg_cat.debug(false)
<< " (invisible)";
}
mayaegg_cat.debug(false) << "\n";
}
@ -572,13 +561,6 @@ process_model_node(MayaNodeDesc *node_desc) {
get_joint_transform(dag_path, egg_group);
}
} else if (!visible) {
if (mayaegg_cat.is_debug()) {
mayaegg_cat.debug()
<< "Ignoring invisible node " << path
<< "\n";
}
} else if (dag_node.inUnderWorld()) {
if (mayaegg_cat.is_debug()) {
mayaegg_cat.debug()