本文整理汇总了C#中QuadTree.Subdivide方法的典型用法代码示例。如果您正苦于以下问题:C# QuadTree.Subdivide方法的具体用法?C# QuadTree.Subdivide怎么用?C# QuadTree.Subdivide使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QuadTree
的用法示例。
在下文中一共展示了QuadTree.Subdivide方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Subdivide
public void Subdivide(int level, int maxLevels)
{
Debug.Log("Subdivide , level = " + level + ", max = " + maxLevels);
if (level > maxLevels) return;
northWest = new QuadTree(new AABB(new XY ((boundary.center.x - boundary.half.x/2), (boundary.center.y + boundary.half.y/2)), boundary.half/2));
northEast = new QuadTree(new AABB(new XY ((boundary.center.x + boundary.half.x/2), (boundary.center.y + boundary.half.y/2)), boundary.half/2));
southWest = new QuadTree(new AABB(new XY ((boundary.center.x - boundary.half.x/2), (boundary.center.y - boundary.half.y/2)), boundary.half/2));
southEast = new QuadTree(new AABB(new XY ((boundary.center.x + boundary.half.x/2), (boundary.center.y - boundary.half.y/2)), boundary.half/2));
Debug.Log("Subdividing north west quadtree");
northWest.Subdivide(level+1, maxLevels);
Debug.Log("Subdividing north east quadtree");
northEast.Subdivide(level+1, maxLevels);
Debug.Log("Subdividing south west quadtree");
southWest.Subdivide(level+1, maxLevels);
Debug.Log("Subdividing south east quadtree");
southEast.Subdivide(level+1, maxLevels);
}
示例2: Subdivide
// Symmetric division
public void Subdivide(int level, int maxLevels)
{
if (level > maxLevels) return;
northWest = new QuadTree(new AABB(new XY ((boundary.center.x - boundary.half.x/2), (boundary.center.y + boundary.half.y/2)), boundary.half/2));
northEast = new QuadTree(new AABB(new XY ((boundary.center.x + boundary.half.x/2), (boundary.center.y + boundary.half.y/2)), boundary.half/2));
southWest = new QuadTree(new AABB(new XY ((boundary.center.x - boundary.half.x/2), (boundary.center.y - boundary.half.y/2)), boundary.half/2));
southEast = new QuadTree(new AABB(new XY ((boundary.center.x + boundary.half.x/2), (boundary.center.y - boundary.half.y/2)), boundary.half/2));
northWest.Subdivide(level+1, maxLevels);
northEast.Subdivide(level+1, maxLevels);
southWest.Subdivide(level+1, maxLevels);
southEast.Subdivide(level+1, maxLevels);
}