Removed reprecated C++ usage
This commit is contained in:
parent
c934172432
commit
7729d38b2b
@ -285,14 +285,16 @@ class OSGWIDGET_EXPORT WindowManager: public osg::Switch, public UIObjectParent<
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
// A functor used to sort the Windows by their Z component in descending order.
|
// A functor used to sort the Windows by their Z component in descending order.
|
||||||
struct WindowZCompare: public std::binary_function<ptr_type, ptr_type, bool> {
|
struct WindowZCompare
|
||||||
|
{
|
||||||
bool operator()(const ptr_type& x, const ptr_type& y) {
|
bool operator()(const ptr_type& x, const ptr_type& y) {
|
||||||
return x.get()->getZ() > y.get()->getZ();
|
return x.get()->getZ() > y.get()->getZ();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// A functor used to sort the Windows by their BinNum component in descending order.
|
// A functor used to sort the Windows by their BinNum component in descending order.
|
||||||
struct WindowBinNumberCompare: public std::binary_function<ptr_type, ptr_type, bool> {
|
struct WindowBinNumberCompare
|
||||||
|
{
|
||||||
bool operator()(const ptr_type& x, const ptr_type& y) {
|
bool operator()(const ptr_type& x, const ptr_type& y) {
|
||||||
return
|
return
|
||||||
x.get()->getOrCreateStateSet()->getBinNumber() >
|
x.get()->getOrCreateStateSet()->getBinNumber() >
|
||||||
|
@ -49,57 +49,6 @@ static osg::ApplicationUsageProxy DatabasePager_e4(osg::ApplicationUsage::ENVIRO
|
|||||||
static osg::ApplicationUsageProxy DatabasePager_e11(osg::ApplicationUsage::ENVIRONMENTAL_VARIABLE,"OSG_MAX_PAGEDLOD <num>","Set the target maximum number of PagedLOD to maintain.");
|
static osg::ApplicationUsageProxy DatabasePager_e11(osg::ApplicationUsage::ENVIRONMENTAL_VARIABLE,"OSG_MAX_PAGEDLOD <num>","Set the target maximum number of PagedLOD to maintain.");
|
||||||
static osg::ApplicationUsageProxy DatabasePager_e12(osg::ApplicationUsage::ENVIRONMENTAL_VARIABLE,"OSG_ASSIGN_PBO_TO_IMAGES <ON/OFF>","Set whether PixelBufferObjects should be assigned to Images to aid download to the GPU.");
|
static osg::ApplicationUsageProxy DatabasePager_e12(osg::ApplicationUsage::ENVIRONMENTAL_VARIABLE,"OSG_ASSIGN_PBO_TO_IMAGES <ON/OFF>","Set whether PixelBufferObjects should be assigned to Images to aid download to the GPU.");
|
||||||
|
|
||||||
// Convert function objects that take pointer args into functions that a
|
|
||||||
// reference to an osg::ref_ptr. This is quite useful for doing STL
|
|
||||||
// operations on lists of ref_ptr. This code assumes that a function
|
|
||||||
// with an argument const Foo* should be composed into a function of
|
|
||||||
// argument type ref_ptr<Foo>&, not ref_ptr<const Foo>&. Some support
|
|
||||||
// for that should be added to make this more general.
|
|
||||||
|
|
||||||
namespace
|
|
||||||
{
|
|
||||||
template <typename U>
|
|
||||||
struct PointerTraits
|
|
||||||
{
|
|
||||||
typedef class NullType {} PointeeType;
|
|
||||||
};
|
|
||||||
|
|
||||||
template <typename U>
|
|
||||||
struct PointerTraits<U*>
|
|
||||||
{
|
|
||||||
typedef U PointeeType;
|
|
||||||
};
|
|
||||||
|
|
||||||
template <typename U>
|
|
||||||
struct PointerTraits<const U*>
|
|
||||||
{
|
|
||||||
typedef U PointeeType;
|
|
||||||
};
|
|
||||||
|
|
||||||
template <typename FuncObj>
|
|
||||||
class RefPtrAdapter
|
|
||||||
: public std::unary_function<const osg::ref_ptr<typename PointerTraits<typename FuncObj::argument_type>::PointeeType>,
|
|
||||||
typename FuncObj::result_type>
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
typedef typename PointerTraits<typename FuncObj::argument_type>::PointeeType PointeeType;
|
|
||||||
typedef osg::ref_ptr<PointeeType> RefPtrType;
|
|
||||||
explicit RefPtrAdapter(const FuncObj& funcObj) : _func(funcObj) {}
|
|
||||||
typename FuncObj::result_type operator()(const RefPtrType& refPtr) const
|
|
||||||
{
|
|
||||||
return _func(refPtr.get());
|
|
||||||
}
|
|
||||||
protected:
|
|
||||||
FuncObj _func;
|
|
||||||
};
|
|
||||||
|
|
||||||
template <typename FuncObj>
|
|
||||||
RefPtrAdapter<FuncObj> refPtrAdapt(const FuncObj& func)
|
|
||||||
{
|
|
||||||
return RefPtrAdapter<FuncObj>(func);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
|
Loading…
Reference in New Issue
Block a user