+ if ( load_panel ) {
+ // Load panels
+ vector<SGPropertyNode_ptr> panel_nodes = props.getChildren("panel");
+ for (i = 0; i < panel_nodes.size(); i++) {
+ SG_LOG(SG_INPUT, SG_DEBUG, "Loading a panel");
+ ssgEntity * panel = load_panel(panel_nodes[i]);
+ if (panel_nodes[i]->hasValue("name"))
+ panel->setName((char *)panel_nodes[i]->getStringValue("name"));
+ model->addKid(panel);
+ }
+ }
+
+ if (data) {
+ data->modelLoaded(path, &props, model);
+ model->setUserData(data);
+ }
+ // Load animations
+ set<ssgBranch *> ignore_branches;
+ vector<SGPropertyNode_ptr> animation_nodes = props.getChildren("animation");
+ for (i = 0; i < animation_nodes.size(); i++) {
+ const char * name = animation_nodes[i]->getStringValue("name", 0);
+ vector<SGPropertyNode_ptr> name_nodes =
+ animation_nodes[i]->getChildren("object-name");
+ sgMakeAnimation( model, name, name_nodes, prop_root, animation_nodes[i],
+ sim_time_sec, texturepath, ignore_branches);
+ }
+
+#if PLIB_VERSION > 183
+ if ( model != 0 && sgUseDisplayList ) {
+ makeDList( model, ignore_branches );
+ }
+#endif
+
+ int m = props.getIntValue("dump", 0);
+ if (m > 0)
+ model->print(stderr, "", m - 1);
+