SoSceneManager()~SoSceneManager()
Constructor and destructor.
virtualvoidrender(SbBoolclearWindow=TRUE,SbBoolclearZbuffer=TRUE)
Apply an SoGLRenderAction to the scene graph managed here. The caller is responsible for setting up a
window to render into. If clearWindow is TRUE, this clears the graphics window before rendering. If
clearZbuffer is TRUE, the z buffer will be cleared before rendering.
virtualSbBoolprocessEvent(constSoEvent*event)
Process the passed event by applying an SoHandleEventAction to the scene graph managed here. Returns
TRUE if the event was handled by a node.
voidreinitialize()
Reinitialize graphics. This should be called, for instance, when there is a new window.
voidscheduleRedraw()
Schedule a redraw for some time in the near future. If there is no render callback set, or this is not
active, no redraw will be scheduled.
virtualvoidsetSceneGraph(SoNode*newScene)virtualSoNode*getSceneGraph()const
Set and get the scene graph which is managed here. This is the Inventor scene which will be traversed
for rendering and event processing.
voidsetWindowSize(constSbVec2s&newSize)constSbVec2s&getWindowSize()const
Set and get the size of the window in which the scene manager should render. This size must be set
before render() and processEvent() are called.
voidsetSize(constSbVec2s&newSize)constSbVec2s&getSize()constvoidsetOrigin(constSbVec2s&newOrigin)constSbVec2s&getOrigin()const
Set and get the size and origin of the viewport within the window. Default is to render the entire
window region. The origin (0,0) is the lower left corner of the window.
voidsetBackgroundColor(constSbColor&c)constSbColor&getBackgroundColor()const
Set and get the window background color when in RGB mode. This is the color the scene manager viewport
is cleared to when render() is called with clearWindow set to TRUE. Default is black (0,0,0).
voidsetBackgroundIndex(intindex)intgetBackgroundIndex()const
Set and get the window background color when in color index mode. This is the color the scene manager
viewport is cleared to when render() is called with clearWindow set to TRUE. Default is black (index
0).
voidsetRGBMode(SbBoolonOrOff)SbBoolisRGBMode()const
Set and get the color mode (TRUE — RGB mode, FALSE — color map mode). Default is RGB mode. Only a
subset of Inventor nodes will render correctly in color map mode. Basically, when in color index mode,
lighting should be turned off (the model field of SoLightModel should be set to BASE_COLOR), and the
SoColorIndex node should be used to specify colors.
virtualvoidactivate()virtualvoiddeactivate()
Activate and deactivate the scene manager. The scene manager will only employ sensors for automatic
redraw while it is active. Typically, the scene manager should be activated whenever its window is
visible on the screen, and deactivated when its window is closed or iconified.
voidsetRenderCallback(SoSceneManagerRenderCB*f,void*userData=NULL)
The render callback provides a mechanism for automatically redrawing the scene in response to changes
in the scene graph. The scene manager employs a sensor to monitor scene graph changes. When the sensor
is triggered, the render callback registered here is invoked. The callback should set up its graphics
window, then call the scene manager render() method. If the callback is set to NULL (the default),
auto-redraw is turned off.
SbBoolisAutoRedraw()const
Returns TRUE if there is currently a render callback registered.
voidsetRedrawPriority(uint32_tpriority)uint32_tgetRedrawPriority()conststaticuint32_tgetDefaultRedrawPriority()
Set and get the priority of the redraw sensor. Sensors are processed based on priority, with priority
values of 0 processed immediately. The default priority for the scene manager redraw sensor is 10000.
staticvoidenableRealTimeUpdate(SbBoolflag)staticSbBoolisRealTimeUpdateEnabled()
Enable/Disable the realTime global field update which normally happen right after a redraw.
voidsetAntialiasing(SbBoolsmoothing,intnumPasses)voidgetAntialiasing(SbBool&smoothing,int&numPasses)const
Set/get the antialiasing for rendering. There are two kinds of antialiasing available: smoothing and
multipass antialiasing. If smoothing is set to TRUE, smoothing is enabled. Smoothing uses OpenGL's
line- and point-smoothing features to provide cheap antialiasing of lines and points. The value of
numPasses controls multipass antialiasing. Each time a render action is applied, Inventor renders the
scene numPasses times from slightly different camera positions, averaging the results. numPasses can
be from one to 255, inclusive. Setting numPasses to one disables multipass antialiasing. You can use
either, both, or neither of these antialiasing techniques. By default, both smoothing and multipass
antialiasing are disabled.