コード例 #1
0
 protected IfcBSplineCurve(DatabaseIfc db, IfcBSplineCurve c) : base(db, c)
 {
     mDegree = c.mDegree;
     ControlPointsList.AddRange(c.ControlPointsList.Select(x => db.Factory.Duplicate(x) as IfcCartesianPoint));
     mCurveForm     = c.mCurveForm;
     mClosedCurve   = c.mClosedCurve;
     mSelfIntersect = c.mSelfIntersect;
 }
コード例 #2
0
        internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary <int, BaseClassIfc> dictionary)
        {
            mDegree = int.Parse(ParserSTEP.StripField(str, ref pos, len));
            ControlPointsList.AddRange(ParserSTEP.StripListLink(str, ref pos, len).Select(x => dictionary[x] as IfcCartesianPoint));
            string s = ParserSTEP.StripField(str, ref pos, len);

            if (s[0] == '.')
            {
                Enum.TryParse <IfcBSplineCurveForm> (s.Replace(".", ""), true, out mCurveForm);
            }
            mClosedCurve   = ParserIfc.StripLogical(str, ref pos, len);
            mSelfIntersect = ParserIfc.StripLogical(str, ref pos, len);
        }
コード例 #3
0
 protected IfcBSplineCurve(int degree, IEnumerable <IfcCartesianPoint> controlPoints)
     : this(controlPoints.First().mDatabase, degree)
 {
     ControlPointsList.AddRange(controlPoints);
 }
コード例 #4
0
 public StepBSplineCurve(string name, IEnumerable <StepCartesianPoint> controlPoints) : base(name)
 {
     ControlPointsList.AddRange(controlPoints);
 }