Exemple #1
0
 public IfcBSplineSurface(IfcInteger __UDegree, IfcInteger __VDegree, IfcCartesianPoint[] __ControlPointsList, IfcBSplineSurfaceForm __SurfaceForm, IfcLogical __UClosed, IfcLogical __VClosed, IfcLogical __SelfIntersect)
 {
     this._UDegree           = __UDegree;
     this._VDegree           = __VDegree;
     this._ControlPointsList = new List <IfcCartesianPoint>(__ControlPointsList);
     this._SurfaceForm       = __SurfaceForm;
     this._UClosed           = __UClosed;
     this._VClosed           = __VClosed;
     this._SelfIntersect     = __SelfIntersect;
 }
 public IfcBSplineSurface(IfcInteger uDegree, IfcInteger vDegree, List <List <IfcCartesianPoint> > controlPointsList, IfcBSplineSurfaceForm surfaceForm, IfcLogical uClosed, IfcLogical vClosed, IfcLogical selfIntersect) : base()
 {
     UDegree           = uDegree;
     VDegree           = vDegree;
     ControlPointsList = controlPointsList;
     SurfaceForm       = surfaceForm;
     UClosed           = uClosed;
     VClosed           = vClosed;
     SelfIntersect     = selfIntersect;
 }
Exemple #3
0
		protected IfcBSplineSurface(DatabaseIfc db, IfcBSplineSurface s, DuplicateOptions options) : base(db, s, options)
		{
			mUDegree = s.mUDegree;
			mVDegree = s.mVDegree;
			foreach(LIST<IfcCartesianPoint> ps in s.ControlPointsList)
				mControlPointsList.Add(new LIST<IfcCartesianPoint>(ps.ConvertAll(x=>db.Factory.Duplicate(x) as IfcCartesianPoint)));
			mSurfaceForm = s.mSurfaceForm;
			mUClosed = s.mUClosed;
			mVClosed = s.mVClosed;
			mSelfIntersect = s.mSelfIntersect;
		}
        public override void Parse(int propIndex, IPropertyValue value, int[] nestedIndex)
        {
            switch (propIndex)
            {
            case 0:
                _uDegree = value.IntegerVal;
                return;

            case 1:
                _vDegree = value.IntegerVal;
                return;

            case 2:
                ((ItemSet <IfcCartesianPoint>)_controlPointsList
                 .InternalGetAt(nestedIndex[0]))
                .InternalAdd((IfcCartesianPoint)(value.EntityVal));
                return;

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

            case 4:
                _uClosed = value.BooleanVal;
                return;

            case 5:
                _vClosed = value.BooleanVal;
                return;

            case 6:
                _selfIntersect = value.BooleanVal;
                return;

            default:
                throw new XbimParserException(string.Format("Attribute index {0} is out of range for {1}", propIndex + 1, GetType().Name.ToUpper()));
            }
        }
Exemple #5
0
 public IfcRationalBSplineSurfaceWithKnots(IfcInteger __UDegree, IfcInteger __VDegree, IfcCartesianPoint[] __ControlPointsList, IfcBSplineSurfaceForm __SurfaceForm, IfcLogical __UClosed, IfcLogical __VClosed, IfcLogical __SelfIntersect, IfcInteger[] __UMultiplicities, IfcInteger[] __VMultiplicities, IfcParameterValue[] __UKnots, IfcParameterValue[] __VKnots, IfcKnotType __KnotSpec, IfcReal[] __WeightsData)
     : base(__UDegree, __VDegree, __ControlPointsList, __SurfaceForm, __UClosed, __VClosed, __SelfIntersect, __UMultiplicities, __VMultiplicities, __UKnots, __VKnots, __KnotSpec)
 {
     this.WeightsData = new List <IfcReal>(__WeightsData);
 }
 public IfcBSplineSurfaceWithKnots(IfcInteger __UDegree, IfcInteger __VDegree, IfcCartesianPoint[] __ControlPointsList, IfcBSplineSurfaceForm __SurfaceForm, IfcLogical __UClosed, IfcLogical __VClosed, IfcLogical __SelfIntersect, IfcInteger[] __UMultiplicities, IfcInteger[] __VMultiplicities, IfcParameterValue[] __UKnots, IfcParameterValue[] __VKnots, IfcKnotType __KnotSpec)
     : base(__UDegree, __VDegree, __ControlPointsList, __SurfaceForm, __UClosed, __VClosed, __SelfIntersect)
 {
     this.UMultiplicities = new List <IfcInteger>(__UMultiplicities);
     this.VMultiplicities = new List <IfcInteger>(__VMultiplicities);
     this.UKnots          = new List <IfcParameterValue>(__UKnots);
     this.VKnots          = new List <IfcParameterValue>(__VKnots);
     this.KnotSpec        = __KnotSpec;
 }
Exemple #7
0
		protected IfcBSplineSurface(DatabaseIfc m, int uDegree, int vDegree, List<List<IfcCartesianPoint>> controlPoints, IfcBSplineSurfaceForm form, IfcLogicalEnum uClosed, IfcLogicalEnum vClosed, IfcLogicalEnum selfIntersect) :
			this(m, uDegree, vDegree, form, uClosed, vClosed, selfIntersect)
		{
			foreach (List<IfcCartesianPoint> cps in controlPoints)
				mControlPointsList.Add(cps.ConvertAll(x => x.mIndex));
		}
Exemple #8
0
		internal IfcBSplineSurfaceWithKnots(DatabaseIfc m, int uDegree, int vDegree, IfcBSplineSurfaceForm form, List<List<IfcCartesianPoint>> controlPoints, IfcLogicalEnum uClosed, IfcLogicalEnum vClosed, IfcLogicalEnum selfIntersect, List<int> uMultiplicities, List<int> vMultiplicities, List<double> uKnots, List<double> vKnots, IfcKnotType type)
			: base(m, uDegree, vDegree, controlPoints, form, uClosed, vClosed, selfIntersect)
		{
			mUMultiplicities.AddRange(uMultiplicities);
			mVMultiplicities.AddRange(vMultiplicities);
			mUKnots.AddRange(uKnots);
			mVKnots.AddRange(vKnots);
		}
Exemple #9
0
		protected IfcBSplineSurface(IfcBSplineSurface pl)
			: base(pl)
		{
			mUDegree = pl.mUDegree;
			mVDegree = pl.mVDegree;
			for (int icounter = 0; icounter < pl.mControlPointsList.Count; icounter++)
				mControlPointsList.Add(new List<int>(pl.mControlPointsList[icounter].ToArray()));
			mSurfaceForm = pl.mSurfaceForm;
			mUClosed = pl.mUClosed;
			mVClosed = pl.mVClosed;
			mSelfIntersect = pl.mSelfIntersect;
		}
Exemple #10
0
		private IfcBSplineSurface(DatabaseIfc m, int uDegree, int vDegree, IfcBSplineSurfaceForm form, IfcLogicalEnum uClosed, IfcLogicalEnum vClosed, IfcLogicalEnum selfIntersect)
			: base(m)
		{
			mUDegree = uDegree;
			mVDegree = vDegree;
			mSurfaceForm = form;
			mUClosed = uClosed;
			mVClosed = vClosed;
			mSelfIntersect = selfIntersect;
		}
Exemple #11
0
 private IfcBSplineSurface(DatabaseIfc db, int uDegree, int vDegree, IfcBSplineSurfaceForm form)
     : base(db)
 {
     mUDegree = uDegree;
     mVDegree = vDegree;
     mSurfaceForm = form;
 }
Exemple #12
0
 protected IfcBSplineSurface(int uDegree, int vDegree, List<List<IfcCartesianPoint>> controlPoints, IfcBSplineSurfaceForm form)
     : this(controlPoints[0][0].mDatabase, uDegree, vDegree, form)
 {
     foreach (List<IfcCartesianPoint> cps in controlPoints)
         mControlPointsList.Add(cps.ConvertAll(x => x.mIndex));
 }
Exemple #13
0
 protected IfcBSplineSurface(DatabaseIfc db, IfcBSplineSurface s)
     : base(db,s)
 {
     mUDegree = s.mUDegree;
     mVDegree = s.mVDegree;
     List<List<IfcCartesianPoint>> points = s.ControlPointsList;
     foreach(List<IfcCartesianPoint> ps in points)
         mControlPointsList.Add(ps.ConvertAll(x=>db.Factory.Duplicate(x).mIndex));
     mSurfaceForm = s.mSurfaceForm;
     mUClosed = s.mUClosed;
     mVClosed = s.mVClosed;
     mSelfIntersect = s.mSelfIntersect;
 }
 public IfcRationalBSplineSurfaceWithKnots(IfcInteger uDegree, IfcInteger vDegree, List <List <IfcCartesianPoint> > controlPointsList, IfcBSplineSurfaceForm surfaceForm, IfcLogical uClosed, IfcLogical vClosed, IfcLogical selfIntersect, List <IfcInteger> uMultiplicities, List <IfcInteger> vMultiplicities, List <IfcParameterValue> uKnots, List <IfcParameterValue> vKnots, IfcKnotType knotSpec, List <List <IfcReal> > weightsData) : base(uDegree, vDegree, controlPointsList, surfaceForm, uClosed, vClosed, selfIntersect, uMultiplicities, vMultiplicities, uKnots, vKnots, knotSpec)
 {
     WeightsData = weightsData;
 }
 public IfcBSplineSurfaceWithKnots(IfcInteger uDegree, IfcInteger vDegree, List <List <IfcCartesianPoint> > controlPointsList, IfcBSplineSurfaceForm surfaceForm, IfcLogical uClosed, IfcLogical vClosed, IfcLogical selfIntersect, List <IfcInteger> uMultiplicities, List <IfcInteger> vMultiplicities, List <IfcParameterValue> uKnots, List <IfcParameterValue> vKnots, IfcKnotType knotSpec) : base(uDegree, vDegree, controlPointsList, surfaceForm, uClosed, vClosed, selfIntersect)
 {
     UMultiplicities = uMultiplicities;
     VMultiplicities = vMultiplicities;
     UKnots          = uKnots;
     VKnots          = vKnots;
     KnotSpec        = knotSpec;
 }