internal IfcDoorType(DatabaseIfc m, string name, IfcDoorTypeEnum type, IfcDoorTypeOperationEnum operation, IfcDoorLiningProperties lp, List<IfcDoorPanelProperties> pps) : base(m) { Name = name; if (lp != null) mHasPropertySets.Add(lp.mIndex); if (pps != null && pps.Count > 0) mHasPropertySets.AddRange(pps.ConvertAll(x => x.mIndex)); mPredefinedType = type; mOperationType = operation; mParameterTakesPrecedence = true; }
internal static void parseFields(IfcDoorLiningProperties p, List<string> arrFields, ref int ipos,Schema schema) { IfcPropertySetDefinition.parseFields(p, arrFields, ref ipos); p.mLiningDepth = ParserSTEP.ParseDouble(arrFields[ipos++]); p.mLiningThickness = ParserSTEP.ParseDouble(arrFields[ipos++]); p.mThresholdDepth = ParserSTEP.ParseDouble(arrFields[ipos++]); p.mThresholdThickness = ParserSTEP.ParseDouble(arrFields[ipos++]); p.mTransomThickness = ParserSTEP.ParseDouble(arrFields[ipos++]); p.mTransomOffset = ParserSTEP.ParseDouble(arrFields[ipos++]); p.mLiningOffset = ParserSTEP.ParseDouble(arrFields[ipos++]); p.mThresholdOffset = ParserSTEP.ParseDouble(arrFields[ipos++]); p.mCasingThickness = ParserSTEP.ParseDouble(arrFields[ipos++]); p.mCasingDepth = ParserSTEP.ParseDouble(arrFields[ipos++]); p.mShapeAspectStyle = ParserSTEP.ParseLink(arrFields[ipos++]); if (schema != Schema.IFC2x3) { p.mLiningToPanelOffsetX = ParserSTEP.ParseDouble(arrFields[ipos++]); p.mLiningToPanelOffsetY = ParserSTEP.ParseDouble(arrFields[ipos++]); } }
internal IfcDoorLiningProperties(IfcDoorLiningProperties p) : base(p) { mLiningDepth = p.mLiningDepth; mLiningThickness = p.mLiningThickness; mThresholdDepth = p.mThresholdDepth; mThresholdThickness = p.mThresholdThickness; mTransomThickness = p.mTransomThickness; mTransomOffset = p.mTransomOffset; mLiningOffset = p.mLiningOffset; mThresholdOffset = p.mThresholdOffset; mCasingThickness = p.mCasingThickness; mCasingDepth = p.mCasingDepth; mShapeAspectStyle = p.mShapeAspectStyle; mLiningToPanelOffsetX = p.mLiningToPanelOffsetX; mLiningToPanelOffsetY = p.mLiningToPanelOffsetY; }
internal static IfcDoorLiningProperties Parse(string strDef, Schema schema) { IfcDoorLiningProperties p = new IfcDoorLiningProperties(); int ipos = 0; parseFields(p, ParserSTEP.SplitLineFields(strDef), ref ipos,schema); return p; }
internal IfcDoorLiningProperties(DatabaseIfc db, IfcDoorLiningProperties p) : base(db, p) { mLiningDepth = p.mLiningDepth; mLiningThickness = p.mLiningThickness; mThresholdDepth = p.mThresholdDepth; mThresholdThickness = p.mThresholdThickness; mTransomThickness = p.mTransomThickness; mTransomOffset = p.mTransomOffset; mLiningOffset = p.mLiningOffset; mThresholdOffset = p.mThresholdOffset; mCasingThickness = p.mCasingThickness; mCasingDepth = p.mCasingDepth; if (p.mShapeAspectStyle > 0) ShapeAspectStyle = db.Factory.Duplicate(p.ShapeAspectStyle) as IfcShapeAspect; mLiningToPanelOffsetX = p.mLiningToPanelOffsetX; mLiningToPanelOffsetY = p.mLiningToPanelOffsetY; }