From ab99a40f51595fe5766813fca66a9e38c254852e Mon Sep 17 00:00:00 2001 From: "Asad M. Zaman" Date: Sat, 11 Sep 2004 00:24:41 +0000 Subject: [PATCH] rearranged code so that polylights and portals will support multiple attiribute flags from maya --- panda/src/egg2pg/eggLoader.cxx | 62 +++++++++++++++++----------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/panda/src/egg2pg/eggLoader.cxx b/panda/src/egg2pg/eggLoader.cxx index e978f28b06..e1fa16af50 100644 --- a/panda/src/egg2pg/eggLoader.cxx +++ b/panda/src/egg2pg/eggLoader.cxx @@ -1814,6 +1814,37 @@ make_node(EggGroup *egg_group, PandaNode *parent) { } return node; + } else if (egg_group->get_portal_flag()) { + // Create a portal instead of a regular polyset. Scan the + // children of this node looking for a polygon, similar to the + // collision polygon case, above. + PortalNode *pnode = new PortalNode(egg_group->get_name()); + node = pnode; + + set_portal_polygon(egg_group, pnode); + if (pnode->get_num_vertices() == 0) { + egg2pg_cat.warning() + << "Portal " << egg_group->get_name() << " has no vertices!\n"; + } + + } else if (egg_group->get_polylight_flag()) { + // Create a polylight instead of a regular polyset. + // use make_sphere to get the center, radius and color + //egg2pg_cat.debug() << "polylight node\n"; + LPoint3f center; + Colorf color; + float radius; + + if(!make_sphere(egg_group,center,radius,color)) { + egg2pg_cat.warning() + << "Polylight " << egg_group->get_name() << " make_sphere failed!\n"; + } + PolylightNode *pnode = new PolylightNode(egg_group->get_name()); + pnode->set_pos(center); + pnode->set_color(color); + pnode->set_radius(radius); + node = pnode; + } else if (egg_group->get_switch_flag()) { if (egg_group->get_switch_fps() != 0.0) { // Create a sequence node. @@ -1852,37 +1883,6 @@ make_node(EggGroup *egg_group, PandaNode *parent) { make_node(*ci, node); } - } else if (egg_group->get_portal_flag()) { - // Create a portal instead of a regular polyset. Scan the - // children of this node looking for a polygon, similar to the - // collision polygon case, above. - PortalNode *pnode = new PortalNode(egg_group->get_name()); - node = pnode; - - set_portal_polygon(egg_group, pnode); - if (pnode->get_num_vertices() == 0) { - egg2pg_cat.warning() - << "Portal " << egg_group->get_name() << " has no vertices!\n"; - } - - } else if (egg_group->get_polylight_flag()) { - // Create a polylight instead of a regular polyset. - // use make_sphere to get the center, radius and color - //egg2pg_cat.debug() << "polylight node\n"; - LPoint3f center; - Colorf color; - float radius; - - if(!make_sphere(egg_group,center,radius,color)) { - egg2pg_cat.warning() - << "Polylight " << egg_group->get_name() << " make_sphere failed!\n"; - } - PolylightNode *pnode = new PolylightNode(egg_group->get_name()); - pnode->set_pos(center); - pnode->set_color(color); - pnode->set_radius(radius); - node = pnode; - } else { // A normal group; just create a normal node, and traverse. node = new PandaNode(egg_group->get_name());