Exemplo n.º 1
0
        /// <summary>
        /// Parse Iterator Primitive
        /// </summary>
        private void ParseIterator(XmlNode iteratorNode, ArrayList geometryList)
        {
            IteratorPrimitive iterator = new IteratorPrimitive(null, 0);

            //get the repeat times
            XmlAttribute attribute = iteratorNode.Attributes["times"];

            if (attribute != null)
            {
                try
                {
                    iterator.RepeatAmount = Int32.Parse(attribute.Value);
                }
                catch { }
            }

            //the child nodes are geometry list and transform matrix
            for (int i = 0; i < iteratorNode.ChildNodes.Count; i++)
            {
                XmlNode node = iteratorNode.ChildNodes[i];
                if (node.Name.Equals("GeometryTransform"))
                {
                    iterator.OffsetTransform = ParseGeometryTransform(node);
                }
                else if (node.Name.Equals("Geometry"))
                {
                    ParseGeometry(node, iterator.Geometry);
                }
            }

            geometryList.Add(iterator);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Parse Iterator Primitive
        /// </summary>
        private void SetIterator(XmlDocument doc, XmlElement parentNode, IteratorPrimitive iterator)
        {
            XmlElement iteratorNode = doc.CreateElement("Iterator");

            XmlAttribute times = doc.CreateAttribute("times");

            times.InnerText = "" + iterator.RepeatAmount;
            iteratorNode.SetAttributeNode(times);

            SetGeometryTransform(doc, iteratorNode, iterator.OffsetTransform);

            SetGeometry(doc, iteratorNode, iterator.Geometry);

            parentNode.AppendChild(iteratorNode);
        }
Exemplo n.º 3
0
 public IteratorPrimitiveRenderer(IteratorPrimitive iterator, float zoom)
 {
     this.m_Iterator = iterator;
     this.m_Zoom     = zoom;
 }