//internal IfcShapeRepresentation(IfcRepresentationMap rm) : base(new IfcMappedItem(rm), "Model", "MappedRepresentation") { } public IfcShapeRepresentation(IfcSectionedSpine ss) : base(ss, "Body", "SectionedSpine") { if (ss.mCrossSections.Count > 0) { IfcProfileDef pd = mDatabase.mIfcObjects[ss.mCrossSections[0]] as IfcProfileDef; if (pd.mProfileType == IfcProfileTypeEnum.CURVE) mRepresentationIdentifier = "Surface3D"; } }
internal static void parseFields(IfcSectionedSpine s, List<string> arrFields, ref int ipos) { IfcGeometricRepresentationItem.parseFields(s, arrFields, ref ipos); s.mSpineCurve = ParserSTEP.ParseLink(arrFields[ipos++]); s.mCrossSections = ParserSTEP.SplitListLinks(arrFields[ipos++]); s.mCrossSectionPositions = ParserSTEP.SplitListLinks(arrFields[ipos++]); }
internal static IfcSectionedSpine Parse(string strDef) { IfcSectionedSpine s = new IfcSectionedSpine(); int ipos = 0; parseFields(s, ParserSTEP.SplitLineFields(strDef), ref ipos); return s; }
internal IfcSectionedSpine(IfcSectionedSpine p) : base(p) { mSpineCurve = p.mSpineCurve; mCrossSections = new List<int>(p.mCrossSections.ToArray()); mCrossSectionPositions = new List<int>(p.mCrossSectionPositions.ToArray()); }