1#ifndef COIN_SORENDERMANAGER_H
2#define COIN_SORENDERMANAGER_H
36#include <Inventor/SbColor4f.h>
37#include <Inventor/SbVec2s.h>
38#include <Inventor/actions/SoGLRenderAction.h>
49class SoRenderManagerP;
51typedef void SoRenderManagerRenderCB(
void * userdata,
class SoRenderManager * mgr);
56 class COIN_DLL_API Superimposition {
60 CLEARZBUFFER = 0x0002,
65 Superimposition(
SoNode * scene,
72 void setEnabled(SbBool yes);
73 int getStateFlags(
void)
const;
77 static void changeCB(
void * data,
SoSensor * sensor);
78 class SuperimpositionP * pimpl;
114 virtual void render(
const SbBool clearwindow = TRUE,
115 const SbBool clearzbuffer = TRUE);
118 const SbBool initmatrices = TRUE,
119 const SbBool clearwindow = TRUE,
120 const SbBool clearzbuffer = TRUE);
122 Superimposition * addSuperimposition(
SoNode * scene,
124 Superimposition::AUTOREDRAW |
125 Superimposition::ZBUFFERON |
126 Superimposition::CLEARZBUFFER);
127 void removeSuperimposition(Superimposition * s);
129 virtual void setSceneGraph(
SoNode *
const sceneroot);
130 virtual SoNode * getSceneGraph(
void)
const;
135 void setAutoClipping(AutoClippingStrategy autoclipping);
136 AutoClippingStrategy getAutoClipping(
void)
const;
137 void setNearPlaneValue(
float value);
138 float getNearPlaneValue(
void)
const;
139 void setTexturesEnabled(
const SbBool onoff);
140 SbBool isTexturesEnabled(
void)
const;
141 void setDoubleBuffer(
const SbBool enable);
142 SbBool isDoubleBuffer(
void)
const;
143 void setRenderMode(
const RenderMode mode);
144 RenderMode getRenderMode(
void)
const;
145 void setStereoMode(
const StereoMode mode);
146 StereoMode getStereoMode(
void)
const;
147 void setStereoOffset(
const float offset);
148 float getStereoOffset(
void)
const;
150 void setRenderCallback(SoRenderManagerRenderCB * f,
151 void *
const userData = NULL);
153 SbBool isAutoRedraw(
void)
const;
154 void setRedrawPriority(
const uint32_t priority);
155 uint32_t getRedrawPriority(
void)
const;
157 void scheduleRedraw(
void);
158 void setWindowSize(
const SbVec2s & newsize);
159 const SbVec2s & getWindowSize(
void)
const;
160 void setSize(
const SbVec2s & newsize);
161 const SbVec2s & getSize(
void)
const;
162 void setOrigin(
const SbVec2s & newOrigin);
163 const SbVec2s & getOrigin(
void)
const;
166 void setBackgroundColor(
const SbColor4f & color);
167 const SbColor4f & getBackgroundColor(
void)
const;
168 void setOverlayColor(
const SbColor4f & color);
170 void setBackgroundIndex(
const int index);
171 int getBackgroundIndex(
void)
const;
172 void setRGBMode(
const SbBool onOrOff);
173 SbBool isRGBMode(
void)
const;
174 virtual void activate(
void);
175 virtual void deactivate(
void);
177 void setAntialiasing(
const SbBool smoothing,
const int numPasses);
178 void getAntialiasing(SbBool & smoothing,
int & numPasses)
const;
184 static void enableRealTimeUpdate(
const SbBool flag);
185 static SbBool isRealTimeUpdateEnabled(
void);
186 static uint32_t getDefaultRedrawPriority(
void);
188 void addPreRenderCallback(SoRenderManagerRenderCB * cb,
void * data);
189 void removePreRenderCallback(SoRenderManagerRenderCB * cb,
void * data);
191 void addPostRenderCallback(SoRenderManagerRenderCB * cb,
void * data);
192 void removePostRenderCallback(SoRenderManagerRenderCB * cb,
void * data);
194 void reinitialize(
void);
197 int isActive(
void)
const;
205 const SbBool initmatrices = TRUE,
206 const SbBool clearwindow = TRUE,
207 const SbBool clearzbuffer = TRUE);
212 SbBool clearzbuffer);
217 SbBool clearzbuffer);
219 void initStencilBufferForInterleavedStereo(
void);
220 void clearBuffers(SbBool color, SbBool depth);
223 void attachRootSensor(
SoNode *
const sceneroot);
224 void attachClipSensor(
SoNode *
const sceneroot);
225 void detachRootSensor(
void);
226 void detachClipSensor(
void);
227 static void nodesensorCB(
void * data,
SoSensor *);
230 SoRenderManagerP * pimpl;
231 friend class SoRenderManagerP;
233 friend class Superimposition;
The SbColor4f class contains the red, green, blue and alpha components which make up a color value.
Definition SbColor4f.h:42
The SbVec2s class is a 2 dimensional vector with short integer coordinates.
Definition SbVec2s.h:51
The SbViewportRegion class is a viewport within a full window.
Definition SbViewportRegion.h:40
The SoAudioRenderAction class renders the aural parts of the scene graph.
Definition SoAudioRenderAction.h:42
The SoCamera class is the abstract base class for camera definition nodes.
Definition SoCamera.h:64
The SoEvent class is the base class for all Coin events.
Definition SoEvent.h:45
The SoGLRenderAction class renders the scene graph with OpenGL calls.
Definition SoGLRenderAction.h:50
TransparencyType
Definition SoGLRenderAction.h:61
The SoNodeSensor class detects changes to nodes.
Definition SoNodeSensor.h:38
The SoNode class is the base class for nodes used in scene graphs.
Definition SoNode.h:56
The SoOneShotSensor class is a sensor which will trigger once.
Definition SoOneShotSensor.h:38
The SoRenderManager class is used for controlling the rendering of a scene graph.
Definition SoRenderManager.h:53
SoRenderManager(void)
Definition SoRenderManager.cpp:247
StereoMode
Definition SoRenderManager.h:91
@ ANAGLYPH
Definition SoRenderManager.h:93
@ SEPARATE_OUTPUT
Definition SoRenderManager.h:94
@ QUAD_BUFFER
Definition SoRenderManager.h:95
@ INTERLEAVED_COLUMNS
Definition SoRenderManager.h:97
@ INTERLEAVED_ROWS
Definition SoRenderManager.h:96
@ MONO
Definition SoRenderManager.h:92
RenderMode
Definition SoRenderManager.h:81
@ BOUNDING_BOX
Definition SoRenderManager.h:87
@ SHADED_HIDDEN_LINES
Definition SoRenderManager.h:88
@ WIREFRAME
Definition SoRenderManager.h:83
@ AS_IS
Definition SoRenderManager.h:82
@ HIDDEN_LINE
Definition SoRenderManager.h:86
@ WIREFRAME_OVERLAY
Definition SoRenderManager.h:85
@ POINTS
Definition SoRenderManager.h:84
AutoClippingStrategy
Definition SoRenderManager.h:105
@ FIXED_NEAR_PLANE
Definition SoRenderManager.h:107
@ VARIABLE_NEAR_PLANE
Definition SoRenderManager.h:108
@ NO_AUTO_CLIPPING
Definition SoRenderManager.h:106
BufferType
Definition SoRenderManager.h:100
@ BUFFER_SINGLE
Definition SoRenderManager.h:101
@ BUFFER_DOUBLE
Definition SoRenderManager.h:102
The SoSceneManager class provides the main interface between the scene graph and the GUI toolkit.
Definition SoSceneManager.h:53
The SoSensor class is the abstract base class for all sensors.
Definition SoSensor.h:43