protected IfcBSplineSurface(int uDegree, int vDegree, IEnumerable <IEnumerable <IfcCartesianPoint> > controlPoints) : this(controlPoints.First().First().mDatabase, uDegree, vDegree) { foreach (IEnumerable <IfcCartesianPoint> points in controlPoints) { ControlPointsList.Add(new LIST <IfcCartesianPoint>(points)); } }
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary <int, BaseClassIfc> dictionary) { mUDegree = int.Parse(ParserSTEP.StripField(str, ref pos, len)); mVDegree = int.Parse(ParserSTEP.StripField(str, ref pos, len)); foreach (List <int> ids in ParserSTEP.StripListListLink(str, ref pos, len)) { ControlPointsList.Add(new LIST <IfcCartesianPoint>(ids.Select(x => dictionary[x] as IfcCartesianPoint))); } string s = ParserSTEP.StripField(str, ref pos, len); if (s[0] == '.') { Enum.TryParse <IfcBSplineSurfaceForm>(s.Replace(".", ""), true, out mSurfaceForm); } mUClosed = ParserIfc.StripLogical(str, ref pos, len); mVClosed = ParserIfc.StripLogical(str, ref pos, len); mSelfIntersect = ParserIfc.StripLogical(str, ref pos, len); }