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; }
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); }
protected IfcBSplineCurve(int degree, IEnumerable <IfcCartesianPoint> controlPoints) : this(controlPoints.First().mDatabase, degree) { ControlPointsList.AddRange(controlPoints); }
public StepBSplineCurve(string name, IEnumerable <StepCartesianPoint> controlPoints) : base(name) { ControlPointsList.AddRange(controlPoints); }