示例#1
0
        public static Point3d FromStream(BinaryReader br)
        {
            var result = new Point3d();

            var cnt = br.ReadInt32();

            for (var i = 0; i < cnt; i++)
            {
                result.Weights.Add(br.ReadInt32(), br.ReadSingle());
            }
            result.Position = Vector3Ex.FromStream(br);

            cnt = br.ReadInt32();
            if (cnt != 0)
            {
                result.Indices = new List <uint>();
                for (var i = 0; i < cnt; i++)
                {
                    result.Indices.Add(br.ReadUInt32());
                }
            }
            cnt = br.ReadInt32();
            for (var i = 0; i < cnt; i++)
            {
                result.Nearests.Add(br.ReadInt32());
            }

            result.TextureTrinagleInfo      = TrinagleInfo.FromStream(br);
            result.ShapeTrinagleInfo        = TrinagleInfo.FromStream(br);
            result.ProfileShapeTrinagleInfo = TrinagleInfo.FromStream(br);

            return(result);
        }
示例#2
0
        public static Vertex3d FromStream(BinaryReader br)
        {
            var result = new Vertex3d();

            result.Position = Vector3Ex.FromStream(br);
            result.Normal   = Vector3Ex.FromStream(br);

            result.TexCoord = new Vector2(br.ReadSingle(), br.ReadSingle());
            result.Color    = new Vector4(br.ReadSingle(), br.ReadSingle(), br.ReadSingle(), br.ReadSingle());

            result.AutodotsTexCoord = Vector3Ex.FromStream(br);
            result.OriginalPosition = Vector3Ex.FromStream(br);

            return(result);
        }