protected float _radius = 100; // rayon souhaité #endregion Fields #region Constructors public ArchedPoint2(Point2 point) : base(point) { _prevEdge = point.GetPrevEdge (); _nextEdge = point.GetNextEdge (); _junction = JunctionType.Curved; _prevEdge.SetNextPoint2 (this); _nextEdge.SetPrevPoint2 (this); Update (false); }
public void SetJunctionType(int index, JunctionType junction) { Point2 selectedPoint = _points[index]; if (selectedPoint.GetJunction () != junction) { if (junction == JunctionType.Curved) { ArchedPoint2 ap = new ArchedPoint2 (selectedPoint); _points[index] = ap; } else if (junction == JunctionType.Broken) { Point2 newPoint = new Point2 (selectedPoint); newPoint.SetPrevEdge (selectedPoint.GetPrevEdge ()); newPoint.SetNextEdge (selectedPoint.GetNextEdge ()); Edge2 prevEdge = newPoint.GetPrevEdge (); if (prevEdge != null) { prevEdge.SetNextPoint2 (newPoint); } Edge2 nextEdge = newPoint.GetNextEdge (); if (nextEdge != null) { nextEdge.SetPrevPoint2 (newPoint); } _points[index] = newPoint; } } }