public Cluster Quantize2(Vector3 position) { MasterCluster masterCluster = null; foreach (MasterCluster c in this.MasterClusters) { if (MathHelper.PointInsideBoundingBox(position, c.min, c.max)) { masterCluster = c; foreach (Cluster cluster in masterCluster.clusters) { if (MathHelper.PointInsideBoundingBox(position, cluster.min, cluster.max)) { return(cluster); } } } } return(null); }
// Uses clusters of clusters public Cluster Quantize2(NavigationGraphNode node) { Vector3 position = node.LocalPosition; MasterCluster masterCluster = null; foreach (MasterCluster c in this.MasterClusters) { if (MathHelper.PointInsideBoundingBox(position, c.min, c.max)) { masterCluster = c; foreach (Cluster cluster in masterCluster.clusters) { if (MathHelper.PointInsideBoundingBox(position, cluster.min, cluster.max)) { return(cluster); } } } } return(null); }