blob: d54197420838a1e91adc6f051bd51cdef85e3e11 [file] [log] [blame] [edit]
diff -Naur osgworks/apps/osgwbvv/osgwbvv.cpp osgworks-patched/apps/osgwbvv/osgwbvv.cpp
--- osgworks/apps/osgwbvv/osgwbvv.cpp 2014-05-23 22:37:00.750400000 +0400
+++ osgworks-patched/apps/osgwbvv/osgwbvv.cpp 2014-06-07 18:44:33.422600000 +0400
@@ -148,7 +148,7 @@
}
if( doSphere )
{
- const osg::BoundingSphere bs( model->getBound() );
+ const osg::BoundingSphere bs( (const osg::BoundingSphere&)(model->getBound()) );
mt->setMatrix( osg::Matrix::translate( bs._center ) );
geode->addDrawable( osgwTools::makeGeodesicSphere( bs._radius, 1 ) );
diff -Naur osgworks/include/osgwQuery/QueryAPI.h osgworks-patched/include/osgwQuery/QueryAPI.h
--- osgworks/include/osgwQuery/QueryAPI.h 2014-05-23 22:37:01.468000000 +0400
+++ osgworks-patched/include/osgwQuery/QueryAPI.h 2014-06-07 17:13:58.379200000 +0400
@@ -58,6 +58,48 @@
# define GL_TIME_ELAPSED 0x88BF
#endif
+#ifndef GLEXT_64_TYPES_DEFINED
+/* This code block is duplicated in glxext.h, so must be protected */
+#define GLEXT_64_TYPES_DEFINED
+/* Define int32_t, int64_t, and uint64_t types for UST/MSC */
+/* (as used in the GL_EXT_timer_query extension). */
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+#include <inttypes.h>
+#elif defined(__sun__) || defined(__digital__)
+#include <inttypes.h>
+#if defined(__STDC__)
+#if defined(__arch64__) || defined(_LP64)
+typedef long int int64_t;
+typedef unsigned long int uint64_t;
+#else
+typedef long long int int64_t;
+typedef unsigned long long int uint64_t;
+#endif /* __arch64__ */
+#endif /* __STDC__ */
+#elif defined( __VMS ) || defined(__sgi)
+#include <inttypes.h>
+#elif defined(__SCO__) || defined(__USLC__)
+#include <stdint.h>
+#elif defined(__UNIXOS2__) || defined(__SOL64__)
+typedef long int int32_t;
+typedef long long int int64_t;
+typedef unsigned long long int uint64_t;
+#elif defined(_WIN32) && defined(__GNUC__)
+#include <stdint.h>
+#elif defined(_WIN32)
+typedef __int32 int32_t;
+typedef __int64 int64_t;
+typedef unsigned __int64 uint64_t;
+#else
+/* Fallback if nothing above works */
+#include <inttypes.h>
+#endif
+#endif
+
+#ifndef GL_EXT_timer_query
+typedef int64_t GLint64EXT;
+typedef uint64_t GLuint64EXT;
+#endif
namespace osgwQuery
{
diff -Naur osgworks/src/osgwMx/CameraUpdateCallback.cpp osgworks-patched/src/osgwMx/CameraUpdateCallback.cpp
--- osgworks/src/osgwMx/CameraUpdateCallback.cpp 2014-05-23 22:37:02.326000000 +0400
+++ osgworks-patched/src/osgwMx/CameraUpdateCallback.cpp 2014-06-07 18:43:57.151200000 +0400
@@ -66,7 +66,7 @@
if( idx==0 )
bs = cam->getChild( idx )->getBound();
else
- bs.expandBy( cam->getChild( idx )->getBound() );
+ bs.expandBy( (const osg::BoundingSphere&)(cam->getChild( idx )->getBound()) );
}
}
diff -Naur osgworks/src/osgwQuery/QueryUtils.cpp osgworks-patched/src/osgwQuery/QueryUtils.cpp
--- osgworks/src/osgwQuery/QueryUtils.cpp 2014-05-23 22:37:02.419600000 +0400
+++ osgworks-patched/src/osgwQuery/QueryUtils.cpp 2014-06-07 17:14:28.290600000 +0400
@@ -116,7 +116,7 @@
unsigned int idx;
for( idx=0; idx < numParents; idx++ )
{
- osg::Group* parent = node.getParent( idx );
+ osg::Group* parent = node.getParent( idx )->asGroup();
bool parentIsCamera = ( dynamic_cast< osg::Camera* >( parent ) != NULL );
if( parentIsCamera )
continue;
diff -Naur osgworks/src/osgwTools/CountsVisitor.cpp osgworks-patched/src/osgwTools/CountsVisitor.cpp
--- osgworks/src/osgwTools/CountsVisitor.cpp 2014-05-23 22:37:02.076400000 +0400
+++ osgworks-patched/src/osgwTools/CountsVisitor.cpp 2014-06-07 16:22:50.522800000 +0400
@@ -608,10 +608,10 @@
pushStateSet( node.getStateSet() );
/*
- osg::Group* grp = node.getParent(0);
+ osg::Group* grp = node.getParent(0)->asGroup();
osg::Group* gPar = NULL;
if (grp)
- gPar = grp->getParent(0);
+ gPar = grp->getParent(0)->asGroup();
*/
apply( node.getStateSet() );
diff -Naur osgworks/src/osgwTools/InsertRemove.cpp osgworks-patched/src/osgwTools/InsertRemove.cpp
--- osgworks/src/osgwTools/InsertRemove.cpp 2014-05-23 22:37:02.029600000 +0400
+++ osgworks-patched/src/osgwTools/InsertRemove.cpp 2014-06-07 16:27:29.380400000 +0400
@@ -37,7 +37,7 @@
osg::Node::ParentList::iterator it;
for( it = pl.begin(); it != pl.end(); it++ )
{
- osg::Group* oldParent( *it );
+ osg::Group* oldParent( dynamic_cast<osg::Group*>(*it) );
oldParent->addChild( newParent );
oldParent->removeChild( node );
}
@@ -68,7 +68,7 @@
for( it = pl.begin(); it != pl.end(); it++ )
{
// Remove 'node' from its parent.
- osg::Group* parent( *it );
+ osg::Group* parent( dynamic_cast<osg::Group*>(*it) );
parent->removeChild( node );
if( asGrp != NULL )
diff -Naur osgworks/src/osgwTools/NodeUtils.cpp osgworks-patched/src/osgwTools/NodeUtils.cpp
--- osgworks/src/osgwTools/NodeUtils.cpp 2014-05-23 22:37:01.951600000 +0400
+++ osgworks-patched/src/osgwTools/NodeUtils.cpp 2014-06-07 16:28:14.046800000 +0400
@@ -44,7 +44,7 @@
// add the newGraph to all parents of the existingGraph, and remove existingGraph from them
for(unsigned int parentLoop = 0; parentLoop < parentsCopy.size(); parentLoop++)
{
- osg::Group *existingParent = parentsCopy[parentLoop];
+ osg::Group *existingParent = dynamic_cast<osg::Group*>(parentsCopy[parentLoop]);
if(existingParent)
{
existingParent->addChild(newGraph);
diff -Naur osgworks/src/osgwTools/Uniqifier.cpp osgworks-patched/src/osgwTools/Uniqifier.cpp
--- osgworks/src/osgwTools/Uniqifier.cpp 2014-05-23 22:37:01.998400000 +0400
+++ osgworks-patched/src/osgwTools/Uniqifier.cpp 2014-06-07 16:29:32.364400000 +0400
@@ -98,7 +98,7 @@
{
// Make a shallow copy of sourceCandidate and replace parent 1's
// sourceCandidate child with the new shallow copy.
- uniqify( sourceCandidate, sourceCandidate->getParent( 1 ) );
+ uniqify( sourceCandidate, sourceCandidate->getParent( 1 )->asGroup() );
// sourceCandidate's parent count has now decreased by 1.
// Continue looping until the parent count equals 1.