OpenMW
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
MWRender::TerrainStorage Class Reference

Connects the ESM Store used in OpenMW with the ESMTerrain storage. More...

#include <terrainstorage.hpp>

Inheritance diagram for MWRender::TerrainStorage:
Collaboration diagram for MWRender::TerrainStorage:

Public Member Functions

 TerrainStorage (Resource::ResourceSystem *resourceSystem, const std::string &normalMapPattern="", const std::string &normalHeightMapPatteern="", bool autoUseNormalMaps=false, const std::string &specularMapPattern="", bool autoUseSpecularMaps=false)
 
 ~TerrainStorage ()
 
virtual osg::ref_ptr< const
ESMTerrain::LandObject
getLand (int cellX, int cellY)
 
virtual const ESM::LandTexturegetLandTexture (int index, short plugin)
 
virtual void getBounds (float &minX, float &maxX, float &minY, float &maxY)
 Get bounds of the whole terrain in cell units. More...
 
LandManagergetLandManager () const
 
- Public Member Functions inherited from ESMTerrain::Storage
 Storage (const VFS::Manager *vfs, const std::string &normalMapPattern="", const std::string &normalHeightMapPattern="", bool autoUseNormalMaps=false, const std::string &specularMapPattern="", bool autoUseSpecularMaps=false)
 
virtual bool getMinMaxHeights (float size, const osg::Vec2f &center, float &min, float &max)
 
virtual void fillVertexBuffers (int lodLevel, float size, const osg::Vec2f &center, osg::ref_ptr< osg::Vec3Array > positions, osg::ref_ptr< osg::Vec3Array > normals, osg::ref_ptr< osg::Vec4Array > colours)
 
virtual void getBlendmaps (float chunkSize, const osg::Vec2f &chunkCenter, bool pack, ImageVector &blendmaps, std::vector< Terrain::LayerInfo > &layerList)
 
virtual float getHeightAt (const osg::Vec3f &worldPos)
 
virtual float getCellWorldSize ()
 Get the transformation factor for mapping cell units to world units. More...
 
virtual int getCellVertices ()
 Get the number of vertices on one side for each cell. Should be (power of two)+1. More...
 
virtual int getBlendmapScale (float chunkSize)
 
- Public Member Functions inherited from Terrain::Storage
virtual ~Storage ()
 

Private Attributes

std::unique_ptr< LandManagermLandManager
 
Resource::ResourceSystemmResourceSystem
 

Additional Inherited Members

- Public Types inherited from Terrain::Storage
typedef std::vector
< osg::ref_ptr< osg::Image > > 
ImageVector
 

Detailed Description

Connects the ESM Store used in OpenMW with the ESMTerrain storage.

Constructor & Destructor Documentation

MWRender::TerrainStorage::TerrainStorage ( Resource::ResourceSystem resourceSystem,
const std::string &  normalMapPattern = "",
const std::string &  normalHeightMapPatteern = "",
bool  autoUseNormalMaps = false,
const std::string &  specularMapPattern = "",
bool  autoUseSpecularMaps = false 
)

Here is the call graph for this function:

MWRender::TerrainStorage::~TerrainStorage ( )

Here is the call graph for this function:

Member Function Documentation

void MWRender::TerrainStorage::getBounds ( float &  minX,
float &  maxX,
float &  minY,
float &  maxY 
)
virtual

Get bounds of the whole terrain in cell units.

Implements ESMTerrain::Storage.

Here is the call graph for this function:

osg::ref_ptr< const ESMTerrain::LandObject > MWRender::TerrainStorage::getLand ( int  cellX,
int  cellY 
)
virtual

Implements ESMTerrain::Storage.

LandManager * MWRender::TerrainStorage::getLandManager ( ) const

Here is the caller graph for this function:

const ESM::LandTexture * MWRender::TerrainStorage::getLandTexture ( int  index,
short  plugin 
)
virtual

Implements ESMTerrain::Storage.

Here is the call graph for this function:

Member Data Documentation

std::unique_ptr<LandManager> MWRender::TerrainStorage::mLandManager
private
Resource::ResourceSystem* MWRender::TerrainStorage::mResourceSystem
private

The documentation for this class was generated from the following files: