Exemplo n.º 1
0
        internal static void parseFields(IfcIndexedPolyCurve c, List <string> arrFields, ref int ipos)
        {
            IfcBoundedCurve.parseFields(c, arrFields, ref ipos);
            c.mPoints = ParserSTEP.ParseLink(arrFields[ipos++]);
            string str = arrFields[ipos++];

            if (str != "$")
            {
                List <string> strs = ParserSTEP.SplitLineFields(str.Substring(1, str.Length - 2));
                foreach (string s in strs)
                {
                    if (s.ToUpper().StartsWith("IFCLINEINDEX"))
                    {
                        c.mSegments.Add(new IfcLineIndex(ParserSTEP.SplitListSTPIntegers(s.Substring(13, s.Length - 14))));
                    }
                    else
                    {
                        List <int> ints = ParserSTEP.SplitListSTPIntegers(s.Substring(12, s.Length - 13));
                        c.mSegments.Add(new IfcArcIndex(ints[0], ints[1], ints[2]));
                    }
                }
            }
            str = arrFields[ipos++];
            if (str[0] == '.')
            {
                c.mSelfIntersect = str[1] == 'T' ? IfcLogicalEnum.TRUE : IfcLogicalEnum.FALSE;
            }
        }
Exemplo n.º 2
0
 internal static void parseFields(IfcCurveSegment2D c, List <string> arrFields, ref int ipos)
 {
     IfcBoundedCurve.parseFields(c, arrFields, ref ipos);
     c.mStartPoint     = ParserSTEP.ParseLink(arrFields[ipos++]);
     c.mStartDirection = ParserSTEP.ParseDouble(arrFields[ipos++]);
     c.mSegmentLength  = ParserSTEP.ParseDouble(arrFields[ipos++]);
 }
Exemplo n.º 3
0
        public IfcGradientCurve(IfcBoundedCurve baseCurve, IEnumerable <IfcAlignmentVerticalSegment> segments, double distAlongHorizontal) : base(baseCurve.Database)
        {
            BaseCurve = baseCurve;
            IEnumerable <IfcCurveSegment> curveSegments = segments.Select(x => x.generateCurveSegment(distAlongHorizontal));

            Segments.AddRange(curveSegments);
        }
Exemplo n.º 4
0
 internal override void changeSchema(ReleaseVersion schema)
 {
     base.changeSchema(schema);
     if (schema == ReleaseVersion.IFC2x3)
     {
         IfcCartesianPointList   cpl   = Points;
         IfcCartesianPointList2D cpl2d = cpl as IfcCartesianPointList2D;
         if (cpl2d != null)
         {
             IfcBoundedCurve bc    = IfcBoundedCurve.Generate(mDatabase, cpl2d.mCoordList.ToList(), Segments);
             int             index = bc.mIndex;
             mDatabase[mIndex]     = bc;
             mDatabase[index]      = null;
             mDatabase[cpl.mIndex] = null;
         }
         else
         {
             throw new Exception("Not Implemented");
         }
     }
 }
Exemplo n.º 5
0
		internal IfcArbitraryProfileDefWithVoids(string name, IfcBoundedCurve perim, List<IfcCurve> inner) : base(name, perim) { mInnerCurves = inner.ConvertAll(x => x.mIndex); }
Exemplo n.º 6
0
		public IfcCompositeCurveSegment(IfcTransitionCode tc, bool sense, IfcBoundedCurve bc) : base(bc.mDatabase) { mSameSense = sense; mTransition = tc; }
Exemplo n.º 7
0
		internal IfcArbitraryOpenProfileDef(string name, IfcBoundedCurve boundedCurve) : base(boundedCurve.mDatabase) { Name = name; mCurve = boundedCurve.mIndex; }
Exemplo n.º 8
0
		internal IfcArbitraryProfileDefWithVoids(string name, IfcBoundedCurve perim, IfcCurve inner) : base(name, perim) { mInnerCurves.Add(inner.mIndex); }
Exemplo n.º 9
0
		protected IfcBoundedCurve(IfcBoundedCurve pl) : base(pl) { }
Exemplo n.º 10
0
		public IfcArbitraryClosedProfileDef(string name, IfcBoundedCurve boundedCurve) : base(boundedCurve.mDatabase) { Name = name; mOuterCurve = boundedCurve.mIndex; }//if (string.Compare(getKW, mKW) == 0) mModel.mArbProfiles.Add(this); }
Exemplo n.º 11
0
 protected IfcBoundedCurve(DatabaseIfc db, IfcBoundedCurve c)
     : base(db,c)
 {
 }
Exemplo n.º 12
0
		protected static void parseFields(IfcBoundedCurve c, List<string> arrFields, ref int ipos) { IfcCurve.parseFields(c, arrFields, ref ipos); }
Exemplo n.º 13
0
 protected IfcBoundedCurve(DatabaseIfc db, IfcBoundedCurve c) : base(db, c)
 {
 }
Exemplo n.º 14
0
 internal IfcGradientCurve(DatabaseIfc db, IfcGradientCurve c, DuplicateOptions options) : base(db, c, options)
 {
     mBaseCurve = db.Factory.Duplicate(c.mBaseCurve) as IfcBoundedCurve;
     mEndPoint  = db.Factory.Duplicate(c.mEndPoint) as IfcPlacement;
 }
Exemplo n.º 15
0
 public IfcGradientCurve(IfcBoundedCurve baseCurve, IEnumerable <IfcCurveSegment> segments) : base(baseCurve.Database)
 {
     BaseCurve = baseCurve;
     Segments.AddRange(segments);
 }
Exemplo n.º 16
0
 internal IfcGradientCurve(DatabaseIfc db, IfcGradientCurve c, DuplicateOptions options) : base(db, c, options)
 {
     mBaseCurve = db.Factory.Duplicate(c.mBaseCurve) as IfcBoundedCurve;
     Segments.AddRange(c.Segments.ConvertAll(x => db.Factory.Duplicate(x) as IfcCurveSegment));
     mEndPoint = db.Factory.Duplicate(c.mEndPoint) as IfcCartesianPoint;
 }
Exemplo n.º 17
0
		public IfcArbitraryOpenProfileDef(string name, IfcBoundedCurve boundedCurve) : base(boundedCurve.mDatabase,name) { mCurve = boundedCurve.mIndex; }
Exemplo n.º 18
0
		internal IfcArbitraryOpenProfileDef(DatabaseIfc db, IfcArbitraryOpenProfileDef p) : base(db, p) { Curve = db.Factory.Duplicate(p.Curve) as IfcBoundedCurve; }
Exemplo n.º 19
0
		internal IfcArbitraryClosedProfileDef(DatabaseIfc db, IfcArbitraryClosedProfileDef p) : base(db, p) { OuterCurve = db.Factory.Duplicate(p.OuterCurve) as IfcBoundedCurve; }
Exemplo n.º 20
0
		protected IfcBoundedCurve(DatabaseIfc db, IfcBoundedCurve c, DuplicateOptions options) : base(db, c, options) { }
Exemplo n.º 21
0
 internal IfcCompositeCurveSegment(DatabaseIfc db, Curve c, bool sense, IfcTransitionCode tc, bool twoD, IfcCartesianPoint optStrt, out IfcCartesianPoint end)
     : this(tc, sense, IfcBoundedCurve.convCurve(db, c, optStrt, twoD, out end))
 {
 }
Exemplo n.º 22
0
 public IfcGradientCurve(IfcBoundedCurve baseCurve, IEnumerable <IfcCurveSegment> segments)
     : base(segments)
 {
     BaseCurve = baseCurve;
 }
Exemplo n.º 23
0
		internal static IfcShapeRepresentation getAxisRep(DatabaseIfc m, IfcBoundedCurve a) { return new IfcShapeRepresentation(a) { RepresentationIdentifier = "Axis", RepresentationType = "Curve3D" }; }