internal static void parseFields(IfcIndexedPolyCurve c, List <string> arrFields, ref int ipos) { IfcBoundedCurve.parseFields(c, arrFields, ref ipos); c.mPoints = ParserSTEP.ParseLink(arrFields[ipos++]); string str = arrFields[ipos++]; if (str != "$") { List <string> strs = ParserSTEP.SplitLineFields(str.Substring(1, str.Length - 2)); foreach (string s in strs) { if (s.ToUpper().StartsWith("IFCLINEINDEX")) { c.mSegments.Add(new IfcLineIndex(ParserSTEP.SplitListSTPIntegers(s.Substring(13, s.Length - 14)))); } else { List <int> ints = ParserSTEP.SplitListSTPIntegers(s.Substring(12, s.Length - 13)); c.mSegments.Add(new IfcArcIndex(ints[0], ints[1], ints[2])); } } } str = arrFields[ipos++]; if (str[0] == '.') { c.mSelfIntersect = str[1] == 'T' ? IfcLogicalEnum.TRUE : IfcLogicalEnum.FALSE; } }
internal static void parseFields(IfcCurveSegment2D c, List <string> arrFields, ref int ipos) { IfcBoundedCurve.parseFields(c, arrFields, ref ipos); c.mStartPoint = ParserSTEP.ParseLink(arrFields[ipos++]); c.mStartDirection = ParserSTEP.ParseDouble(arrFields[ipos++]); c.mSegmentLength = ParserSTEP.ParseDouble(arrFields[ipos++]); }
public IfcGradientCurve(IfcBoundedCurve baseCurve, IEnumerable <IfcAlignmentVerticalSegment> segments, double distAlongHorizontal) : base(baseCurve.Database) { BaseCurve = baseCurve; IEnumerable <IfcCurveSegment> curveSegments = segments.Select(x => x.generateCurveSegment(distAlongHorizontal)); Segments.AddRange(curveSegments); }
internal override void changeSchema(ReleaseVersion schema) { base.changeSchema(schema); if (schema == ReleaseVersion.IFC2x3) { IfcCartesianPointList cpl = Points; IfcCartesianPointList2D cpl2d = cpl as IfcCartesianPointList2D; if (cpl2d != null) { IfcBoundedCurve bc = IfcBoundedCurve.Generate(mDatabase, cpl2d.mCoordList.ToList(), Segments); int index = bc.mIndex; mDatabase[mIndex] = bc; mDatabase[index] = null; mDatabase[cpl.mIndex] = null; } else { throw new Exception("Not Implemented"); } } }
internal IfcArbitraryProfileDefWithVoids(string name, IfcBoundedCurve perim, List<IfcCurve> inner) : base(name, perim) { mInnerCurves = inner.ConvertAll(x => x.mIndex); }
public IfcCompositeCurveSegment(IfcTransitionCode tc, bool sense, IfcBoundedCurve bc) : base(bc.mDatabase) { mSameSense = sense; mTransition = tc; }
internal IfcArbitraryOpenProfileDef(string name, IfcBoundedCurve boundedCurve) : base(boundedCurve.mDatabase) { Name = name; mCurve = boundedCurve.mIndex; }
internal IfcArbitraryProfileDefWithVoids(string name, IfcBoundedCurve perim, IfcCurve inner) : base(name, perim) { mInnerCurves.Add(inner.mIndex); }
protected IfcBoundedCurve(IfcBoundedCurve pl) : base(pl) { }
public IfcArbitraryClosedProfileDef(string name, IfcBoundedCurve boundedCurve) : base(boundedCurve.mDatabase) { Name = name; mOuterCurve = boundedCurve.mIndex; }//if (string.Compare(getKW, mKW) == 0) mModel.mArbProfiles.Add(this); }
protected IfcBoundedCurve(DatabaseIfc db, IfcBoundedCurve c) : base(db,c) { }
protected static void parseFields(IfcBoundedCurve c, List<string> arrFields, ref int ipos) { IfcCurve.parseFields(c, arrFields, ref ipos); }
protected IfcBoundedCurve(DatabaseIfc db, IfcBoundedCurve c) : base(db, c) { }
internal IfcGradientCurve(DatabaseIfc db, IfcGradientCurve c, DuplicateOptions options) : base(db, c, options) { mBaseCurve = db.Factory.Duplicate(c.mBaseCurve) as IfcBoundedCurve; mEndPoint = db.Factory.Duplicate(c.mEndPoint) as IfcPlacement; }
public IfcGradientCurve(IfcBoundedCurve baseCurve, IEnumerable <IfcCurveSegment> segments) : base(baseCurve.Database) { BaseCurve = baseCurve; Segments.AddRange(segments); }
internal IfcGradientCurve(DatabaseIfc db, IfcGradientCurve c, DuplicateOptions options) : base(db, c, options) { mBaseCurve = db.Factory.Duplicate(c.mBaseCurve) as IfcBoundedCurve; Segments.AddRange(c.Segments.ConvertAll(x => db.Factory.Duplicate(x) as IfcCurveSegment)); mEndPoint = db.Factory.Duplicate(c.mEndPoint) as IfcCartesianPoint; }
public IfcArbitraryOpenProfileDef(string name, IfcBoundedCurve boundedCurve) : base(boundedCurve.mDatabase,name) { mCurve = boundedCurve.mIndex; }
internal IfcArbitraryOpenProfileDef(DatabaseIfc db, IfcArbitraryOpenProfileDef p) : base(db, p) { Curve = db.Factory.Duplicate(p.Curve) as IfcBoundedCurve; }
internal IfcArbitraryClosedProfileDef(DatabaseIfc db, IfcArbitraryClosedProfileDef p) : base(db, p) { OuterCurve = db.Factory.Duplicate(p.OuterCurve) as IfcBoundedCurve; }
protected IfcBoundedCurve(DatabaseIfc db, IfcBoundedCurve c, DuplicateOptions options) : base(db, c, options) { }
internal IfcCompositeCurveSegment(DatabaseIfc db, Curve c, bool sense, IfcTransitionCode tc, bool twoD, IfcCartesianPoint optStrt, out IfcCartesianPoint end) : this(tc, sense, IfcBoundedCurve.convCurve(db, c, optStrt, twoD, out end)) { }
public IfcGradientCurve(IfcBoundedCurve baseCurve, IEnumerable <IfcCurveSegment> segments) : base(segments) { BaseCurve = baseCurve; }
internal static IfcShapeRepresentation getAxisRep(DatabaseIfc m, IfcBoundedCurve a) { return new IfcShapeRepresentation(a) { RepresentationIdentifier = "Axis", RepresentationType = "Curve3D" }; }