예제 #1
0
        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);
        }
예제 #2
0
        // 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);
        }