|
vtdata library
|

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 ¢er) |
| void | SetCulture (CultureExtension *ext) |
Public Attributes | |
| FRECT | m_WorldExtents |
| vtLocalConversion | m_Conversion |
Protected Member Functions | |
| void | UpdateWorldExtents () |
Protected Attributes | |
| float | m_fDiagonalLength |
| CultureExtension * | m_pCulture |
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.
| 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.
| p3 | The point to test. Only the X and Z values are used. |
| fAltitude | The resulting elevation at that point, by reference. |
| bTrue | True to test true elevation. False to test the displayed elevation (possibly exaggerated.) |
| iCultureFlags | Pass 0 to test only the heightfield itself, non-zero to test any culture objects which may be sitting on the heightfield. Values include:
|
| vNormal | If you supply a pointer to a vector, it will be set to the upward-pointing surface normal at the ground point. |
Implemented in vtElevationGrid, and vtTin.
| int vtHeightField3d::PointIsAboveTerrain | ( | const FPoint3 & | p | ) | const |
| void vtHeightField3d::SetEarthExtents | ( | const DRECT & | ext | ) | [virtual] |
Set the geographic extents of the grid.
Reimplemented from vtHeightField.
Reimplemented in vtHeightFieldGrid3d.
1.7.4