/** The 'apply' method for 'Geode' type instances * @param searchNode : Geode : node that is searched */ void lgNodeOverseer::apply(Geode &searchNode) { cout << spaces() << "Géode :"<< searchNode.getName() << ", " << searchNode.getNumDrawables() << " drawables" << endl; if(searchNode.getNumDrawables()>0 && showDrawable){ for (unsigned i=0;i<searchNode.getNumDrawables();i++) { _level++; cout << spaces() << "Drawable " << i << " : " << searchNode.getDrawable(i)->getName() << endl; ref_ptr<Geometry> myGeom = dynamic_cast<Geometry*>(searchNode.getDrawable(i)); if(myGeom) { ref_ptr<Vec3Array> arrayVertex = (Vec3Array*) myGeom->getVertexArray(); _level++; int size = arrayVertex->size(); cout << spaces() << "Il y a " << size << " sommets" << endl; for (int j=0; j<size;j++) { cout << spaces() << "Sommet " << j+1 << " : x=" << arrayVertex->at(j).x() << ", y=" << arrayVertex->at(j).y() << ", z=" << arrayVertex->at(j).z() << endl; } _level--; } else { cout << "Pas de géométrie" << endl; } _level--; } cout << spaces() << endl; } // If no node is found, return searchNode if (searchForName == "") { foundNodeList.push_back(&searchNode); } else { if (searchNode.getName() == searchForName) { foundNodeList.push_back(&searchNode); } _level++; traverse(searchNode); _level--; } }