Merge branch 'releases/2.2.0' into next
Conflicts: CMakeModules/FindSvnClient.cmake src/FDM/JSBSim/JSBSim.cxx
This commit is contained in:
commit
9c98258ab0
3 changed files with 46 additions and 70 deletions
|
@ -19,17 +19,7 @@ if(HAVE_APR_CONFIG)
|
|||
string(STRIP ${RAW_APR_LIBS} APR_LIBS)
|
||||
|
||||
else(HAVE_APR_CONFIG)
|
||||
FIND_LIBRARY(APR_LIBS
|
||||
NAMES libapr-1 apr-1
|
||||
HINTS
|
||||
PATH_SUFFIXES lib64 lib libs64 libs libs/Win32 libs/Win64
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
/usr/local
|
||||
/usr
|
||||
/opt
|
||||
)
|
||||
message(STATUS "apr-1-config not found, implement manual search for APR")
|
||||
endif(HAVE_APR_CONFIG)
|
||||
|
||||
find_path(LIBSVN_INCLUDE_DIR svn_client.h
|
||||
|
@ -42,49 +32,17 @@ find_path(LIBSVN_INCLUDE_DIR svn_client.h
|
|||
/opt
|
||||
)
|
||||
|
||||
FIND_LIBRARY(SVNCLIENT_LIBRARY
|
||||
NAMES libsvn_client-1 svn_client-1
|
||||
HINTS
|
||||
PATH_SUFFIXES lib64 lib libs64 libs libs/Win32 libs/Win64
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
/usr/local
|
||||
/usr
|
||||
/opt
|
||||
)
|
||||
|
||||
FIND_LIBRARY(SVNSUBR_LIBRARY
|
||||
NAMES libsvn_subr-1 svn_subr-1
|
||||
HINTS
|
||||
PATH_SUFFIXES lib64 lib libs64 libs libs/Win32 libs/Win64
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
/usr/local
|
||||
/usr
|
||||
/opt
|
||||
)
|
||||
|
||||
FIND_LIBRARY(SVNRA_LIBRARY
|
||||
NAMES libsvn_ra-1 svn_ra-1
|
||||
HINTS
|
||||
PATH_SUFFIXES lib64 lib libs64 libs libs/Win32 libs/Win64
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
/usr/local
|
||||
/usr
|
||||
/opt
|
||||
)
|
||||
check_library_exists(svn_client-1 svn_client_checkout "" HAVE_LIB_SVNCLIENT)
|
||||
check_library_exists(svn_subr-1 svn_cmdline_init "" HAVE_LIB_SVNSUBR)
|
||||
check_library_exists(svn_ra-1 svn_ra_initialize "" HAVE_LIB_SVNRA)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBSVN DEFAULT_MSG
|
||||
SVNSUBR_LIBRARY
|
||||
SVNCLIENT_LIBRARY
|
||||
SVNRA_LIBRARY
|
||||
HAVE_LIB_SVNSUBR
|
||||
HAVE_LIB_SVNCLIENT
|
||||
HAVE_LIB_SVNRA
|
||||
LIBSVN_INCLUDE_DIR)
|
||||
|
||||
if(LIBSVN_FOUND)
|
||||
set(LIBSVN_LIBRARIES ${SVNCLIENT_LIBRARY} ${SVNSUBR_LIBRARY} ${SVNRA_LIBRARY} ${APR_LIBS})
|
||||
set(LIBSVN_LIBRARIES "svn_client-1" "svn_subr-1" "svn_ra-1" ${APR_LIBS})
|
||||
endif(LIBSVN_FOUND)
|
||||
|
|
|
@ -44,15 +44,12 @@ SceneryPager::~SceneryPager()
|
|||
{
|
||||
}
|
||||
|
||||
#if SG_PAGEDLOD_HAS_OPTIONS
|
||||
#else
|
||||
void SceneryPager::requestNodeFile(const std::string& fileName, Group* group,
|
||||
float priority, const FrameStamp* framestamp,
|
||||
ref_ptr<Referenced>& databaseRequest,
|
||||
#if SG_OSG_MIN_VERSION_REQUIRED(2,9,5)
|
||||
const osg::Referenced* options
|
||||
#else
|
||||
osgDB::ReaderWriter::Options* options
|
||||
#endif
|
||||
)
|
||||
osgDB::ReaderWriter::Options* options)
|
||||
{
|
||||
simgear::SGPagedLOD *sgplod = dynamic_cast<simgear::SGPagedLOD*>(group);
|
||||
if(sgplod)
|
||||
|
@ -64,6 +61,7 @@ void SceneryPager::requestNodeFile(const std::string& fileName, Group* group,
|
|||
databaseRequest,
|
||||
options);
|
||||
}
|
||||
#endif
|
||||
|
||||
void SceneryPager::queueRequest(const std::string& fileName, Group* group,
|
||||
float priority, FrameStamp* frameStamp,
|
||||
|
@ -81,6 +79,35 @@ void SceneryPager::queueDeleteRequest(osg::ref_ptr<osg::Object>& objptr)
|
|||
_deleteRequests.push_back(objptr);
|
||||
objptr = 0;
|
||||
}
|
||||
|
||||
// Work around interface change in
|
||||
// osgDB::DatabasePager::requestNodeFile
|
||||
namespace
|
||||
{
|
||||
struct NodePathProxy
|
||||
{
|
||||
NodePathProxy(NodePath& nodePath)
|
||||
: _nodePath(nodePath)
|
||||
{
|
||||
}
|
||||
operator Group* () { return static_cast<Group*>(_nodePath.back()); }
|
||||
operator NodePath& () { return _nodePath; }
|
||||
NodePath& _nodePath;
|
||||
};
|
||||
}
|
||||
|
||||
void SceneryPager::PagerRequest::doRequest(SceneryPager* pager)
|
||||
{
|
||||
if (_group->getNumChildren() == 0) {
|
||||
NodePath path;
|
||||
path.push_back(_group.get());
|
||||
pager->requestNodeFile(_fileName, NodePathProxy(path), _priority,
|
||||
_frameStamp.get(),
|
||||
*_databaseRequest,
|
||||
_options.get());
|
||||
}
|
||||
}
|
||||
|
||||
void SceneryPager::signalEndFrame()
|
||||
{
|
||||
using namespace std;
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
#include <osgDB/DatabasePager>
|
||||
|
||||
#include <simgear/structure/OSGVersion.hxx>
|
||||
#include <simgear/scene/model/SGPagedLOD.hxx>
|
||||
|
||||
namespace flightgear
|
||||
{
|
||||
|
@ -39,16 +40,14 @@ public:
|
|||
// Unhide DatabasePager::requestNodeFile
|
||||
using osgDB::DatabasePager::requestNodeFile;
|
||||
// reimplement to add readerWriterOptions from SGPagedLOD
|
||||
#if SG_PAGEDLOD_HAS_OPTIONS
|
||||
#else
|
||||
virtual void requestNodeFile(const std::string& fileName, osg::Group* group,
|
||||
float priority,
|
||||
const osg::FrameStamp* framestamp,
|
||||
osg::ref_ptr<osg::Referenced>& databaseRequest,
|
||||
#if SG_OSG_MIN_VERSION_REQUIRED(2,9,5)
|
||||
const osg::Referenced* options
|
||||
#else
|
||||
osgDB::ReaderWriter::Options* options
|
||||
osgDB::ReaderWriter::Options* options);
|
||||
#endif
|
||||
);
|
||||
void queueRequest(const std::string& fileName, osg::Group* node,
|
||||
float priority, osg::FrameStamp* frameStamp,
|
||||
osg::ref_ptr<osg::Referenced>& databaseRequest,
|
||||
|
@ -77,15 +76,7 @@ protected:
|
|||
_databaseRequest(&databaseRequest)
|
||||
{}
|
||||
|
||||
void doRequest(SceneryPager* pager)
|
||||
{
|
||||
if (_group->getNumChildren() == 0)
|
||||
pager->requestNodeFile(_fileName, _group.get(), _priority,
|
||||
_frameStamp.get(),
|
||||
*_databaseRequest,
|
||||
_options.get());
|
||||
}
|
||||
|
||||
void doRequest(SceneryPager* pager);
|
||||
std::string _fileName;
|
||||
osg::ref_ptr<osg::Group> _group;
|
||||
float _priority;
|
||||
|
|
Loading…
Reference in a new issue