Classes | |
| class | ColorMapDecorator |
| This terrain decorator is a terrain tile base texture decorator. More... | |
| class | DTEDTerrainReader |
| This data reader loads DTED data mapping to a specified latitude and longitude. More... | |
| class | FixedPointNoise |
| This is a fixed point implementation of an improved Ken Perlin noise generator. More... | |
| class | GeoCoordinatesException |
| This class contains the various types of exceptions that the coordinate system class may throw during a given operation. More... | |
| class | GeoCoordinates |
| This class is intended to represent cartesian and geographic coordinates. More... | |
| class | GeoTiffDecorator |
| This class is a terrain texturing decorator that supports the mapping of geospecific images onto terrain tiles. More... | |
| class | HeightFieldException |
| This enumeration defines the different types of exceptions the height field may throw if an error occurs. More... | |
| class | HeightField |
| This class wraps an array of elevation posts. More... | |
| class | ImageUtilException |
| Defines exceptions that may be thrown from the image utility methods. More... | |
| class | ImageUtils |
| This class is a static class containing many methods for creating images procedurally, concatenating images, and building images from source height data. More... | |
| class | LCCAnalyzerResourceName |
| This enumeration identitifies the resources that are cached and managed by the vegetation decorator layer. More... | |
| class | LCCAnalyzerException |
| Defines the exceptions thrown by the lcc analyzer. More... | |
| class | LCCAnalyzer |
| The LCC Analyzer calculates LCC data for use in the vegetation decorator. More... | |
| class | LCCType |
| class | MathUtils |
| class | PagedTerrainTileLoadState |
| This enumeration defines the different states a tile could be in throughout its lifetime. More... | |
| class | PagedTerrainTileResourceName |
| This enumeration is used to identity built in resources that the terrain tiles are aware of. More... | |
| class | PagedTerrainTile |
| This class is the base class for a tile of data. More... | |
| class | PagedTerrainTileFactory |
| This class is the base for a simple factory used to create new terrain tiles. More... | |
| class | SoarXDrawable |
| This class encapsulates the SoarX rendering algorithm itself. More... | |
| class | SoarXCacheResourceName |
| class | SoarXTerrainRenderer |
| This renderer is an integration/implementation of the SoarX terrain rendering algorithm. More... | |
| class | TerrainException |
| This class enumerates the different exceptions that can be thrown by terrain instances. More... | |
| class | Terrain |
| This is the base terrain class that provides most of the functionlity required for terrain rendering. More... | |
| class | TerrainDataReaderException |
| These exceptions are used by terrain data readers when an error occurs during the load process. More... | |
| class | HeightFieldResizePolicy |
| This enumeration specifies the valid resize policies the data readers should follow when loading a new heightfield. More... | |
| class | TerrainDataReader |
| This is mostly an interface class to the data reader functionality of Delta3D terrains. More... | |
| class | TerrainRendererException |
| This enumeration contains generic errors that could occur in terrain renderers. More... | |
| class | TerrainDataRenderer |
| This class is the interface for a terrain renderer. More... | |
| class | TerrainDataType |
| This class defines the various types of terrain data supported by default in Delta3D. More... | |
| class | TerrainDecorationLayer |
| This class is a terrain decoration layer. More... | |
| class | VegetationException |
| Defines the exception used by the vegetation decorator. More... | |
| class | VegetationDecorator |
| This class is the vegetation decorator layer. More... | |
Functions | |
| bool | SimpleLineOfSight (dtTerrain::Terrain *terrain, const osg::Vec3 &pointOne, const osg::Vec3 &pointTwo) |
| Trivial Line Of Sight calcuator. | |
| IMPLEMENT_ENUM (DTEDTerrainReader::DTEDLevelEnum) | |
| IMPLEMENT_ENUM (GeoCoordinatesException) | |
| std::string | vec3dToString (const osg::Vec3d &pt) |
| std::string | vec3ToString (const osg::Vec3 &pt) |
| IMPLEMENT_ENUM (HeightFieldException) | |
| IMPLEMENT_ENUM (ImageUtilException) | |
| IMPLEMENT_ENUM (LCCAnalyzerException) | |
| IMPLEMENT_ENUM (LCCAnalyzerResourceName) | |
| IMPLEMENT_ENUM (PagedTerrainTileResourceName) | |
| IMPLEMENT_ENUM (PagedTerrainTileLoadState) | |
| IMPLEMENT_ENUM (SoarXCacheResourceName) | |
| IMPLEMENT_MANAGEMENT_LAYER (Terrain) | |
| IMPLEMENT_ENUM (TerrainException) | |
| IMPLEMENT_ENUM (TerrainDataReaderException) | |
| IMPLEMENT_ENUM (HeightFieldResizePolicy) | |
| IMPLEMENT_ENUM (TerrainRendererException) | |
| IMPLEMENT_ENUM (TerrainDataType) | |
| IMPLEMENT_ENUM (VegetationException) | |
Variables | |
| const std::string | COLOR_MAP_IMAGE_NAME = "colormap_decorator_image.rgb" |
| const int | I = (1 << 12) |
| const std::string | GEOTIFF_IMAGE_NAME = "geo_tiff_decorator_image.rgb" |
| const bool | BOTTOM = false |
| Constants used during the refinement process. | |
| const bool | SIDE = true |
| dtTerrain::IMPLEMENT_ENUM | ( | VegetationException | ) |
| dtTerrain::IMPLEMENT_ENUM | ( | TerrainDataType | ) |
| dtTerrain::IMPLEMENT_ENUM | ( | TerrainRendererException | ) |
| dtTerrain::IMPLEMENT_ENUM | ( | HeightFieldResizePolicy | ) |
| dtTerrain::IMPLEMENT_ENUM | ( | TerrainDataReaderException | ) |
| dtTerrain::IMPLEMENT_ENUM | ( | TerrainException | ) |
| dtTerrain::IMPLEMENT_ENUM | ( | SoarXCacheResourceName | ) |
| dtTerrain::IMPLEMENT_ENUM | ( | PagedTerrainTileLoadState | ) |
| dtTerrain::IMPLEMENT_ENUM | ( | PagedTerrainTileResourceName | ) |
| dtTerrain::IMPLEMENT_ENUM | ( | LCCAnalyzerResourceName | ) |
| dtTerrain::IMPLEMENT_ENUM | ( | LCCAnalyzerException | ) |
| dtTerrain::IMPLEMENT_ENUM | ( | ImageUtilException | ) |
| dtTerrain::IMPLEMENT_ENUM | ( | HeightFieldException | ) |
| dtTerrain::IMPLEMENT_ENUM | ( | GeoCoordinatesException | ) |
| dtTerrain::IMPLEMENT_ENUM | ( | DTEDTerrainReader::DTEDLevelEnum | ) |
| dtTerrain::IMPLEMENT_MANAGEMENT_LAYER | ( | Terrain | ) |
| bool dtTerrain::SimpleLineOfSight | ( | dtTerrain::Terrain * | terrain, | |
| const osg::Vec3 & | pointOne, | |||
| const osg::Vec3 & | pointTwo | |||
| ) |
Trivial Line Of Sight calcuator.
We basically walk along the ray between the two points, doing point sampling. This is brute force and not the most efficient means of doing this test, but this is the first implementation.
This routine ONLY checks visibility against ground terrain! We do not check test against other objects, such as buildings or other vehicles.
Sampling rate: our DTED data is sampled at about 30m resolution. Therefore we adjust the postSpacing to be smaller than that, and use that to step along the viewing ray.
This uses dtTerrain::GetHeight which uses the current Renderer this may be cause lots extra work, especially when called repeatedly might be better to do it directly on heightField of tile?
| terrain | Test the line of sight against this instance of Terrain. | |
| pointOne | The start point. | |
| pointTwo | The end point. |
| std::string dtTerrain::vec3dToString | ( | const osg::Vec3d & | pt | ) |
| std::string dtTerrain::vec3ToString | ( | const osg::Vec3 & | pt | ) |
| const bool dtTerrain::BOTTOM = false |
Constants used during the refinement process.
| const std::string dtTerrain::COLOR_MAP_IMAGE_NAME = "colormap_decorator_image.rgb" |
| const std::string dtTerrain::GEOTIFF_IMAGE_NAME = "geo_tiff_decorator_image.rgb" |
| const int dtTerrain::I = (1 << 12) |
| const bool dtTerrain::SIDE = true |