14 #ifndef OSGTERRAIN_GEOMETRYPOOL
15 #define OSGTERRAIN_GEOMETRYPOOL 1
17 #include <osg/Geometry>
18 #include <osg/MatrixTransform>
19 #include <osg/Program>
21 #include <OpenThreads/Mutex>
23 #include <osgTerrain/TerrainTile>
72 void resizeGLObjectBuffers(
unsigned int maxSize);
73 void releaseGLObjects(
osg::State* state)
const;
111 if (sx<rhs.
sx)
return true;
112 if (sx>rhs.
sx)
return false;
114 if (sx<rhs.
sx)
return true;
115 if (sx>rhs.
sx)
return false;
117 if (y<rhs.
y)
return true;
118 if (y>rhs.
y)
return false;
120 if (nx<rhs.
nx)
return true;
121 if (nx>rhs.
nx)
return false;
134 typedef std::map< GeometryKey, osg::ref_ptr<SharedGeometry> >
GeometryMap;
146 typedef std::map<LayerTypes, osg::ref_ptr<osg::Program> >
ProgramMap;
195 virtual void resizeGLObjectBuffers(
unsigned int maxSize);
196 virtual void releaseGLObjects(
osg::State* state=0)
const;
osg::ref_ptr< osg::Array > _normalArray
osg::HeightField * getHeightField()
const osg::Array * getNormalArray() const
OpenThreads::Mutex _programMapMutex
This class provides an object-oriented thread mutex interface.
void setVertices(osg::Vec3Array *vertices)
VertexToHeightFieldMapping _vertexToHeightFieldMapping
osg::ref_ptr< osg::StateSet > _rootStateSet
osg::ref_ptr< osg::Vec3Array > _vertices
void setColorArray(osg::Array *array)
const osg::Vec3Array * getVertices() const
virtual bool supports(const osg::Drawable::AttributeFunctor &) const
virtual bool supports(const osg::Drawable::ConstAttributeFunctor &) const
virtual bool supports(const osg::PrimitiveIndexFunctor &) const
bool _rootStateSetAssigned
const osg::Array * getColorArray() const
#define META_Node(library, name)
osg::ref_ptr< osg::Array > _colorArray
void setVertexArray(osg::Array *array)
VertexToHeightFieldMapping & getVertexToHeightFieldMapping()
virtual bool supports(const osg::PrimitiveFunctor &) const
const VertexToHeightFieldMapping & getVertexToHeightFieldMapping() const
const osg::Array * getTexCoordArray() const
#define OSGTERRAIN_EXPORT
osg::ref_ptr< osg::HeightField > _heightField
osg::DrawElements * getDrawElements()
void setTexCoordArray(osg::Array *array)
OpenThreads::Mutex _geometryMapMutex
osg::Array * getTexCoordArray()
osg::Array * getNormalArray()
osg::ref_ptr< osg::Array > _vertexArray
OSGTERRAIN_EXPORT const osgTerrain::Locator * computeMasterLocator(const osgTerrain::TerrainTile *tile)
osg::ref_ptr< osg::Array > _texcoordArray
const osg::DrawElements * getDrawElements() const
void setDrawElements(osg::DrawElements *array)
void setVertexToHeightFieldMapping(const VertexToHeightFieldMapping &vthfm)
virtual bool supports(const osg::Drawable::AttributeFunctor &) const
std::vector< LayerType > LayerTypes
std::map< LayerTypes, osg::ref_ptr< osg::Program > > ProgramMap
virtual bool supports(const osg::Drawable::ConstAttributeFunctor &) const
const SharedGeometry * getGeometry() const
std::map< GeometryKey, osg::ref_ptr< SharedGeometry > > GeometryMap
osg::ref_ptr< SharedGeometry > _geometry
void setNormalArray(osg::Array *array)
virtual bool supports(const osg::PrimitiveIndexFunctor &) const
osg::Vec3Array * getVertices()
SharedGeometry * getGeometry()
const osg::HeightField * getHeightField() const
const osg::Array * getVertexArray() const
osg::Array * getVertexArray()
virtual bool supports(const osg::PrimitiveFunctor &) const
osg::Array * getColorArray()
std::vector< unsigned int > VertexToHeightFieldMapping
void setGeometry(SharedGeometry *geom)
osg::ref_ptr< osg::DrawElements > _drawElements
void setHeightField(osg::HeightField *hf)