rem: NodePtr torus = makeTorus( .5, 2, 16, 16 );
add: NodePtr torus = makeTorus( .5, 2, 16, 32 );
context: int main(int argc, char **argv){    // OSG init    osgInit(argc,argv);    // GLUT init    int winid = setupGLUT(&argc, argv);    // the connection between GLUT and OpenSG    GLUTWindowPtr gwin= GLUTWindow::create();    gwin->setId(winid);    gwin->init();    // create the scene    NodePtr torus = makeTorus( .5, 2, 16, 16 );    // create the transformation node    // scenegraph nodes are split into 2 parts: the node and its core        // 1. create the Node    NodePtr scene = Node::create();        // 2. create the core    trans = Transform::create();        // 3. associate the core with the node     // OpenSG objects need to be informed when they are being changed,     // that's what beginEditCP() and endEditCP() do    beginEditCP(scene, Node::CoreFieldMask | Node::ChildrenFieldMask);    {        scene->setCore(trans);         // add the torus as a child        scene->addChild(torus);    }    endEditCP  (scene, Node::CoreFieldMask | Node::ChildrenFieldMask);        // create the SimpleSceneManager helper    mgr = new SimpleSceneManager;    // tell the manager what to manage    mgr->setWindow(gwin );    mgr->setRoot  (scene);    // show the whole scene    mgr->showAll();    // GLUT main loop    glutMainLoop();    return 0;}