Exemplo n.º 1
0
        /// <summary>
        /// insert new arc
        /// </summary>
        /// <param name="arc"></param>
        public void AddArc(DES_Arc arc)
        {
           	float angle0 = arc._dir
		          , angle1 = arc._dir + arc._angle;

	        if (arc._angle > 0.0f)
	        {
	        }
	        else
	        {
		        angle0 += arc._angle;
		        angle1 -= arc._angle;

		        while (angle0 < 0)
		        {
			        angle0 += 360.0f;
			        angle1 += 360.0f;
		        }
	        }

            PicArc picArc = _factory.AddArc(
                DesPenToLineType(arc._pen), arc._grp, arc._layer,
                new Vector2D(arc._x, arc._y),
                (double)arc._dim,
                (double)angle0,
                (double)angle1
                );
        }
Exemplo n.º 2
0
        public void WriteArc(DES_Arc arc)
        {
            // save in table
            _table.Add(new Pair <uint, uint>(5 /*arc*/, (uint)_br.BaseStream.Position));

            // entity code
            WriteCode(1);
            _br.Write(5); // arc
            // x
            WriteCode(2);
            _br.Write(arc._x);
            // y
            WriteCode(3);
            _br.Write(arc._y);
            // direction
            WriteCode(4);
            _br.Write(arc._dir);
            // dim
            WriteCode(5);
            _br.Write(arc._dim);
            // pen
            WriteCode(150);
            _br.Write(arc._pen);
            // level
            WriteCode(151);
            _br.Write(arc._layer);
            // group
            WriteCode(152);
            _br.Write(arc._grp);
            // lock
            WriteCode(153);
            _br.Write(arc._lock);
            // opening angle
            WriteCode(11);
            _br.Write(arc._angle);
        }