public IfcBoundaryNodeCondition(IfcLabel?__Name, IfcTranslationalStiffnessSelect __TranslationalStiffnessX, IfcTranslationalStiffnessSelect __TranslationalStiffnessY, IfcTranslationalStiffnessSelect __TranslationalStiffnessZ, IfcRotationalStiffnessSelect __RotationalStiffnessX, IfcRotationalStiffnessSelect __RotationalStiffnessY, IfcRotationalStiffnessSelect __RotationalStiffnessZ) : base(__Name) { this.TranslationalStiffnessX = __TranslationalStiffnessX; this.TranslationalStiffnessY = __TranslationalStiffnessY; this.TranslationalStiffnessZ = __TranslationalStiffnessZ; this.RotationalStiffnessX = __RotationalStiffnessX; this.RotationalStiffnessY = __RotationalStiffnessY; this.RotationalStiffnessZ = __RotationalStiffnessZ; }
public override void Parse(int propIndex, IPropertyValue value, int[] nestedIndex) { switch (propIndex) { case 0: base.Parse(propIndex, value, nestedIndex); return; case 1: _translationalStiffnessX = (IfcTranslationalStiffnessSelect)(value.EntityVal); return; case 2: _translationalStiffnessY = (IfcTranslationalStiffnessSelect)(value.EntityVal); return; case 3: _translationalStiffnessZ = (IfcTranslationalStiffnessSelect)(value.EntityVal); return; case 4: _rotationalStiffnessX = (IfcRotationalStiffnessSelect)(value.EntityVal); return; case 5: _rotationalStiffnessY = (IfcRotationalStiffnessSelect)(value.EntityVal); return; case 6: _rotationalStiffnessZ = (IfcRotationalStiffnessSelect)(value.EntityVal); return; default: throw new XbimParserException(string.Format("Attribute index {0} is out of range for {1}", propIndex + 1, GetType().Name.ToUpper())); } }
public IfcBoundaryNodeCondition FindOrCreateBoundaryNodeCondition(bool isPointRestraint, IfcTranslationalStiffnessSelect x, IfcTranslationalStiffnessSelect y, IfcTranslationalStiffnessSelect z, IfcRotationalStiffnessSelect xx, IfcRotationalStiffnessSelect yy, IfcRotationalStiffnessSelect zz) { string name = ""; bool partial = false; double tol = 1e-6; if (x == null) name += isPointRestraint ? 'F' : 'T'; else if (!x.mRigid && x.mStiffness != null) partial = true; else name += (x.mRigid ? 'T' : 'F'); if (y == null) name += isPointRestraint ? 'F' : 'T'; else if (!y.mRigid && y.mStiffness != null) partial = true; else name += (y.mRigid ? 'T' : 'F'); if (z == null) name += isPointRestraint ? 'F' : 'T'; else if (!z.mRigid && z.mStiffness != null) partial = true; else name += (z.mRigid ? 'T' : 'F'); if (xx == null) name += isPointRestraint ? 'F' : 'T'; else if (!xx.mRigid && xx.mStiffness != null) partial = true; else name += (xx.mRigid ? 'T' : 'F'); if (yy == null) name += isPointRestraint ? 'F' : 'T'; else if (!yy.mRigid && yy.mStiffness != null) partial = true; else name += (yy.mRigid ? 'T' : 'F'); if (zz == null) name += isPointRestraint ? 'F' : 'T'; else if (!zz.mRigid && zz.mStiffness != null) partial = true; else name += (zz.mRigid ? 'T' : 'F'); if (partial) { #warning implement return new IfcBoundaryNodeCondition(mDatabase, "", x, y, z, xx, yy, zz); } if (mBoundaryNodeConditions.ContainsKey(name)) return mBoundaryNodeConditions[name]; IfcBoundaryNodeCondition result = new IfcBoundaryNodeCondition(mDatabase, name, x, y, z, xx, yy, zz); mBoundaryNodeConditions.Add(name, result); return result; }
public IfcBoundaryNodeConditionWarping(IfcLabel?__Name, IfcTranslationalStiffnessSelect __TranslationalStiffnessX, IfcTranslationalStiffnessSelect __TranslationalStiffnessY, IfcTranslationalStiffnessSelect __TranslationalStiffnessZ, IfcRotationalStiffnessSelect __RotationalStiffnessX, IfcRotationalStiffnessSelect __RotationalStiffnessY, IfcRotationalStiffnessSelect __RotationalStiffnessZ, IfcWarpingStiffnessSelect __WarpingStiffness) : base(__Name, __TranslationalStiffnessX, __TranslationalStiffnessY, __TranslationalStiffnessZ, __RotationalStiffnessX, __RotationalStiffnessY, __RotationalStiffnessZ) { this.WarpingStiffness = __WarpingStiffness; }