コード例 #1
0
ファイル: DxfWriter.cs プロジェクト: steve-stanton/backsight
        void WriteArc(ArcGeometry line)
        {
            IPointGeometry center = line.Circle.Center;
            double bcAngle = GetAngle(center, line.BC);
            double ecAngle = GetAngle(center, line.EC);

            Arc acLine = new Arc();
            acLine.Center = new Vector3d(center.X, center.Y, 0.0);
            acLine.Radius = line.Circle.Radius;

            // AutoCad arcs are *always* drawn counter-clockwise
            if (line.IsClockwise)
            {
                acLine.StartAngle = ecAngle;
                acLine.EndAngle = bcAngle;
            }
            else
            {
                acLine.StartAngle = bcAngle;
                acLine.EndAngle = ecAngle;
            }

            acLine.Layer = m_Layer;
            m_Dxf.AddEntity(acLine);
        }
コード例 #2
0
 // Should try to get rid of this...
 protected void ChangeGeometry(ArcGeometry arc)
 {
     m_Geom = arc;
 }
コード例 #3
0
ファイル: ArcFeature.cs プロジェクト: steve-stanton/backsight
 /// <summary>
 /// Initializes a new instance of the <see cref="ArcFeature"/> class, and records it
 /// as part of the map model.
 /// </summary>
 /// <param name="f">Basic information about the feature (not null).</param>
 /// <param name="g">The geometry for the line (could be null, although this is only really
 /// expected during deserialization)</param>
 /// <exception cref="ArgumentNullException">If <paramref name="f"/> is null.</exception>
 internal ArcFeature(IFeature f, PointFeature bc, PointFeature ec, ArcGeometry g, bool isTopological)
     : base(f, bc, ec, g, isTopological)
 {
 }