public PolyNodeCrossoverPointManager(PolyNode landPolyNode) { this.landPolyNode = landPolyNode; waypoints = landPolyNode.FindAggregateContourCrossoverWaypoints(); allWaypointIndices = waypoints.Map((_, i) => i); visibilityGraph = landPolyNode.ComputeVisibilityGraph(); waypointToWaypointLut = visibilityGraph.BuildWaypointToWaypointLut(); }