void PointSetNode::outputContext(std::ostream &printStream, const char *indentString) const { ColorNode *color = getColorNodes(); if (color != NULL) { if (color->isInstanceNode() == false) { if (color->getName() != NULL && strlen(color->getName())) printStream << indentString << "\t" << "color " << "DEF " << color->getName() << " Color {" << std::endl; else printStream << indentString << "\t" << "color Color {" << std::endl; color->Node::outputContext(printStream, indentString, "\t"); printStream << indentString << "\t" << "}" << std::endl; } else printStream << indentString << "\t" << "color USE " << color->getName() << std::endl; } CoordinateNode *coord = getCoordinateNodes(); if (coord != NULL) { if (coord->isInstanceNode() == false) { if (coord->getName() != NULL && strlen(coord->getName())) printStream << indentString << "\t" << "coord " << "DEF " << coord->getName() << " Coordinate {" << std::endl; else printStream << indentString << "\t" << "coord Coordinate {" << std::endl; coord->Node::outputContext(printStream, indentString, "\t"); printStream << indentString << "\t" << "}" << std::endl; } else printStream << indentString << "\t" << "coord USE " << coord->getName() << std::endl; } }
CoordinateNode *SceneGraph::findCoordinateNode(char *name) { if (!name || strlen(name) <= 0) return NULL; for (CoordinateNode *node = findCoordinateNode(); node; node = node->nextTraversal()) { const char *nodeName = node->getName(); if (nodeName && strlen(nodeName)) { if (!strcmp(name, nodeName)) return node; } } return NULL; }