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); }
// Should try to get rid of this... protected void ChangeGeometry(ArcGeometry arc) { m_Geom = arc; }
/// <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) { }