void testTree()
{
    std::vector<Collidable *> *vec = new std::vector<Collidable*>();
    Point *p;
    printf("\ntesting tree \n");

    /*
    p = new Point(-4, -1, -3);
    p->precomputeBounds();
    vec->push_back(p);
    p = new Point(-4, -1, 4);
    p->precomputeBounds();
    vec->push_back(p);
    p = new Point(3, 2, -4);
    p->precomputeBounds();
    vec->push_back(p);
    p = new Point(3, 2, 3);
    p->precomputeBounds();
    vec->push_back(p);
    */


    p = new Point(-5, -5, -5);
    p->precomputeBounds();
    vec->push_back(p);
    p = new Point(5, -5, -5);
    p->precomputeBounds();
    vec->push_back(p);
    p = new Point(-5, 5, 5);
    p->precomputeBounds();
    vec->push_back(p);
    p = new Point(5, 5, 5);
    p->precomputeBounds();
    vec->push_back(p);
    p = new Point(-1, -1, -1);
    p->precomputeBounds();
    vec->push_back(p);
    p = new Point(1, -1, -1);
    p->precomputeBounds();
    vec->push_back(p);
    p = new Point(-1, 1, 1);
    p->precomputeBounds();
    vec->push_back(p);
    p = new Point(1, 1, 1);
    p->precomputeBounds();
    vec->push_back(p);

    KDTree *tr = new KDTree();
    tr->buildTreeStart(*vec);
    //printf("printing \n");
    tr->printTreeMod();
    printf("tree tested \n");


    bMap->clear();
    cam.buildCentralRay(*bMap,buffer,lights);
    RayLink *t;
    t = buffer.start->next;
    t->task->execute(*tr);

}