Updated wrappers, and change Renderer so that private: to proteccted:.

This commit is contained in:
Robert Osfield 2007-08-26 09:46:49 +00:00
parent 0798e64872
commit b2d131c143
3 changed files with 13 additions and 2 deletions

View File

@ -75,7 +75,7 @@ class OSGVIEWER_EXPORT Renderer : public osg::GraphicsOperation, public OpenGLQu
virtual void release(); virtual void release();
private: protected:
void updateSceneView(osgUtil::SceneView* sceneView); void updateSceneView(osgUtil::SceneView* sceneView);
@ -91,7 +91,7 @@ class OSGVIEWER_EXPORT Renderer : public osg::GraphicsOperation, public OpenGLQu
osg::ref_ptr<osg::FlushDeletedGLObjectsOperation> _flushOperation; osg::ref_ptr<osg::FlushDeletedGLObjectsOperation> _flushOperation;
struct TheadSafeQueue struct OSGVIEWER_EXPORT TheadSafeQueue
{ {
OpenThreads::Mutex _mutex; OpenThreads::Mutex _mutex;
OpenThreads::Block _block; OpenThreads::Block _block;
@ -99,6 +99,7 @@ class OSGVIEWER_EXPORT Renderer : public osg::GraphicsOperation, public OpenGLQu
SceneViewList _queue; SceneViewList _queue;
TheadSafeQueue(); TheadSafeQueue();
~TheadSafeQueue();
void release() void release()
{ {

View File

@ -126,6 +126,10 @@ Renderer::TheadSafeQueue::TheadSafeQueue()
_block.set(false); _block.set(false);
} }
Renderer::TheadSafeQueue::~TheadSafeQueue()
{
}
osgUtil::SceneView* Renderer::TheadSafeQueue::takeFront() osgUtil::SceneView* Renderer::TheadSafeQueue::takeFront()
{ {
if (_queue.empty()) _block.block(); if (_queue.empty()) _block.block();

View File

@ -132,6 +132,12 @@ BEGIN_OBJECT_REFLECTOR(osgViewer::Renderer)
__void__release, __void__release,
"if this operation is a barrier then release it. ", "if this operation is a barrier then release it. ",
""); "");
I_ProtectedMethod1(void, updateSceneView, IN, osgUtil::SceneView *, sceneView,
Properties::NON_VIRTUAL,
Properties::NON_CONST,
__void__updateSceneView__osgUtil_SceneView_P1,
"",
"");
I_SimpleProperty(bool, Done, I_SimpleProperty(bool, Done,
__bool__getDone, __bool__getDone,
__void__setDone__bool); __void__setDone__bool);