Innovations in Visualization

Large Display Framework Documentation

Contents

API Documentation (Generated by D-Oxygen)

Tips and Tricks

Visualizing "Draw for Picking" - are you picking what you think you are?

In your project cpp file, (i.e. HelloTabletop.cpp), create a boolean (bool displayPicking, and then in the HelloTabletop::keyPressEvent have a case for the toggle key of your choice (example shown using F3) such as

case Qt::Key_F3:
 // Toggle picking rendering

 displayPicking = !displayPicking;

 //Changing the background color

  if (displayPicking) glClearColor(1.0, 1.0, 1.0, 0.0);
  else glClearColor(0.0, 0.0, 0.0, 0.0);

  break;

then in your paintGL() function change the renderAll call to:

   manager->renderAll(displayPicking);

Pressing this key will change the rendering mode to showing all the pickable objects in varying shades of dark red on a white background. If your object is not there in "pick mode" then you won't be able to pick it!

Visualizing the IBuffers - is it working as you think it is?

Inside the method of a class that creates a buffer, you can call this command:

buffer->createImage("myBuffer.ppm", 100, 50);

and the LDF will output an image of your buffer with the different regions displayed. Very handy debugging tool!

FAQ

Once LargeDisplayEvent objects are created and sent to the LargeDisplayManager, where are the objects deleted?

It is the responsibly of the event object creator to delete the object once it has been processed, for example, via a call to LargeDisplayManager::processEvent().