Пример #1
0
 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));
     }
 }
Пример #2
0
        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);
        }