Пример #1
0
 public IfcOffsetCurve3D(IfcCurve __BasisCurve, IfcLengthMeasure __Distance, IfcLogical __SelfIntersect, IfcDirection __RefDirection)
     : base(__BasisCurve)
 {
     this._Distance      = __Distance;
     this._SelfIntersect = __SelfIntersect;
     this._RefDirection  = __RefDirection;
 }
        public override void Parse(int propIndex, IPropertyValue value, int[] nestedIndex)
        {
            switch (propIndex)
            {
            case 0:
            case 1:
            case 2:
                base.Parse(propIndex, value, nestedIndex);
                return;

            case 3:
                _startDistAlong = value.RealVal;
                return;

            case 4:
                _horizontalLength = value.RealVal;
                return;

            case 5:
                _startHeight = value.RealVal;
                return;

            case 6:
                _startGradient = value.RealVal;
                return;

            default:
                throw new XbimParserException(string.Format("Attribute index {0} is out of range for {1}", propIndex + 1, GetType().Name.ToUpper()));
            }
        }
Пример #3
0
        public override void Parse(int propIndex, IPropertyValue value, int[] nestedIndex)
        {
            switch (propIndex)
            {
            case 0:
                _forLayerSet = (IfcMaterialLayerSet)(value.EntityVal);
                return;

            case 1:
                _layerSetDirection = (IfcLayerSetDirectionEnum)System.Enum.Parse(typeof(IfcLayerSetDirectionEnum), value.EnumVal, true);
                return;

            case 2:
                _directionSense = (IfcDirectionSenseEnum)System.Enum.Parse(typeof(IfcDirectionSenseEnum), value.EnumVal, true);
                return;

            case 3:
                _offsetFromReferenceLine = value.RealVal;
                return;

            case 4:
                _referenceExtent = value.RealVal;
                return;

            default:
                throw new XbimParserException(string.Format("Attribute index {0} is out of range for {1}", propIndex + 1, GetType().Name.ToUpper()));
            }
        }
        public override void Parse(int propIndex, IPropertyValue value, int[] nestedIndex)
        {
            switch (propIndex)
            {
            case 0:
                _distanceAlong = value.RealVal;
                return;

            case 1:
                _offsetLateral = value.RealVal;
                return;

            case 2:
                _offsetVertical = value.RealVal;
                return;

            case 3:
                _offsetLongitudinal = value.RealVal;
                return;

            case 4:
                _alongHorizontal = value.BooleanVal;
                return;

            default:
                throw new XbimParserException(string.Format("Attribute index {0} is out of range for {1}", propIndex + 1, GetType().Name.ToUpper()));
            }
        }
Пример #5
0
 public IfcMaterialLayerSetUsage(IfcMaterialLayerSet __ForLayerSet, IfcLayerSetDirectionEnum __LayerSetDirection, IfcDirectionSenseEnum __DirectionSense, IfcLengthMeasure __OffsetFromReferenceLine)
 {
     this._ForLayerSet             = __ForLayerSet;
     this._LayerSetDirection       = __LayerSetDirection;
     this._DirectionSense          = __DirectionSense;
     this._OffsetFromReferenceLine = __OffsetFromReferenceLine;
 }
Пример #6
0
        public override void Parse(int propIndex, IPropertyValue value, int[] nestedIndex)
        {
            switch (propIndex)
            {
            case 0:
            case 1:
            case 2:
                base.Parse(propIndex, value, nestedIndex);
                return;

            case 3:
                _bottomXDim = value.RealVal;
                return;

            case 4:
                _topXDim = value.RealVal;
                return;

            case 5:
                _yDim = value.RealVal;
                return;

            case 6:
                _topXOffset = value.RealVal;
                return;

            default:
                throw new XbimParserException(string.Format("Attribute index {0} is out of range for {1}", propIndex + 1, GetType().Name.ToUpper()));
            }
        }
Пример #7
0
        public override void Parse(int propIndex, IPropertyValue value, int[] nestedIndex)
        {
            switch (propIndex)
            {
            case 0:
                _longitudinalStartPosition = value.RealVal;
                return;

            case 1:
                _longitudinalEndPosition = value.RealVal;
                return;

            case 2:
                _transversePosition = value.RealVal;
                return;

            case 3:
                _reinforcementRole = (IfcReinforcingBarRoleEnum)System.Enum.Parse(typeof(IfcReinforcingBarRoleEnum), value.EnumVal, true);
                return;

            case 4:
                _sectionDefinition = (IfcSectionProperties)(value.EntityVal);
                return;

            case 5:
                _crossSectionReinforcementDefinitions.InternalAdd((IfcReinforcementBarProperties)value.EntityVal);
                return;

            default:
                throw new XbimParserException(string.Format("Attribute index {0} is out of range for {1}", propIndex + 1, GetType().Name.ToUpper()));
            }
        }
Пример #8
0
 public IfcOffsetCurve3D(IfcCurve __BasisCurve, IfcLengthMeasure __Distance, Boolean?__SelfIntersect, IfcDirection __RefDirection)
 {
     this._BasisCurve    = __BasisCurve;
     this._Distance      = __Distance;
     this._SelfIntersect = __SelfIntersect;
     this._RefDirection  = __RefDirection;
 }
        public virtual void IfcParse(int propIndex, IPropertyValue value)
        {
            switch (propIndex)
            {
            case 0:
                _forLayerSet = (IfcMaterialLayerSet)value.EntityVal;
                break;

            case 1:
                _layerSetDirection =
                    (IfcLayerSetDirectionEnum)Enum.Parse(typeof(IfcLayerSetDirectionEnum), value.EnumVal, true);
                break;

            case 2:
                _directionSense =
                    (IfcDirectionSenseEnum)Enum.Parse(typeof(IfcDirectionSenseEnum), value.EnumVal, true);
                break;

            case 3:
                _offsetFromReferenceLine = value.RealVal;
                break;

            default:
                this.HandleUnexpectedAttribute(propIndex, value); break;
            }
        }
Пример #10
0
        public override void IfcParse(int propIndex, IPropertyValue value)
        {
            switch (propIndex)
            {
            case 0:
            case 1:
            case 2:
                base.IfcParse(propIndex, value);
                break;

            case 3:
                _bottomXDim = value.RealVal;
                break;

            case 4:
                _topXDim = value.RealVal;
                break;

            case 5:
                _yDim = value.RealVal;
                break;

            case 6:
                _topXOffset = value.RealVal;
                break;

            default:
                this.HandleUnexpectedAttribute(propIndex, value); break;
            }
        }
Пример #11
0
        public virtual void IfcParse(int propIndex, IPropertyValue value)
        {
            switch (propIndex)
            {
            case 0:
                _longitudinalStartPosition = value.RealVal;
                break;

            case 1:
                _longitudinalEndPosition = value.RealVal;
                break;

            case 2:
                _transversePosition = value.RealVal;
                break;

            case 3:
                _reinforcementRole =
                    (IfcReinforcingBarRoleEnum)
                    Enum.Parse(typeof(IfcReinforcingBarRoleEnum), value.EnumVal, true);
                break;

            case 4:
                _crossSectionArea = (IfcSectionProperties)value.EntityVal;
                break;

            case 5:
                ((IXbimNoNotifyCollection)_crossSectionReinforcementDefinitions).Add((IfcReinforcementBarProperties)value.EntityVal);
                break;

            default:
                this.HandleUnexpectedAttribute(propIndex, value); break;
            }
        }
 public IfcAlignment2DVerticalSegment(IfcBoolean?__TangentialContinuity, IfcLabel?__StartTag, IfcLabel?__EndTag, IfcLengthMeasure __StartDistAlong, IfcPositiveLengthMeasure __HorizontalLength, IfcLengthMeasure __StartHeight, IfcRatioMeasure __StartGradient)
     : base(__TangentialContinuity, __StartTag, __EndTag)
 {
     this._StartDistAlong   = __StartDistAlong;
     this._HorizontalLength = __HorizontalLength;
     this._StartHeight      = __StartHeight;
     this._StartGradient    = __StartGradient;
 }
Пример #13
0
 public IfcDistanceExpression(IfcLengthMeasure __DistanceAlong, IfcLengthMeasure?__OffsetLateral, IfcLengthMeasure?__OffsetVertical, IfcLengthMeasure?__OffsetLongitudinal, IfcBoolean?__AlongHorizontal)
 {
     this.DistanceAlong      = __DistanceAlong;
     this.OffsetLateral      = __OffsetLateral;
     this.OffsetVertical     = __OffsetVertical;
     this.OffsetLongitudinal = __OffsetLongitudinal;
     this.AlongHorizontal    = __AlongHorizontal;
 }
Пример #14
0
 public IfcTrapeziumProfileDef(IfcProfileTypeEnum __ProfileType, IfcLabel?__ProfileName, IfcAxis2Placement2D __Position, IfcPositiveLengthMeasure __BottomXDim, IfcPositiveLengthMeasure __TopXDim, IfcPositiveLengthMeasure __YDim, IfcLengthMeasure __TopXOffset)
     : base(__ProfileType, __ProfileName, __Position)
 {
     this._BottomXDim = __BottomXDim;
     this._TopXDim    = __TopXDim;
     this._YDim       = __YDim;
     this._TopXOffset = __TopXOffset;
 }
Пример #15
0
 public IfcSectionReinforcementProperties(IfcLengthMeasure __LongitudinalStartPosition, IfcLengthMeasure __LongitudinalEndPosition, IfcLengthMeasure?__TransversePosition, IfcReinforcingBarRoleEnum __ReinforcementRole, IfcSectionProperties __SectionDefinition, IfcReinforcementBarProperties[] __CrossSectionReinforcementDefinitions)
 {
     this._LongitudinalStartPosition            = __LongitudinalStartPosition;
     this._LongitudinalEndPosition              = __LongitudinalEndPosition;
     this._TransversePosition                   = __TransversePosition;
     this._ReinforcementRole                    = __ReinforcementRole;
     this._SectionDefinition                    = __SectionDefinition;
     this._CrossSectionReinforcementDefinitions = new HashSet <IfcReinforcementBarProperties>(__CrossSectionReinforcementDefinitions);
 }
Пример #16
0
 public IfcMapConversion(IfcCoordinateReferenceSystemSelect __SourceCRS, IfcCoordinateReferenceSystem __TargetCRS, IfcLengthMeasure __Eastings, IfcLengthMeasure __Northings, IfcLengthMeasure __OrthogonalHeight, IfcReal?__XAxisAbscissa, IfcReal?__XAxisOrdinate, IfcReal?__Scale)
     : base(__SourceCRS, __TargetCRS)
 {
     this._Eastings         = __Eastings;
     this._Northings        = __Northings;
     this._OrthogonalHeight = __OrthogonalHeight;
     this._XAxisAbscissa    = __XAxisAbscissa;
     this._XAxisOrdinate    = __XAxisOrdinate;
     this._Scale            = __Scale;
 }
Пример #17
0
        /// <summary>
        ///   Set Material set usage and creates it if it doesn't exist.
        /// </summary>
        /// <param name = "forLayerSet">Material layer set for the usage</param>
        /// <param name = "layerSetDirection">Direction of the material layer set in the usage</param>
        /// <param name = "directionSense">Sense of the direction of the usage</param>
        /// <param name = "offsetFromReferenceLine">Offset from the reference line of the element</param>
        public static void SetMaterialLayerSetUsage(this IfcRoot element, IfcMaterialLayerSet forLayerSet,
                                                    IfcLayerSetDirectionEnum layerSetDirection,
                                                    IfcDirectionSenseEnum directionSense,
                                                    IfcLengthMeasure offsetFromReferenceLine)
        {
            IModel model = element.ModelOf;

            element.SetMaterialLayerSetUsage(model, forLayerSet, layerSetDirection, directionSense,
                                             offsetFromReferenceLine);
        }
        internal IfcQuantityLengthTransient(MeasureResource.IfcMeasureWithUnit measure)
        {
            var value = measure.ValueComponent;

            _unit = measure.UnitComponent as Ifc4.Interfaces.IIfcNamedUnit;
            if (!(value is MeasureResource.IfcLengthMeasure))
            {
                return;
            }
            _lengthValue = new IfcLengthMeasure((MeasureResource.IfcLengthMeasure)value);
        }
Пример #19
0
        public override void Parse(int propIndex, IPropertyValue value, int[] nestedIndex)
        {
            switch (propIndex)
            {
            case 0:
                _orientation = (IfcDirection)(value.EntityVal);
                return;

            case 1:
                _magnitude = value.RealVal;
                return;

            default:
                throw new XbimParserException(string.Format("Attribute index {0} is out of range for {1}", propIndex + 1, GetType().Name.ToUpper()));
            }
        }
Пример #20
0
        public virtual void IfcParse(int propIndex, IPropertyValue value)
        {
            switch (propIndex)
            {
            case 0:
                _visibleSegmentLength = value.RealVal;
                break;

            case 1:
                _invisibleSegmentLength = value.RealVal;
                break;

            default:
                this.HandleUnexpectedAttribute(propIndex, value); break;
            }
        }
        public override void Parse(int propIndex, IPropertyValue value, int[] nestedIndex)
        {
            switch (propIndex)
            {
            case 0:
                _sizeInX = value.RealVal;
                return;

            case 1:
                _sizeInY = value.RealVal;
                return;

            default:
                throw new XbimParserException(string.Format("Attribute index {0} is out of range for {1}", propIndex + 1, GetType().Name.ToUpper()));
            }
        }
Пример #22
0
        public override void IfcParse(int propIndex, IPropertyValue value)
        {
            switch (propIndex)
            {
            case 0:
                _orientation = (IfcDirection)value.EntityVal;
                break;

            case 1:
                _magnitude = value.RealVal;
                break;

            default:
                this.HandleUnexpectedAttribute(propIndex, value); break;
            }
        }
Пример #23
0
        public override void IfcParse(int propIndex, IPropertyValue value)
        {
            switch (propIndex)
            {
            case 0:
                _sizeInX = value.RealVal;
                break;

            case 1:
                _sizeInY = value.RealVal;
                break;

            default:
                this.HandleUnexpectedAttribute(propIndex, value); break;
            }
        }
Пример #24
0
        public override void IfcParse(int propIndex, IPropertyValue value)
        {
            switch (propIndex)
            {
            case 0:
            case 1:
            case 2:
                base.IfcParse(propIndex, value);
                break;

            case 3:
                _lengthValue = value.RealVal;
                break;

            default:
                this.HandleUnexpectedAttribute(propIndex, value); break;
            }
        }
Пример #25
0
 public void Add(IfcLengthMeasure item)
 {
     if (double.IsNaN(_x))
     {
         _x = item;
     }
     else if (double.IsNaN(_y))
     {
         _y = item;
     }
     else if (double.IsNaN(_z))
     {
         _z = item;
     }
     else
     {
         throw new Exception("Index out of bounds for CartesianPoint in Add");
     }
 }
Пример #26
0
        /// <summary>
        ///   Set Material set usage parameters and creates it if it doesn't exist.
        /// </summary>
        /// <param name = "model">Model of the element</param>
        /// <param name = "forLayerSet">Material layer set for the usage</param>
        /// <param name = "layerSetDirection">Direction of the material layer set in the usage</param>
        /// <param name = "directionSense">Sense of the direction of the usage</param>
        /// <param name = "offsetFromReferenceLine">Offset from the reference line of the element</param>
        public static void SetMaterialLayerSetUsage(this IfcRoot element, IModel model,
                                                    IfcMaterialLayerSet forLayerSet,
                                                    IfcLayerSetDirectionEnum layerSetDirection,
                                                    IfcDirectionSenseEnum directionSense,
                                                    IfcLengthMeasure offsetFromReferenceLine)
        {
            //if some input is not correct, material layer set usage is not created or changed
            if (element == null || forLayerSet == null)
            {
                return;
            }

            IfcMaterialLayerSetUsage materialUsage = element.GetOrCreateLayerSetUsage(model);

            materialUsage.ForLayerSet             = forLayerSet;
            materialUsage.LayerSetDirection       = layerSetDirection;
            materialUsage.DirectionSense          = directionSense;
            materialUsage.OffsetFromReferenceLine = offsetFromReferenceLine;
        }
Пример #27
0
        public override void IfcParse(int propIndex, IPropertyValue value)
        {
            switch (propIndex)
            {
            case 0:
                _basisCurve = (IfcCurve)value.EntityVal;
                break;

            case 1:
                _distance = value.RealVal;
                break;

            case 2:
                _selfIntersect = value.BooleanVal;
                break;

            default:
                this.HandleUnexpectedAttribute(propIndex, value); break;
            }
        }
Пример #28
0
        public override void Parse(int propIndex, IPropertyValue value, int[] nestedIndex)
        {
            switch (propIndex)
            {
            case 0:
                _basisCurve = (IfcCurve)(value.EntityVal);
                return;

            case 1:
                _distance = value.RealVal;
                return;

            case 2:
                _selfIntersect = value.BooleanVal;
                return;

            default:
                throw new XbimParserException(string.Format("Attribute index {0} is out of range for {1}", propIndex + 1, GetType().Name.ToUpper()));
            }
        }
Пример #29
0
        /// <summary>
        /// Get space usable height
        /// </summary>
        /// <param name="ifcSpace">IfcSpace object</param>
        /// <param name="allPropertyValues">COBieDataPropertySetValues object holds all the properties for all the IfcSpace</param>
        /// <returns>property value as string or default value</returns>
        private string GetUsableHeight(IfcSpace ifcSpace, COBieDataPropertySetValues allPropertyValues)
        {
            IfcLengthMeasure usableHt = ifcSpace.GetHeight();

            if (usableHt != null)
            {
                return(((double)usableHt).ToString("F3"));
            }

            //Fall back to properties
            //get the property single values for this ifcSpace
            if (allPropertyValues.CurrentObject != ifcSpace)
            {
                allPropertyValues.SetAllPropertyValues(ifcSpace);
            }

            //try and find it in the attached properties of the ifcSpace
            string value = allPropertyValues.GetPropertySingleValueValue("UsableHeight", true);

            if (value == DEFAULT_STRING)
            {
                value = allPropertyValues.GetPropertySingleValueValue("FinishCeiling", true);
            }
            if (value == DEFAULT_STRING)
            {
                value = allPropertyValues.GetPropertySingleValueValue("FinishCeilingHeight", true);
            }
            if (value == DEFAULT_STRING)
            {
                value = allPropertyValues.GetPropertySingleValueValue("Height", true);
            }

            if (value == DEFAULT_STRING)
            {
                return(DEFAULT_NUMERIC);
            }
            else
            {
                return(value);
            }
        }
Пример #30
0
 public int IndexOf(IfcLengthMeasure item)
 {
     ((IPersistIfcEntity)this).Activate(false);
     if (double.IsNaN(item))
     {
         throw new Exception("Cannot treat a NAN as a coordinate value");
     }
     if (_x == item)
     {
         return(0);
     }
     if (_y == item)
     {
         return(1);
     }
     if (_z == item)
     {
         return(2);
     }
     return(-1);
 }