Binary Space Partition

Métodos de Reconstrução 3D

Alex Laier Bordignon
alexlaier at gmail.com

Extras
[movie]

Example

#include bsp.h

void recursion( bspNode * node,int level )
{
        vector<bspNode* > Q;
        Q.push_back(node);
        while (Q.size()>0)
        {
                bspNode * r = Q.back();
                Q.pop_back();
                bspPlane xz;
                xz.n =  get_plane_normal();
                xz.d = (r->get_bcenter()*xz.n);             // the plane cross the cell baricenter
                r->split(xz);                                          // split the cell
                if (r->get_level() < level)                       // recursion until some level
                {        
                        Q.push_back(r->get_front());
                        Q.push_back(r->get_back());
                }        
         }
 }

int main()
{
       bspTree mybsp;
       recursion(mybsp.get_root(),7);                     // construction until nivel 7
       mybsp.draw_level(7);                                  // draw the level 7
}

Documentation
[Doxygen documentation]

 

Code
[bsp.h] [bsp.cpp]