Made the member variables in RenderStage and RenderBin protected

This commit is contained in:
Robert Osfield
2004-08-02 12:19:50 +00:00
parent 364d40061d
commit 9b33dee6ac
10 changed files with 51 additions and 43 deletions

View File

@@ -107,7 +107,7 @@ class OSGUTIL_EXPORT CullVisitor : public osg::NodeVisitor, public osg::CullStac
{
if (_currentRenderGraph->_stateset->useRenderBinDetails())
{
_currentRenderBin = _currentRenderBin->_parent;
_currentRenderBin = _currentRenderBin->getParent();
}
_currentRenderGraph = _currentRenderGraph->_parent;
}
@@ -351,13 +351,13 @@ inline void CullVisitor::addDrawableAndDepth(osg::Drawable* drawable,osg::RefMat
/** Add an attribute which is positioned related to the modelview matrix.*/
inline void CullVisitor::addPositionedAttribute(osg::RefMatrix* matrix,const osg::StateAttribute* attr)
{
_currentRenderBin->_stage->addPositionedAttribute(matrix,attr);
_currentRenderBin->getStage()->addPositionedAttribute(matrix,attr);
}
/** Add an attribute which is positioned related to the modelview matrix.*/
inline void CullVisitor::addPositionedTextureAttribute(unsigned int textureUnit, osg::RefMatrix* matrix,const osg::StateAttribute* attr)
{
_currentRenderBin->_stage->addPositionedTextureAttribute(textureUnit,matrix,attr);
_currentRenderBin->getStage()->addPositionedTextureAttribute(textureUnit,matrix,attr);
}
inline RenderLeaf* CullVisitor::createOrReuseRenderLeaf(osg::Drawable* drawable,osg::RefMatrix* projection,osg::RefMatrix* matrix, float depth)

View File

@@ -62,6 +62,22 @@ class OSGUTIL_EXPORT RenderBin : public osg::Object
virtual void reset();
RenderBin* getParent() { return _parent; }
const RenderBin* getParent() const { return _parent; }
RenderStage* getStage() { return _stage; }
const RenderStage* getStage() const { return _stage; }
RenderGraphList& getRenderGraphList() { return _renderGraphList; }
const RenderGraphList& getRenderGraphList() const { return _renderGraphList; }
RenderBinList& getRenderBinList() { return _bins; }
const RenderBinList& getRenderBinList() const { return _bins; }
RenderLeafList& getRenderLeafList() { return _renderLeafList; }
const RenderLeafList& getRenderLeafList() const { return _renderLeafList; }
RenderBin* find_or_insert(int binNum,const std::string& binName);
void addRenderGraph(RenderGraph* rg)
@@ -104,16 +120,16 @@ class OSGUTIL_EXPORT RenderBin : public osg::Object
DrawCallback* getDrawCallback() { return _drawCallback.get(); }
const DrawCallback* getDrawCallback() const { return _drawCallback.get(); }
/** extract stats for current draw list. */
bool getStats(Statistics* primStats);
void getPrims(Statistics* primStats);
bool getPrims(Statistics* primStats, int nbin);
#ifndef USE_DEPRECATED_API
protected:
#endif
public:
virtual ~RenderBin();
void copyLeavesFromRenderGraphListToRenderLeafList();
@@ -130,9 +146,6 @@ class OSGUTIL_EXPORT RenderBin : public osg::Object
osg::ref_ptr<DrawCallback> _drawCallback;
protected:
virtual ~RenderBin();
};

View File

@@ -133,8 +133,12 @@ class OSGUTIL_EXPORT RenderStage : public RenderBin
/** extract stats for current draw list. */
bool getStats(Statistics* primStats);
public:
#ifndef USE_DEPRECATED_API
protected:
#endif
virtual ~RenderStage();
typedef std::vector< osg::ref_ptr<RenderStage> > DependencyList;
bool _stageDrawnThisFrame;
@@ -152,9 +156,7 @@ class OSGUTIL_EXPORT RenderStage : public RenderBin
mutable osg::ref_ptr<RenderStageLighting> _renderStageLighting;
protected:
virtual ~RenderStage();
};

View File

@@ -131,15 +131,8 @@ class OSGUTIL_EXPORT SceneView : public osg::Referenced, public osg::CullSetting
osg::StateSet* getLocalStateSet() { return _localStateSet.get(); }
const osg::StateSet* getLocalStateSet() const { return _localStateSet.get(); }
#if 1
typedef Options LightingMode;
#else
enum LightingMode {
HEADLIGHT, // default
SKY_LIGHT,
NO_SCENEVIEW_LIGHT
};
#endif
void setLightingMode(LightingMode mode) { _lightingMode=mode; }
LightingMode getLightingMode() const { return _lightingMode; }