GeoTessCPP  2.0.0
Software to facilitate storage and retrieval of 3D information about the Earth.
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros
Public Member Functions | Protected Attributes
geotess::GeoTessHorizon Class Reference

#include <GeoTessHorizon.h>

Inheritance diagram for geotess::GeoTessHorizon:
geotess::GeoTessHorizonDepth geotess::GeoTessHorizonLayer geotess::GeoTessHorizonRadius

List of all members.

Public Member Functions

 GeoTessHorizon (const int &lyrIndex)
virtual ~GeoTessHorizon ()
virtual string class_name ()
virtual int getLayerIndex ()
virtual double getRadius (const double *position, GeoTessProfile **profiles)
virtual double getRadius (GeoTessPosition &position)
virtual double getValue ()
virtual string str ()

Protected Attributes

int layerIndex

Detailed Description

Horizon is an abstract class that represents a single "surface" within a model. This might be a surface of constant radius, constant depth, the top or bottom of a layer, etc. The surface can be constrained to a specified layer, or can cross layer boundaries. There are derived classes for each of these, HorizonRadius, HorizonDepth, and HorizonLayer. A Horizon class implements a single basic function, getRadius(). That method can take either a GeoTessPosition object or a vertex position and the 1D array of Profiles associated with that vertex.

Author:
sballar

Constructor & Destructor Documentation

geotess::GeoTessHorizon::GeoTessHorizon ( const int &  lyrIndex)
inline

Default constructor.

virtual geotess::GeoTessHorizon::~GeoTessHorizon ( )
inlinevirtual

Member Function Documentation

virtual string geotess::GeoTessHorizon::class_name ( )
inlinevirtual
virtual int geotess::GeoTessHorizon::getLayerIndex ( )
inlinevirtual

Retrieve the index of the layer that was specified at construction. If >= 0 and < the number of layers in the model then the radius of this Horizon object will be constrained to be within the radii of the top and bottom of this layer.

Returns:
layer index, or -1.
virtual double geotess::GeoTessHorizon::getRadius ( const double *  position,
GeoTessProfile **  profiles 
)
virtual

Return the radius of the Horizon at the specified geographic position and constrained by the specified array of Profiles, all of which are assumed to reside at the specified position.

Parameters:
positionthe unit vector representing the position where the radius is to be determined. This should correspond to the position of the supplied array of Profiles.
profilesa 1D array of profiles at the specified position. The number of elements must be equal to the number of layers in the model with the first layer being the deepest (closest to the center of the Earth) and the last layer being the shallowest (farthest from the center of the Earth).
Returns:
the radius of the Horizon at the specified position and perhaps constrained to reside in the specified layer. Units are km.

Reimplemented in geotess::GeoTessHorizonDepth, geotess::GeoTessHorizonRadius, and geotess::GeoTessHorizonLayer.

virtual double geotess::GeoTessHorizon::getRadius ( GeoTessPosition position)
virtual

Return the radius of the Horizon at the position of the specified GeoTessPosition object.

Parameters:
position
Returns:
the radius of the Horizon at the specified position and perhaps constrained to reside in the specified layer. Units are km.
Exceptions:
GeoTessException

Reimplemented in geotess::GeoTessHorizonDepth, geotess::GeoTessHorizonRadius, and geotess::GeoTessHorizonLayer.

virtual double geotess::GeoTessHorizon::getValue ( )
virtual

HorizonDepth objects return depth, HorizonRadius object return radius, and HorizonLayer object return fraction.

Reimplemented in geotess::GeoTessHorizonDepth, geotess::GeoTessHorizonRadius, and geotess::GeoTessHorizonLayer.

virtual string geotess::GeoTessHorizon::str ( )
virtual

Member Data Documentation

int geotess::GeoTessHorizon::layerIndex
protected

If layerIndex is >= 0 and < the number of layers represented in a model, then the returned radius will be constrained to be between the top and bottom of the specified layer. Otherwise, the radius will not be so constrained.


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