Exemplo n.º 1
0
void AppearanceNode::outputContext(ostream &printStream, const char *indentString) 
{
	MaterialNode *material = getMaterialNodes();
	if (material != NULL) {
		if (material->isInstanceNode() == false) {
			if (material->getName() != NULL && strlen(material->getName()))
				printStream << indentString << "\t" << "material " << "DEF " << material->getName() << " Material {" << endl;
			else
				printStream << indentString << "\t" << "material Material {" << endl;
			material->Node::outputContext(printStream, indentString, "\t");
			printStream << indentString << "\t" << "}" << endl;
		}
		else 
			printStream << indentString << "\t" << "material USE " << material->getName() << endl;
	}

	TextureNode *texture = getTextureNode();
	if (texture != NULL) {
		if (texture->isInstanceNode() == false) {
			if (texture->getName() != NULL && strlen(texture->getName()))
				printStream << indentString << "\t" << "texture " << "DEF " << texture->getName() << " " << texture->Node::getType() << " {" << endl;
			else
				printStream << indentString << "\t" << "texture " << texture->Node::getType() << " {" << endl;
			texture->Node::outputContext(printStream, indentString, "\t");
			printStream << indentString << "\t" << "}" << endl;
		}
		else 
			printStream << indentString << "\t" << "texture USE " << texture->getName() << endl;
	}

	TextureTransformNode *textureTransform = getTextureTransformNodes();
	if (textureTransform != NULL) {
		if (textureTransform->isInstanceNode() == false) {
			if (textureTransform->getName() != NULL && strlen(textureTransform->getName()))
				printStream << indentString << "\t" << "textureTransform " << "DEF " << textureTransform->getName() << " TextureTransform {" << endl;
			else
				printStream << indentString << "\t" << "textureTransform TextureTransform {" << endl;
			textureTransform->Node::outputContext(printStream, indentString, "\t");
			printStream << indentString << "\t" << "}" << endl;
		}
		else 
			printStream << indentString << "\t" << "textureTransform USE " << textureTransform->getName() << endl;
	}
}