internal IfcMaterialLayerSet detectMaterialLayerSet() { IfcRelAssociatesMaterial associates = RelatedMaterialAssociation; if (associates == null) { return(null); } IfcMaterialSelect material = associates.RelatingMaterial; IfcMaterialLayerSet materialLayerSet = material as IfcMaterialLayerSet; if (materialLayerSet != null) { return(materialLayerSet); } IfcMaterialLayerSetUsage materialLayerSetUsage = material as IfcMaterialLayerSetUsage; if (materialLayerSetUsage != null) { return(materialLayerSetUsage.ForLayerSet); } return(null); }
public IfcWallType(string name, IfcMaterialLayerSet ls, IfcWallTypeEnum type) : base(ls.mDatabase) { Name = name; mPredefinedType = type; MaterialSelect = ls; }
internal IfcMaterialLayerSetUsage(DatabaseIfc m, IfcMaterialLayerSet ls, IfcLayerSetDirectionEnum dir, IfcDirectionSenseEnum sense, double offset) : base(m) { mForLayerSet = ls.mIndex; mLayerSetDirection = dir; mDirectionSense = sense; mOffsetFromReferenceLine = offset; }
internal static void parseFields(IfcMaterialLayerSet m, List<string> arrFields, ref int ipos, Schema schema) { IfcMaterialDefinition.parseFields(m, arrFields, ref ipos); m.mMaterialLayers = ParserSTEP.SplitListLinks(arrFields[ipos++]); m.mLayerSetName = arrFields[ipos++].Replace("'", ""); if (schema != Schema.IFC2x3) m.mDescription = arrFields[ipos++].Replace("'", ""); }
internal static IfcMaterialLayerSet Parse(string strDef, Schema schema) { IfcMaterialLayerSet m = new IfcMaterialLayerSet(); int ipos = 0; parseFields(m, ParserSTEP.SplitLineFields(strDef), ref ipos,schema); return m; }
internal IfcMaterialLayerSet(IfcMaterialLayerSet m) : base(m) { mMaterialLayers = new List<int>(m.mMaterialLayers.ToArray()); mLayerSetName = m.mLayerSetName; mDescription = m.mDescription; }
internal IfcPlateType(string name, IfcMaterialLayerSet mls, IfcPlateTypeEnum type) : this(mls.mDatabase, name, type) { MaterialSelect = mls; }