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

An abstract class that represents a single "surface" within a model. More...

#include <GeoTessHorizon.h>

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

Public Member Functions

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

Protected Attributes

int layerIndex
 

Detailed Description

An abstract class that represents a single "surface" within a model.

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

Definition at line 79 of file GeoTessHorizon.h.

Constructor & Destructor Documentation

◆ GeoTessHorizon()

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

Default constructor.

Definition at line 100 of file GeoTessHorizon.h.

◆ ~GeoTessHorizon()

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

Definition at line 102 of file GeoTessHorizon.h.

Member Function Documentation

◆ class_name()

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

◆ getLayerIndex()

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.

Definition at line 146 of file GeoTessHorizon.h.

◆ getRadius() [1/2]

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::GeoTessHorizonRadius, geotess::GeoTessHorizonLayer, and geotess::GeoTessHorizonDepth.

◆ getRadius() [2/2]

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::GeoTessHorizonRadius, geotess::GeoTessHorizonLayer, and geotess::GeoTessHorizonDepth.

◆ getValue()

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

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

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

◆ str()

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

Member Data Documentation

◆ layerIndex

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.

Definition at line 92 of file GeoTessHorizon.h.


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