internal IfcProfileDef underlyingSweptProfile() { if (mOperator == IfcBooleanOperator.DIFFERENCE) { IfcBooleanOperand first = FirstOperand; IfcSweptAreaSolid sweptAreaSolid = first as IfcSweptAreaSolid; if(sweptAreaSolid != null) return sweptAreaSolid.SweptArea; IfcBooleanResult booleanResult = first as IfcBooleanResult; if(booleanResult != null) return booleanResult.underlyingSweptProfile(); } return null; }
internal IfcBooleanResult(DatabaseIfc db, IfcBooleanResult b) : base(db, b) { mOperator = b.mOperator; FirstOperand = db.Factory.Duplicate(b.mDatabase[b.mFirstOperand]) as IfcBooleanOperand; SecondOperand = db.Factory.Duplicate(b.mDatabase[b.mSecondOperand]) as IfcBooleanOperand; }
internal IfcBooleanResult(DatabaseIfc db, IfcBooleanResult b, DuplicateOptions options) : base(db, b, options) { mOperator = b.mOperator; FirstOperand = db.Factory.Duplicate(b.FirstOperand) as IfcBooleanOperand; SecondOperand = db.Factory.Duplicate(b.SecondOperand) as IfcBooleanOperand; }
internal static IfcBooleanResult Parse(string strDef) { IfcBooleanResult b = new IfcBooleanResult(); int ipos = 0; parseFields(b, ParserSTEP.SplitLineFields(strDef), ref ipos); return b; }
internal static void parseFields(IfcBooleanResult b, List<string> arrFields, ref int ipos) { IfcCurve.parseFields(b, arrFields, ref ipos); b.mOperator = (IfcBooleanOperator)Enum.Parse(typeof(IfcBooleanOperator), arrFields[ipos++].Replace(".", "")); b.mFirstOperand = ParserSTEP.ParseLink(arrFields[ipos++]); b.mSecondOperand = ParserSTEP.ParseLink(arrFields[ipos++]); }
internal IfcBooleanResult(IfcBooleanResult b) : base(b) { mOperator = b.mOperator; mFirstOperand = b.mFirstOperand; mSecondOperand = b.mSecondOperand; }
internal IfcBooleanResult(DatabaseIfc db, IfcBooleanResult b) : base(db,b) { mOperator = b.mOperator; FirstOperand = db.Factory.Duplicate(b.mDatabase[ b.mFirstOperand]) as IfcBooleanOperand; SecondOperand = db.Factory.Duplicate(b.mDatabase[b.mSecondOperand]) as IfcBooleanOperand; }
public IfcShapeRepresentation(IfcBooleanResult br) : base(br, "Body", "CSG") { IfcBooleanClippingResult bcr = br as IfcBooleanClippingResult; if (bcr != null) mRepresentationType = "Clipping"; }