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

#include <HeightField.h>

Inheritance diagram for vtHeightField3d:
vtHeightField vtExternalHeightField3d vtHeightFieldGrid3d vtTiledGeom vtTin vtDynTerrainGeom vtElevationGrid vtTin2d vtTin3d BruteTerrain DemeterTerrain SMTerrain SRTerrain TVTerrain

Public Member Functions

void Initialize (const LinearUnits units, const DRECT &earthextents, float fMinHeight, float fMaxHeight)
 
virtual void SetEarthExtents (const DRECT &ext)
 
virtual bool FindAltitudeAtPoint (const FPoint3 &p3, float &fAltitude, bool bTrue=false, int iCultureFlags=0, FPoint3 *vNormal=NULL) const =0
 
virtual bool CastRayToSurface (const FPoint3 &point, const FPoint3 &dir, FPoint3 &result) const =0
 Find the intersection point of a ray with the heightfield.
 
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)
 
virtual bool FindAltitudeOnEarth (const DPoint2 &p, float &fAltitude, bool bTrue=false) const =0
 
bool ContainsEarthPoint (const DPoint2 &p, bool bInclusive=false) const
 
DRECTGetEarthExtents ()
 
const DRECTGetEarthExtents () const
 
void GetHeightExtents (float &fMinHeight, float &fMaxHeight) const
 

Public Attributes

FRECT m_WorldExtents
 
vtLocalConversion m_Conversion
 

Protected Member Functions

void UpdateWorldExtents ()
 

Protected Attributes

float m_fDiagonalLength
 
CultureExtensionm_pCulture
 
- Protected Attributes inherited from vtHeightField
float m_fMinHeight
 
float m_fMaxHeight
 
DRECT m_EarthExtents
 

Detailed Description

This class extents vtHeightField with the abilty to operate in 'world' coordinates, that is, an artificial meters-based 3D coordinate system which is much better suited for many tasks than trying to operate directly on the raw 2D 'earth' coordinates.

Member Function Documentation

bool vtHeightField3d::ContainsWorldPoint ( float  x,
float  z 
)

Tests whether a given point is within the current terrain

bool vtHeightField3d::ConvertEarthToSurfacePoint ( const DPoint2 epos,
FPoint3 p3,
int  iCultureFlags = 0,
bool  bTrue = false 
)

Converts a earth coordinate (project or geographic) to a world coordinate on the surface of the heightfield.

virtual bool vtHeightField3d::FindAltitudeAtPoint ( const FPoint3 p3,
float &  fAltitude,
bool  bTrue = false,
int  iCultureFlags = 0,
FPoint3 vNormal = NULL 
) const
pure virtual

Given a point in world coordinates, determine the elevation at that point.

Parameters
p3The point to test. Only the X and Z values are used.
fAltitudeThe resulting elevation at that point, by reference.
bTrueTrue to test true elevation. False to test the displayed elevation (possibly exaggerated.)
iCultureFlagsPass 0 to test only the heightfield itself, non-zero to test any culture objects which may be sitting on the heightfield. Values include:
  • CE_STRUCTURES Test structures on the ground.
  • CE_ROADS Test roads on the ground.
  • CE_ALL Test everything on the ground.
vNormalIf you supply a pointer to a vector, it will be set to the upward-pointing surface normal at the ground point.
Returns
true if successful, false if there was nothing found at that point.

Implemented in vtElevationGrid, vtTin, vtTiledGeom, vtDynTerrainGeom, vtExternalHeightField3d, and vtTin3d.

int vtHeightField3d::PointIsAboveTerrain ( const FPoint3 p) const
Returns
0 if below terrain, 1 if above terrain, -1 if off terrain.
void vtHeightField3d::SetEarthExtents ( const DRECT ext)
virtual

Set the geographic extents of the grid.

Reimplemented from vtHeightField.

Reimplemented in vtHeightFieldGrid3d.


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