Exemplo n.º 1
0
 private static IfcBooleanClippingResult ClipByPlaneBase(this IfcBooleanOperand first,
                                                         IfcPlane plane)
 {
     return(new IfcBooleanClippingResult(IfcBooleanOperator.DIFFERENCE,
                                         first,
                                         new IfcHalfSpaceSolid(plane,
                                                               new IfcBoolean(false))));
 }
Exemplo n.º 2
0
		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;
		}
Exemplo n.º 3
0
		public override void Parse(int propIndex, IPropertyValue value, int[] nestedIndex)
		{
			switch (propIndex)
			{
				case 0: 
                    _operator = (IfcBooleanOperator) System.Enum.Parse(typeof (IfcBooleanOperator), value.EnumVal, true);
					return;
				case 1: 
					_firstOperand = (IfcBooleanOperand)(value.EntityVal);
					return;
				case 2: 
					_secondOperand = (IfcBooleanOperand)(value.EntityVal);
					return;
				default:
					throw new XbimParserException(string.Format("Attribute index {0} is out of range for {1}", propIndex + 1, GetType().Name.ToUpper()));
			}
		}
Exemplo n.º 4
0
        public override void IfcParse(int propIndex, IPropertyValue value)
        {
            switch (propIndex)
            {
            case 0:
                _operator = (IfcBooleanOperator)Enum.Parse(typeof(IfcBooleanOperator), value.EnumVal, true);
                break;

            case 1:
                _firstOperand = (IfcBooleanOperand)value.EntityVal;
                break;

            case 2:
                _secondOperand = (IfcBooleanOperand)value.EntityVal;
                break;

            default:
                this.HandleUnexpectedAttribute(propIndex, value); break;
            }
        }
Exemplo n.º 5
0
 public static IfcBooleanResult Intersection(this IfcBooleanOperand first, IfcBooleanOperand second)
 {
     return(new IfcBooleanResult(IfcBooleanOperator.INTERSECTION, first, second));
 }
Exemplo n.º 6
0
 public static IfcBooleanResult Difference(this IfcBooleanOperand first, IfcBooleanOperand second)
 {
     return(new IfcBooleanResult(IfcBooleanOperator.DIFFERENCE, first, second));
 }
Exemplo n.º 7
0
 public static IfcBooleanResult Union(this IfcBooleanOperand first, IfcBooleanOperand second)
 {
     return(new IfcBooleanResult(IfcBooleanOperator.UNION, first, second));
 }
Exemplo n.º 8
0
 public IfcBooleanResult(IfcBooleanOperator op, IfcBooleanOperand first, IfcBooleanOperand second) : base(first.Database)
 {
     mOperator      = op;
     mFirstOperand  = first.Index;
     mSecondOperand = second.Index;
 }
Exemplo n.º 9
0
 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;
 }
Exemplo n.º 10
0
 public IfcBooleanResult(IfcBooleanOperator __Operator, IfcBooleanOperand __FirstOperand, IfcBooleanOperand __SecondOperand)
 {
     this._Operator      = __Operator;
     this._FirstOperand  = __FirstOperand;
     this._SecondOperand = __SecondOperand;
 }
Exemplo n.º 11
0
 public IXbimSolid CreateSolid(IfcBooleanOperand ifcSolid)
 {
     return(_engine.CreateSolid(ifcSolid));
 }
Exemplo n.º 12
0
 public IXbimSolid CreateSolid(IfcBooleanOperand ifcSolid)
 {
     return _engine.CreateSolid(ifcSolid);
 }
Exemplo n.º 13
0
 public override void IfcParse(int propIndex, IPropertyValue value)
 {
     switch (propIndex)
     {
         case 0:
             _operator = (IfcBooleanOperator) Enum.Parse(typeof (IfcBooleanOperator), value.EnumVal, true);
             break;
         case 1:
             _firstOperand = (IfcBooleanOperand) value.EntityVal;
             break;
         case 2:
             _secondOperand = (IfcBooleanOperand) value.EntityVal;
             break;
         default:
             this.HandleUnexpectedAttribute(propIndex, value); break;
     }
 }
Exemplo n.º 14
0
		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;
		}
Exemplo n.º 15
0
 public IfcBooleanClippingResult(IfcBooleanOperator __Operator, IfcBooleanOperand __FirstOperand, IfcBooleanOperand __SecondOperand)
     : base(__Operator, __FirstOperand, __SecondOperand)
 {
 }
Exemplo n.º 16
0
		public IfcBooleanResult(IfcBooleanOperator op, IfcBooleanOperand first, IfcBooleanOperand second) : base(first.Database)
		{
			mOperator = op;
			mFirstOperand = first.Index;
			mSecondOperand = second.Index;
		}