예제 #1
0
        public void ReadXml(XmlReader reader)
        {
            reader.MoveToContent();
            var e = (XElement)XNode.ReadFrom(reader);

            XmlExt.SetReadonlyField(ref this, l => l.ThroughPoint, Point3D.ReadFrom(e.SingleElement("ThroughPoint").CreateReader()));
            XmlExt.SetReadonlyField(ref this, l => l.Direction, UnitVector3D.ReadFrom(e.SingleElement("Direction").CreateReader()));
        }
예제 #2
0
        /// <inheritdoc/>
        void IXmlSerializable.ReadXml(XmlReader reader)
        {
            reader.MoveToContent();
            var e = (XElement)XNode.ReadFrom(reader);

            this = new Line3D(
                Point3D.ReadFrom(e.SingleElement("StartPoint").CreateReader()),
                Point3D.ReadFrom(e.SingleElement("EndPoint").CreateReader()));
        }
예제 #3
0
        public void ReadXml(XmlReader reader)
        {
            reader.MoveToContent();
            var e = (XElement)XNode.ReadFrom(reader);

            XmlExt.SetReadonlyField(ref this, l => l.RootPoint, Point3D.ReadFrom(e.SingleElement("RootPoint").CreateReader()));
            XmlExt.SetReadonlyField(ref this, l => l.Normal, UnitVector3D.ReadFrom(e.SingleElement("Normal").CreateReader()));
            XmlExt.SetReadonlyField(ref this, l => l.D, -this.RootPoint.ToVector3D().DotProduct(this.Normal));
        }
예제 #4
0
        /// <inheritdoc/>
        void IXmlSerializable.ReadXml(XmlReader reader)
        {
            reader.MoveToContent();
            var e = (XElement)XNode.ReadFrom(reader);

            this = new Ray3D(
                Point3D.ReadFrom(e.SingleElement("ThroughPoint").CreateReader()),
                UnitVector3D.ReadFrom(e.SingleElement("Direction").CreateReader()));
        }
예제 #5
0
        public void ReadXml(XmlReader reader)
        {
            reader.MoveToContent();
            var e          = (XElement)XNode.ReadFrom(reader);
            var startPoint = Point3D.ReadFrom(e.SingleElement("StartPoint").CreateReader());

            XmlExt.SetReadonlyField(ref this, l => l.StartPoint, startPoint);
            var endPoint = Point3D.ReadFrom(e.SingleElement("EndPoint").CreateReader());

            XmlExt.SetReadonlyField(ref this, l => l.EndPoint, endPoint);
        }
예제 #6
0
        /// <inheritdoc />
        void IXmlSerializable.ReadXml(XmlReader reader)
        {
            var e = (XElement)XNode.ReadFrom(reader);

            var xAxis = Vector3D.ReadFrom(e.SingleElementReader("XAxis"));

            this.SetColumn(0, new[] { xAxis.X, xAxis.Y, xAxis.Z, 0 });

            var yAxis = Vector3D.ReadFrom(e.SingleElementReader("YAxis"));

            this.SetColumn(1, new[] { yAxis.X, yAxis.Y, yAxis.Z, 0 });

            var zAxis = Vector3D.ReadFrom(e.SingleElementReader("ZAxis"));

            this.SetColumn(2, new[] { zAxis.X, zAxis.Y, zAxis.Z, 0 });

            var origin = Point3D.ReadFrom(e.SingleElementReader("Origin"));

            this.SetColumn(3, new[] { origin.X, origin.Y, origin.Z, 1 });
        }