Exemplo n.º 1
0
        public void LoadScene(XmlNode visualSceneNode)
        {
            ID   = XmlHelper.GetXmlAttribute(visualSceneNode, "id");
            Name = XmlHelper.GetXmlAttribute(visualSceneNode, "name");

            foreach (XmlNode nodeNode in visualSceneNode)
            {
                if (nodeNode.Name == "node")
                {
                    ColladaSceneNode node = new ColladaSceneNode(this);
                    Nodes.Add(node);
                    node.LoadNode(nodeNode);
                }
            }
        }
Exemplo n.º 2
0
        public void LoadNode(XmlNode nodeNode)
        {
            ID   = XmlHelper.GetXmlAttribute(nodeNode, "id");
            Name = XmlHelper.GetXmlAttribute(nodeNode, "name");
            SetNodeType(XmlHelper.GetXmlAttribute(nodeNode, "type"));

            XmlNode matrixNode = XmlHelper.GetChildNode(nodeNode, "matrix");

            if (matrixNode != null)
            {
                Matrix = ColladaModel.LoadColladaMatrix(matrixNode);
            }

            foreach (XmlNode instance_geometryNode in nodeNode)
            {
                if (instance_geometryNode.Name == "instance_geometry")
                {
                    if (Instance_Geometry != null)
                    {
                        throw new Exception(
                                  "More then one Instance_Geometry node found, which is not currently implemented!");
                    }

                    string url = XmlHelper.GetXmlAttribute(instance_geometryNode, "url").Substring(1);
                    Instance_Geometry = scene.Model.GetMesh(url);
                }
            }

            foreach (XmlNode childNode in nodeNode)
            {
                if (childNode.Name == "node")
                {
                    ColladaSceneNode node = new ColladaSceneNode(this);
                    Nodes.Add(node);
                    node.LoadNode(childNode);
                }
            }
        }
Exemplo n.º 3
0
 private ColladaSceneNode(ColladaSceneNode nParent)
     : this(nParent.scene)
 {
     parent = nParent;
 }