示例#1
0
        /// <summary>
        /// </summary>
        public static Mask3d Parse(JObject json, Func <JToken, IMask2d> deserialize)
        {
            var mask        = deserialize(json["mask"]);
            var model2mask  = Trafo3d.Parse((string)json["model2mask"]);
            var camPosition = V3d.Parse((string)json["camPosition"]);

            return(new Mask3d(camPosition, mask, model2mask));
        }
        public static FilterInsideConvexHull3d Deserialize(JObject json)
        {
            var arr    = (JArray)json["Array"];
            var planes = arr.Map(jt => new Plane3d(V3d.Parse((string)jt["Normal"]), V3d.Parse((string)jt["Point"])));
            var hull   = new Hull3d(planes);

            return(new FilterInsideConvexHull3d(hull));
        }
示例#3
0
        public static Torus3d Parse(string s)
        {
            var x = s.NestedBracketSplitLevelOne().ToArray();

            return(new Torus3d(
                       V3d.Parse(x[0]),
                       V3d.Parse(x[1]),
                       double.Parse(x[2], CultureInfo.InvariantCulture),
                       double.Parse(x[3], CultureInfo.InvariantCulture)
                       ));
        }
示例#4
0
        public static Circle3d Parse(string s)
        {
            var x = s.NestedBracketSplitLevelOne().ToArray();

            return(new Circle3d(V3d.Parse(x[0]), V3d.Parse(x[1]), double.Parse(x[2])));
        }
示例#5
0
        public static Ray3d Parse(string s)
        {
            var x = s.NestedBracketSplitLevelOne().ToArray();

            return(new Ray3d(V3d.Parse(x[0]), V3d.Parse(x[1])));
        }
示例#6
0
        public static Euclidean3d Parse(string s)
        {
            var x = s.NestedBracketSplitLevelOne().ToArray();

            return(new Euclidean3d(Rot3d.Parse(x[0]), V3d.Parse(x[1])));
        }
示例#7
0
        public static ObliqueCone3d Parse(string s)
        {
            var x = s.NestedBracketSplitLevelOne().ToArray();

            return(new ObliqueCone3d(V3d.Parse(x[0]), Circle3d.Parse(x[1])));
        }