Example #1
0
	//---------------------------------------------------------------------
	void SceneResource::processSceneNodeContent(const Util::XmlNode * snNode, SceneNodePtr & sceneNode, bool isChild) const
	{
		WHISPERWIND_ASSERT(snNode);

		/// node property
		{
			Util::String posStr(mXmlReader->getAttribute(snNode, "position"));
			XMVECTOR posVec = Util::StringToVector(posStr, 3);

			Util::String orientStr(mXmlReader->getAttribute(snNode, "orientation"));
			XMVECTOR orientVec = Util::StringToVector(orientStr, 4);

			if (!isChild)
			{
				sceneNode->setPosition(posVec);
				sceneNode->setOrientation(orientVec);
			}
			else
			{
				sceneNode->setRelativePosition(posVec);
				sceneNode->setRelativeOrientation(orientVec);
			}
		}

		const Util::XmlNode * snChildNode = mXmlReader->getFirstNode(snNode, "child_node");
		while (snChildNode)
		{
			processChildSceneNode(snChildNode, sceneNode);

			snChildNode = mXmlReader->getNextSiblingNode(snChildNode);
		}

		const Util::XmlNode * soNode = mXmlReader->getFirstNode(snNode, "object");
		while (soNode)
		{
			processSceneObject(soNode, sceneNode);

			soNode = mXmlReader->getNextSiblingNode(soNode);
		}

		const Util::XmlNode * lightNode = mXmlReader->getFirstNode(snNode, "light");
		while (lightNode)
		{
			processLight(lightNode, sceneNode);

			lightNode = mXmlReader->getNextSiblingNode(lightNode);
		}

		const Util::XmlNode * trackNode = mXmlReader->getFirstNode(snNode, "node_track");
		while (trackNode)
		{
			processNodeTrack(trackNode, sceneNode);

			trackNode = mXmlReader->getNextSiblingNode(trackNode);
		}
	}
Example #2
0
void defiSite::print(FILE* f) const {
  fprintf(f, "Site '%p' %s\n", name(),
     orientStr());
  fprintf(f, "  DO X %g %g BY %g\n",
     x_orig(),
     x_num(),
     x_step());
  fprintf(f, "  DO Y %g %g BY %g\n",
     y_orig(),
     y_num(),
     y_step());

}