using Microsoft.Msagl.Core.Geometry;
using Microsoft.Msagl.Core.Geometry.Curves;
namespace Microsoft.Msagl.Routing.Spline.ConeSpanner{
///
/// represents a cone side that is broken by the obstacle
///
internal class BrokenConeSide:ConeSide {
///
/// point where it starts
///
internal Point start;
internal override Point Start {
get { return start; }
}
///
/// it is the side of the cone that intersects the obstacle side
///
internal ConeSide ConeSide { get; set; }
internal PolylinePoint EndVertex { get; set; }
internal Point End {
get { return EndVertex.Point; }
}
internal BrokenConeSide(Point start, PolylinePoint end, ConeSide coneSide) {
this.start = start;
EndVertex = end;
ConeSide = coneSide;
}
internal override Point Direction {
get { return End-Start; }
}
public override string ToString() {
return "BrokenConeSide: " + Start + "," + End;
}
}
}