GeometryGym.Ifc.IfcIndexedPolyCurve.parseJObject C# (CSharp) Méthode

parseJObject() private méthode

private parseJObject ( JObject obj ) : void
obj JObject
Résultat void
        internal override void parseJObject(JObject obj)
        {
            base.parseJObject(obj);
            JObject jobj = obj.GetValue("Points", StringComparison.InvariantCultureIgnoreCase) as JObject;
            if (jobj != null)
                Points = mDatabase.parseJObject<IfcCartesianPointList>(jobj);
            JArray array = obj.GetValue("Segments", StringComparison.InvariantCultureIgnoreCase) as JArray;
            if (array != null)
            {
                foreach (JToken tok in array)
                {
                    JObject ob = tok as JObject;
                    if (ob != null)
                    {
                        JToken jtoken = ob.GetValue("IfcLineIndex", StringComparison.InvariantCultureIgnoreCase);
                        if (jtoken != null)
                            mSegments.Add(new IfcLineIndex(jtoken.Value<string>().Split(" ".ToCharArray()).ToList().ConvertAll(x => int.Parse(x))));
                        else
                        {
                            jtoken = ob.GetValue("IfcArcIndex", StringComparison.InvariantCultureIgnoreCase);
                            if (jtoken != null)
                            {
                                List<int> tokens = jtoken.Value<string>().Split(" ".ToCharArray()).ToList().ConvertAll(x => int.Parse(x));
                                mSegments.Add(new IfcArcIndex(tokens[0], tokens[1], tokens[2]));
                            }
                        }
                    }
                }
            }
            JToken token = obj.GetValue("SelfIntersect", StringComparison.InvariantCultureIgnoreCase);
            if (token != null)
                Enum.TryParse<IfcLogicalEnum>(token.Value<string>(), true, out mSelfIntersect);
        }