SOGToXml2() public static method

public static SOGToXml2 ( XmlTextWriter writer, SceneObjectGroup sog, object>.Dictionary options ) : void
writer System.Xml.XmlTextWriter
sog SceneObjectGroup
options object>.Dictionary
return void
示例#1
0
        private static void SavePrimListToXml2(EntityBase[] entityList, TextWriter stream, Vector3 min, Vector3 max)
        {
            using (XmlTextWriter writer = new XmlTextWriter(stream))
            {
                int primCount = 0;
                writer.WriteStartElement("scene");

                foreach (EntityBase ent in entityList)
                {
                    if (ent is SceneObjectGroup)
                    {
                        SceneObjectGroup g = (SceneObjectGroup)ent;
                        if (!min.Equals(Vector3.Zero) || !max.Equals(Vector3.Zero))
                        {
                            Vector3 pos = g.RootPart.WorldPosition;
                            if (min.X > pos.X || min.Y > pos.Y || min.Z > pos.Z)
                            {
                                continue;
                            }
                            if (max.X < pos.X || max.Y < pos.Y || max.Z < pos.Z)
                            {
                                continue;
                            }
                        }

                        SceneObjectSerializer.SOGToXml2(writer, (SceneObjectGroup)ent, new Dictionary <string, object>());

                        primCount++;
                    }
                }

                writer.WriteEndElement();
            }
        }
示例#2
0
        // Called by archives (save oar)
        public static string SaveGroupToXml2(SceneObjectGroup grp, Dictionary <string, object> options)
        {
            //return SceneObjectSerializer.ToXml2Format(grp);
            using (MemoryStream mem = new MemoryStream())
            {
                using (XmlTextWriter writer = new XmlTextWriter(mem, System.Text.Encoding.UTF8))
                {
                    SceneObjectSerializer.SOGToXml2(writer, grp, options);
                    writer.Flush();

                    using (StreamReader reader = new StreamReader(mem))
                    {
                        mem.Seek(0, SeekOrigin.Begin);
                        return(reader.ReadToEnd());
                    }
                }
            }
        }
示例#3
0
        // Called here only. Should be private?
        public static void SavePrimListToXml2(EntityBase[] entityList, TextWriter stream, Vector3 min, Vector3 max)
        {
            XmlTextWriter writer = new XmlTextWriter(stream);

            int primCount = 0;

            stream.WriteLine("<scene>\n");

            foreach (EntityBase ent in entityList)
            {
                if (ent is SceneObjectGroup)
                {
                    SceneObjectGroup g = (SceneObjectGroup)ent;
                    if (!min.Equals(Vector3.Zero) || !max.Equals(Vector3.Zero))
                    {
                        Vector3 pos = g.RootPart.GetWorldPosition();
                        if (min.X > pos.X || min.Y > pos.Y || min.Z > pos.Z)
                        {
                            continue;
                        }
                        if (max.X < pos.X || max.Y < pos.Y || max.Z < pos.Z)
                        {
                            continue;
                        }
                    }

                    //stream.WriteLine(SceneObjectSerializer.ToXml2Format(g));
                    SceneObjectSerializer.SOGToXml2(writer, (SceneObjectGroup)ent, new Dictionary <string, object>());
                    stream.WriteLine();

                    primCount++;
                }
            }

            stream.WriteLine("</scene>\n");
            stream.Flush();
        }