Umasoft
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
SRTerrain Class Reference

#include <SRTerrain.h>

Inheritance diagram for SRTerrain:
vtDynTerrainGeom vtDynGeom vtHeightFieldGrid3d vtGeode vtHeightField3d NodeExtension vtHeightField

Public Member Functions

DTErr Init (const vtElevationGrid *pGrid, float fZScale)
 
void DoRender ()
 
void DoCulling (const vtCamera *pCam)
 
float GetElevation (int iX, int iZ, bool bTrue=false) const
 
void SetElevation (int iX, int iZ, float fValue, bool bTrue=false)
 
void GetWorldLocation (int iX, int iZ, FPoint3 &p, bool bTrue=false) const
 
void SetVerticalExag (float fExag)
 
float GetVerticalExag () const
 
void SetPolygonTarget (int iCount)
 
DTErr ReInit (const vtElevationGrid *pGrid)
 
void LoadSingleMaterial ()
 
- Public Member Functions inherited from vtDynTerrainGeom
virtual void Init2 ()
 
DTErr BasicInit (const vtElevationGrid *pGrid)
 
int GetPolygonTarget ()
 
int GetNumDrawnTriangles ()
 
void SetDetailMaterial (vtMaterial *pApp, float fTiling, float fDistance)
 
void EnableDetail (bool bOn)
 
bool GetDetail ()
 
void SetupTexGen (float fTiling)
 
void DisableTexGen ()
 
void DoCalcBoundBox (FBox3 &box)
 
void DoCull (const vtCamera *pCam)
 
bool FindAltitudeOnEarth (const DPoint2 &p, float &fAltitude, bool bTrue=false) const
 
bool FindAltitudeAtPoint (const FPoint3 &p3, float &fAltitude, bool bTrue=false, int iCultureFlags=0, FPoint3 *vNormal=NULL) const
 
void SetCull (bool bOnOff)
 
void CullOnce ()
 
void PreRender () const
 
void PostRender () const
 
- Public Member Functions inherited from vtDynGeom
int IsVisible (const FSphere &sphere) const
 
int IsVisible (const FPoint3 &point0, const FPoint3 &point1, const FPoint3 &point2, const float fTolerance=0.0f) const
 
int IsVisible (const FPoint3 &point, float radius)
 
bool IsVisible (const FPoint3 &point) const
 
void ApplyMaterial (vtMaterial *mat)
 
- Public Member Functions inherited from vtGeode
vtGeodeCloneGeode ()
 
void CloneFromGeode (const vtGeode *rhs)
 
void AddMesh (vtMesh *pMesh, int iMatIdx)
 
void RemoveMesh (vtMesh *pMesh)
 
void AddTextMesh (vtTextMesh *pMesh, int iMatIdx)
 
uint GetNumMeshes () const
 
vtMeshGetMesh (int i) const
 
vtTextMeshGetTextMesh (int i) const
 
virtual void SetMaterials (const class vtMaterialArray *mats)
 
const vtMaterialArrayGetMaterials () const
 
vtMaterialGetMaterial (int idx)
 
void SetMeshMatIndex (vtMesh *pMesh, int iMatIdx)
 
- Public Member Functions inherited from NodeExtension
void SetEnabled (bool bOn)
 
bool GetEnabled () const
 
void SetCastShadow (bool b)
 Set this node to cast a shadow, if it is under a vtShadow node. Default is false.
 
bool GetCastShadow ()
 Get whether this node casts a shadow.
 
void GetBoundSphere (FSphere &sphere, bool bGlobal=false)
 Get the Bounding Sphere of the node.
 
void SetOsgNode (osg::Node *n)
 
- Public Member Functions inherited from vtHeightFieldGrid3d
void Initialize (const LinearUnits units, const DRECT &earthextents, float fMinHeight, float fMaxHeight, int cols, int rows)
 
virtual void SetEarthExtents (const DRECT &ext)
 
bool CastRayToSurface (const FPoint3 &point, const FPoint3 &dir, FPoint3 &result) const
 
bool LineOfSight (const FPoint3 &point1, const FPoint3 &point2) const
 
DPoint2 GetSpacing () const
 
FPoint2 GetWorldSpacing () const
 
void GetDimensions (int &nColumns, int &nRows) const
 
int NumColumns ()
 
int NumRows ()
 
void EarthToGrid (const DPoint2 &epos, IPoint2 &ipos)
 
void WorldToGrid (const FPoint3 &pos, IPoint2 &ipos)
 
float GetInterpolatedElevation (double findex_x, double findex_y) const
 
int FindNumUnknown ()
 
bool ColorDibFromElevation (vtBitmapBase *pBM, const ColorMap *cmap, int iGranularity, const RGBAi &nodata, bool progress_callback(int)=NULL)
 
bool ColorDibFromTable (vtBitmapBase *pBM, std::vector< RGBi > &table, float fMin, float fMax, const RGBAi &nodata, bool progress_callback(int)=NULL)
 
void ShadeDibFromElevation (vtBitmapBase *pBM, const FPoint3 &light_dir, float fLightFactor, float fAmbient=0.1f, float fGamma=1.0f, bool bTrue=false, bool progress_callback(int)=NULL)
 
void ShadeQuick (vtBitmapBase *pBM, float light_factor, bool bTrue=false, bool progress_callback(int)=NULL)
 
void ShadowCastDib (vtBitmapBase *pBM, const FPoint3 &ight_dir, float fLightFactor, float fAmbient, bool progress_callback(int)=NULL)
 
- Public Member Functions inherited from vtHeightField3d
void Initialize (const LinearUnits units, const DRECT &earthextents, float fMinHeight, float fMaxHeight)
 
int PointIsAboveTerrain (const FPoint3 &p) const
 
bool ConvertEarthToSurfacePoint (const DPoint2 &epos, FPoint3 &p3, int iCultureFlags=0, bool bTrue=false)
 
bool ContainsWorldPoint (float x, float z)
 
void GetCenter (FPoint3 &center)
 
void SetCulture (CultureExtension *ext)
 
- Public Member Functions inherited from vtHeightField
void Initialize (const DRECT &extents, float fMinHeight, float fMaxHeight)
 
bool ContainsEarthPoint (const DPoint2 &p, bool bInclusive=false) const
 
DRECTGetEarthExtents ()
 
const DRECTGetEarthExtents () const
 
void GetHeightExtents (float &fMinHeight, float &fMaxHeight) const
 

Public Attributes

int m_iBlockSize
 
float m_fResolution
 
float m_fHResolution
 
float m_fLResolution
 
- Public Attributes inherited from vtDynTerrainGeom
int m_iTotalTriangles
 
int m_iDrawnTriangles
 
- Public Attributes inherited from vtDynGeom
FPlane m_cullPlanes [6]
 
- Public Attributes inherited from vtGeode
osg::ref_ptr< const
vtMaterialArray
m_pMaterialArray
 
- Public Attributes inherited from NodeExtension
osg::Node * m_pNode
 
bool m_bCastShadow
 

Protected Member Functions

void RenderSurface ()
 
void RenderPass ()
 

Additional Inherited Members

- Protected Attributes inherited from vtDynTerrainGeom
float * m_fXLookup
 
float * m_fZLookup
 
int m_iPolygonTarget
 
bool m_bCulleveryframe
 
bool m_bCullonce
 
float m_fDetailTiling
 
float m_fDetailDistance
 
bool m_bDetailTexture
 
vtMaterialm_pDetailMat
 

Detailed Description

The SRTerrain class implements Stefan Roettger's algorithm for regular-grid terrain LOD. It was adapted directly from his sample implementation and correspondence with him.

Member Function Documentation

void SRTerrain::SetPolygonTarget ( int  iCount)
virtual

Set the polygon target, which is the number of polygons (generally triangles) which the CLOD algorithm will try to maintain.

Reimplemented from vtDynTerrainGeom.


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