Changed CameraNode::getDataChangeMutex() to be a pointer rather than a reference to
get around osgIntrospeciton build problem with the OpenThreads::Mutex copy constructor being private.
This commit is contained in:
parent
3a62b5193c
commit
e1dd759dd8
@ -305,7 +305,7 @@ class OSG_EXPORT CameraNode : public Transform, public CullSettings
|
|||||||
/** Get the const post draw callback.*/
|
/** Get the const post draw callback.*/
|
||||||
const DrawCallback* getPostDrawCallback() const { return _postDrawCallback.get(); }
|
const DrawCallback* getPostDrawCallback() const { return _postDrawCallback.get(); }
|
||||||
|
|
||||||
OpenThreads::Mutex& getDataChangeMutex() const { return _dataChangeMutex; }
|
OpenThreads::Mutex* getDataChangeMutex() const { return &_dataChangeMutex; }
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
@ -1104,7 +1104,7 @@ void CullVisitor::apply(osg::CameraNode& camera)
|
|||||||
osg::ref_ptr<osgUtil::RenderStage> rtts = dynamic_cast<osgUtil::RenderStage*>(camera.getRenderingCache(contextID));
|
osg::ref_ptr<osgUtil::RenderStage> rtts = dynamic_cast<osgUtil::RenderStage*>(camera.getRenderingCache(contextID));
|
||||||
if (!rtts)
|
if (!rtts)
|
||||||
{
|
{
|
||||||
OpenThreads::ScopedLock<OpenThreads::Mutex> lock(camera.getDataChangeMutex());
|
OpenThreads::ScopedLock<OpenThreads::Mutex> lock(*(camera.getDataChangeMutex()));
|
||||||
|
|
||||||
rtts = new osgUtil::RenderStage;
|
rtts = new osgUtil::RenderStage;
|
||||||
rtts->setCameraNode(&camera);
|
rtts->setCameraNode(&camera);
|
||||||
|
@ -286,7 +286,7 @@ void RenderStage::runCameraSetUp(osg::State& state)
|
|||||||
{
|
{
|
||||||
osg::notify(osg::INFO)<<"Setting up osg::CameraNode::FRAME_BUFFER_OBJECT"<<std::endl;
|
osg::notify(osg::INFO)<<"Setting up osg::CameraNode::FRAME_BUFFER_OBJECT"<<std::endl;
|
||||||
|
|
||||||
OpenThreads::ScopedLock<OpenThreads::Mutex> lock(_camera->getDataChangeMutex());
|
OpenThreads::ScopedLock<OpenThreads::Mutex> lock(*(_camera->getDataChangeMutex()));
|
||||||
|
|
||||||
_fbo = new osg::FrameBufferObject;
|
_fbo = new osg::FrameBufferObject;
|
||||||
|
|
||||||
|
@ -135,14 +135,14 @@ BEGIN_OBJECT_REFLECTOR(osg::CameraNode)
|
|||||||
I_Method1(void, setPostDrawCallback, IN, osg::CameraNode::DrawCallback *, cb);
|
I_Method1(void, setPostDrawCallback, IN, osg::CameraNode::DrawCallback *, cb);
|
||||||
I_Method0(osg::CameraNode::DrawCallback *, getPostDrawCallback);
|
I_Method0(osg::CameraNode::DrawCallback *, getPostDrawCallback);
|
||||||
I_Method0(const osg::CameraNode::DrawCallback *, getPostDrawCallback);
|
I_Method0(const osg::CameraNode::DrawCallback *, getPostDrawCallback);
|
||||||
I_Method0(OpenThreads::Mutex &, getDataChangeMutex);
|
I_Method0(OpenThreads::Mutex *, getDataChangeMutex);
|
||||||
I_Method2(bool, computeLocalToWorldMatrix, IN, osg::Matrix &, matrix, IN, osg::NodeVisitor *, x);
|
I_Method2(bool, computeLocalToWorldMatrix, IN, osg::Matrix &, matrix, IN, osg::NodeVisitor *, x);
|
||||||
I_Method2(bool, computeWorldToLocalMatrix, IN, osg::Matrix &, matrix, IN, osg::NodeVisitor *, x);
|
I_Method2(bool, computeWorldToLocalMatrix, IN, osg::Matrix &, matrix, IN, osg::NodeVisitor *, x);
|
||||||
I_ReadOnlyProperty(osg::CameraNode::BufferAttachmentMap &, BufferAttachmentMap);
|
I_ReadOnlyProperty(osg::CameraNode::BufferAttachmentMap &, BufferAttachmentMap);
|
||||||
I_Property(const osg::Vec4 &, ClearColor);
|
I_Property(const osg::Vec4 &, ClearColor);
|
||||||
I_Property(GLbitfield, ClearMask);
|
I_Property(GLbitfield, ClearMask);
|
||||||
I_Property(osg::ColorMask *, ColorMask);
|
I_Property(osg::ColorMask *, ColorMask);
|
||||||
I_ReadOnlyProperty(OpenThreads::Mutex &, DataChangeMutex);
|
I_ReadOnlyProperty(OpenThreads::Mutex *, DataChangeMutex);
|
||||||
I_Property(GLenum, DrawBuffer);
|
I_Property(GLenum, DrawBuffer);
|
||||||
I_Property(osg::GraphicsContext *, GraphicsContext);
|
I_Property(osg::GraphicsContext *, GraphicsContext);
|
||||||
I_ReadOnlyProperty(osg::Matrixd, InverseViewMatrix);
|
I_ReadOnlyProperty(osg::Matrixd, InverseViewMatrix);
|
||||||
|
Loading…
Reference in New Issue
Block a user