Example #1
0
        }                                                        // optional


        /// <summary>
        /// Construct a IfcRecurrencePattern with all required attributes.
        /// </summary>
        public IfcRecurrencePattern(IfcRecurrenceTypeEnum recurrenceType) : base()
        {
            DayComponent     = new List <IfcDayInMonthNumber>();
            WeekdayComponent = new List <IfcDayInWeekNumber>();
            MonthComponent   = new List <IfcMonthInYearNumber>();
            TimePeriods      = new List <IfcTimePeriod>();

            RecurrenceType = recurrenceType;
        }
Example #2
0
 public IfcRecurrencePattern(IfcRecurrenceTypeEnum recurrenceType, List <IfcDayInMonthNumber> dayComponent, List <IfcDayInWeekNumber> weekdayComponent, List <IfcMonthInYearNumber> monthComponent, IfcInteger position, IfcInteger interval, IfcInteger occurrences, List <IfcTimePeriod> timePeriods) : base()
 {
     RecurrenceType   = recurrenceType;
     DayComponent     = dayComponent;
     WeekdayComponent = weekdayComponent;
     MonthComponent   = monthComponent;
     Position         = position;
     Interval         = interval;
     Occurrences      = occurrences;
     TimePeriods      = timePeriods;
 }
Example #3
0
 public IfcRecurrencePattern(IfcRecurrenceTypeEnum __RecurrenceType, IfcDayInMonthNumber[] __DayComponent, IfcDayInWeekNumber[] __WeekdayComponent, IfcMonthInYearNumber[] __MonthComponent, IfcInteger?__Position, IfcInteger?__Interval, IfcInteger?__Occurrences, IfcTimePeriod[] __TimePeriods)
 {
     this._RecurrenceType   = __RecurrenceType;
     this._DayComponent     = new HashSet <IfcDayInMonthNumber>(__DayComponent);
     this._WeekdayComponent = new HashSet <IfcDayInWeekNumber>(__WeekdayComponent);
     this._MonthComponent   = new HashSet <IfcMonthInYearNumber>(__MonthComponent);
     this._Position         = __Position;
     this._Interval         = __Interval;
     this._Occurrences      = __Occurrences;
     this._TimePeriods      = new List <IfcTimePeriod>(__TimePeriods);
 }
Example #4
0
        public override void Parse(int propIndex, IPropertyValue value, int[] nestedIndex)
        {
            switch (propIndex)
            {
            case 0:
                _recurrenceType = (IfcRecurrenceTypeEnum)System.Enum.Parse(typeof(IfcRecurrenceTypeEnum), value.EnumVal, true);
                return;

            case 1:
                _dayComponent.InternalAdd(value.IntegerVal);
                return;

            case 2:
                _weekdayComponent.InternalAdd(value.IntegerVal);
                return;

            case 3:
                _monthComponent.InternalAdd(value.IntegerVal);
                return;

            case 4:
                _position = value.IntegerVal;
                return;

            case 5:
                _interval = value.IntegerVal;
                return;

            case 6:
                _occurrences = value.IntegerVal;
                return;

            case 7:
                _timePeriods.InternalAdd((IfcTimePeriod)value.EntityVal);
                return;

            default:
                throw new XbimParserException(string.Format("Attribute index {0} is out of range for {1}", propIndex + 1, GetType().Name.ToUpper()));
            }
        }
Example #5
0
		internal IfcRecurrencePattern(DatabaseIfc m, IfcRecurrenceTypeEnum type, List<int> days, List<int> weekdays, List<int> months, int position, int interval, int occurences, List<IfcTimePeriod> periods)
			: base(m)
		{
			mRecurrenceType = type;
			if (days != null)
				mDayComponent.AddRange(days);
			if (weekdays != null)
				mWeekdayComponent.AddRange(weekdays);
			if (months != null)
				mMonthComponent.AddRange(months);
			mPosition = position;
			mInterval = interval;
			mOccurrences = occurences;
			if (periods != null)
				mTimePeriods = periods.ConvertAll(x => x.mIndex);
		}
Example #6
0
		internal IfcRecurrencePattern(IfcRecurrencePattern p) : base()
		{
			mRecurrenceType = p.mRecurrenceType;
			mDayComponent.AddRange(p.mDayComponent);
			mWeekdayComponent.AddRange(p.mWeekdayComponent);
			mMonthComponent.AddRange(p.mMonthComponent);
			mPosition = p.mPosition;
			mInterval = p.mInterval;
			mOccurrences = p.mOccurrences;
			mTimePeriods.AddRange(p.mTimePeriods);
		}