OpenSceneGraph/include/osgUtil/DepthSortedBin
2002-07-16 20:07:32 +00:00

53 lines
1.4 KiB
Plaintext

//C++ header - Open Scene Graph - Copyright (C) 1998-2002 Robert Osfield
//Distributed under the terms of the GNU Library General Public License (LGPL)
//as published by the Free Software Foundation.
#ifndef OSGUTIL_DEPTHSORTEDBIN
#define OSGUTIL_DEPTHSORTEDBIN 1
#include <osgUtil/RenderBin>
namespace osgUtil {
class OSGUTIL_EXPORT DepthSortedBin : public RenderBin
{
public:
DepthSortedBin();
virtual osg::Object* cloneType() const { return new DepthSortedBin(); }
virtual osg::Object* clone(const osg::CopyOp&) const { return new DepthSortedBin(); } // note only implements a clone of type.
virtual bool isSameKindAs(const osg::Object* obj) const { return dynamic_cast<const DepthSortedBin*>(obj)!=0L; }
virtual const char* libraryName() const { return "osgUtil"; }
virtual const char* className() const { return "DepthSortedBin"; }
virtual void reset();
virtual void sort_local();
virtual void draw_local(osg::State& state,RenderLeaf*& previous);
enum DrawOrder
{
FRONT_TO_BACK,
BACK_TO_FRONT
};
void setDrawOrder(const DrawOrder drawOrder) { _drawOrder = drawOrder; }
const DrawOrder getDrawOrder() const { return _drawOrder; }
protected:
virtual ~DepthSortedBin();
DrawOrder _drawOrder;
//RenderLeafList _renderLeafList;
};
}
#endif