コード例 #1
0
        OctreeNode GetNodeFromMesh(Mesh mesh)
        {
            OctreeNode  node = new OctreeNode();
            BoundingBox bb   = BoundingBox.Create(mesh.Vertices);

            node.Box = bb;

            int octreeLevel = 0;

            int gap = 1;

            while (gap < mesh.Vertices.Count)
            {
                gap *= 8;
                octreeLevel++;
            }

            octreeLevel += 3;

            Parallel.For(0, mesh.Faces.Count, (face) =>
            {
                node.Add(mesh, face, octreeLevel);
            }
                         );

            return(node);
        }
コード例 #2
0
 public void Add(GameObject gameObject)
 {
     root.Add(gameObject);
 }
コード例 #3
0
ファイル: Octree.cs プロジェクト: facybenbook/splash-engine
 public void Add(T content)
 {
     Top.Add(content);
 }