public List <PointF> HullPointFsInOrder()
{
List <Edge> hullEdges = HullEdges();
List <PointF> PointFs = new List <PointF>();
if (hullEdges.Count == 0)
{
return(PointFs);
}
EdgeReorderer reorderer = new EdgeReorderer(hullEdges, typeof(Site));
hullEdges = reorderer.Edges;
List <LR> orientations = reorderer.EdgeOrientations;
reorderer.Dispose();
LR orientation;
int n = hullEdges.Count;
for (int i = 0; i < n; ++i)
{
Edge edge = hullEdges[i];
orientation = orientations[i];
PointFs.Add(edge.GetSite(orientation).Coord());
}
return(PointFs);
}