OpenSceneGraph/include/osgTerrain/HeightFieldRenderer
Robert Osfield 9db6e84d3d Cleaned up osgTerrain, renaming the Terrain and Renderer class to
HeightFieldNode and HeightFieldRender to better reflect their function.
Removed the GeoMipMapRenderer.cpp stub as the implemention will be left
to a plugin.  Added Version functions.
2004-05-03 20:42:58 +00:00

61 lines
1.7 KiB
C++

/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2003 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
#ifndef OSGTERRAIN_HEIGHTFIELDHeightFieldRenderer
#define OSGTERRAIN_HEIGHTFIELDHeightFieldRenderer 1
#include <osg/Object>
#include <osgUtil/UpdateVisitor>
#include <osgUtil/CullVisitor>
#include <osgTerrain/Export>
namespace osgTerrain {
class HeightFieldNode;
class OSGTERRAIN_EXPORT HeightFieldRenderer : public osg::Object
{
public:
HeightFieldRenderer();
/** Copy constructor using CopyOp to manage deep vs shallow copy.*/
HeightFieldRenderer(const HeightFieldRenderer&,const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY);
HeightFieldNode* getHeightFieldNode() { return _heightFieldNode; }
const HeightFieldNode* getHeightFieldNode() const { return _heightFieldNode; }
virtual void initialize() = 0;
virtual void heightFieldHasBeenModified() = 0;
virtual void update(osgUtil::UpdateVisitor* nv) = 0;
virtual void cull(osgUtil::CullVisitor* nv) = 0;
protected:
virtual ~HeightFieldRenderer();
friend class osgTerrain::HeightFieldNode;
HeightFieldNode* _heightFieldNode;
};
}
#endif