GeoTessCPP: geotess::GeoTessProfileNPoint Class Reference

GeoTessCPP 2.2.3 Software to facilitate storage and retrieval of 3D information about the Earth.

Public Member Functions | Static Public Member Functions | List of all members
geotess::GeoTessProfileNPoint Class Reference

A Profile object consisting of N monotonically increasing radii that span the radial extent of a layer, and an equal number of Data objects that define the model values at the corresponding positions. More...

`#include <GeoTessProfileNPoint.h>`

Inheritance diagram for geotess::GeoTessProfileNPoint:

## Public Member Functions
| GeoTessProfileNPoint (float *r, GeoTessData **dat, int size)
| GeoTessProfileNPoint (const vector< float > &r, vector< GeoTessData * > &d)
| GeoTessProfileNPoint (float *rad, const vector< GeoTessData * > &dat)
virtual int | class_size () const
virtual LONG_INT | getMemory ()
virtual const GeoTessProfileType & | getType () const
virtual bool | operator== (const GeoTessProfile &p) const
bool | isNaN (int nodeIndex, int attributeIndex)
virtual float | getRadius (int i) const
virtual int | getNRadii () const
virtual int | getNData () const
virtual float * | getRadii ()
virtual GeoTessData ** | getData ()
virtual GeoTessData * | getData (int i)
virtual const GeoTessData & | getData (int i) const
virtual void | setData (const vector< GeoTessData * > &inData)
virtual void | setRadii (const vector< float > &newRadii)
virtual void | setRadius (int index, float radius)
virtual void | setData (int index, GeoTessData *inData)
virtual float | getRadiusTop () const
virtual const GeoTessData & | getDataTop () const
virtual GeoTessData * | getDataTop ()
virtual float | getRadiusBottom () const
virtual const GeoTessData & | getDataBottom () const
virtual GeoTessData * | getDataBottom ()
virtual double | getValue (int attributeIndex, int radiusIndex) const
virtual double | getValueTop (int attributeIndex) const
virtual double | getInterpolationCoefficient (int index, double radius) const
virtual double | getValue (const GeoTessInterpolatorType &radialType, int attributeIndex, double radius, bool allowRadiusOutOfRange) const
virtual int | getRadiusIndex (double radius, int jlo) const
virtual double | getInterpolationCoefficient (int index, double radius, bool allowOutOfRange) const
Public Member Functions inherited from geotess::GeoTessProfile
double | getValue (const vector< int > &nodeIds, const vector< double > &coefficients, int attributeIndex) const
virtual double | getValueBottom (int attributeIndex) const
double | getThickness ()
int | getRadiusIndex (double radius) const
virtual int | getPointIndex (int nodeIndex) const
virtual int | findClosestRadiusIndex (double radius) const

## Static Public Member Functions
static string | class_name ()
Static Public Member Functions inherited from geotess::GeoTessProfile
static GeoTessProfile * | newProfile (const vector< float > &radii, vector< GeoTessData * > &data)
static GeoTessProfile * | newProfile (const vector< float > &radii, vector< vector< double > > &data)
static GeoTessProfile * | newProfile (const vector< float > &radii, vector< vector< float > > &data)
static GeoTessProfile * | newProfile (const vector< float > &radii, vector< vector< LONG_INT > > &data)
static GeoTessProfile * | newProfile (const vector< float > &radii, vector< vector< int > > &data)
static GeoTessProfile * | newProfile (const vector< float > &radii, vector< vector< short > > &data)
static GeoTessProfile * | newProfile (const vector< float > &radii, vector< vector< byte > > &data)
static GeoTessProfile * | newProfile (float *radii, const int &nRadii, GeoTessData **data, const int &nData)
static GeoTessProfile * | newProfile (float *radii, const int &nRadii, double **values, const int &nNodes, const int &nAttributes)
static GeoTessProfile * | newProfile (float *radii, const int &nRadii, float **values, const int &nNodes, const int &nAttributes)
static GeoTessProfile * | newProfile (float *radii, const int &nRadii, LONG_INT **values, const int &nNodes, const int &nAttributes)
static GeoTessProfile * | newProfile (float *radii, const int &nRadii, int **values, const int &nNodes, const int &nAttributes)
static GeoTessProfile * | newProfile (float *radii, const int &nRadii, short **values, const int &nNodes, const int &nAttributes)
static GeoTessProfile * | newProfile (float *radii, const int &nRadii, byte **values, const int &nNodes, const int &nAttributes)
static string | class_name ()
static int | class_count ()

## Detailed Description

A Profile object consisting of N monotonically increasing radii that span the radial extent of a layer, and an equal number of Data objects that define the model values at the corresponding positions.

A Profile object that defines N monotonically increasing radii that span the radial extent of a layer, and an equal number of Data objects that define the model values at the corresponding positions.

Definition at line 82 of file GeoTessProfileNPoint.h.

## Constructor & Destructor Documentation

## ◆ GeoTessProfileNPoint() [1/3]

geotess::GeoTessProfileNPoint::GeoTessProfileNPoint | ( | float * | r,
|  | GeoTessData ** | dat,
|  | int | size
| ) |  |
| inline

Standard constructor. Input radii and data values are copied from the input variables into the new Profile object. For the Data** array, a shallow copy is made. In other words, this method instantiates a new Data** and copies the Data* pointers into it. No copies are made of the Data objects.

Parameters

  r | an array of radius values, in km
  dat | an array of pointers to Data objects.
  size | number of elements in radii and dat.

Definition at line 152 of file GeoTessProfileNPoint.h.

## ◆ GeoTessProfileNPoint() [2/3]

geotess::GeoTessProfileNPoint::GeoTessProfileNPoint | ( | const vector< float > & | r,
|  | vector< GeoTessData * > & | d
| ) |  |
| inline

Standard constructor. Input radii and data values are copied from the input variables into the new Profile object. For vector<Data*>, a shallow copy is made. In other words, this method instantiates a new Data** and copies the Data* pointers into it. No copies are made of the Data objects.

Parameters

  r | an array of radius values, in km
  d | an array of pointers to Data objects.

Definition at line 187 of file GeoTessProfileNPoint.h.

## ◆ GeoTessProfileNPoint() [3/3]

geotess::GeoTessProfileNPoint::GeoTessProfileNPoint | ( | float * | rad,
|  | const vector< GeoTessData * > & | dat
| ) |  |

Standard constructor. Input radii and data values are copied from the input variables into the new Profile object.

## Member Function Documentation

## ◆ class_name()

static string geotess::GeoTessProfileNPoint::class_name | ( |  | ) |
| inlinestatic

Returns the class name.

Definition at line 232 of file GeoTessProfileNPoint.h.

## ◆ class_size()

virtual int geotess::GeoTessProfileNPoint::class_size | ( |  | ) | const
| inlinevirtual

Returns the class size.

Reimplemented from geotess::GeoTessProfile.

Definition at line 237 of file GeoTessProfileNPoint.h.

## ◆ getData() [1/3]

virtual GeoTessData** geotess::GeoTessProfileNPoint::getData | ( |  | ) |
| inlinevirtual

Retrieve a shallow copy of the array of Data objects associated with this Profile. Caller assumes ownership of the array, but not the contents, and must delete the array when done with it.

Reimplemented from geotess::GeoTessProfile.

Definition at line 329 of file GeoTessProfileNPoint.h.

## ◆ getData() [2/3]

virtual GeoTessData* geotess::GeoTessProfileNPoint::getData | ( | int | i | ) |
| inlinevirtual

Retrieve a reference the i'th Data object

Reimplemented from geotess::GeoTessProfile.

Definition at line 340 of file GeoTessProfileNPoint.h.

## ◆ getData() [3/3]

virtual const GeoTessData& geotess::GeoTessProfileNPoint::getData | ( | int | i | ) | const
| inlinevirtual

Retrieve a reference the i'th Data object

Reimplemented from geotess::GeoTessProfile.

Definition at line 345 of file GeoTessProfileNPoint.h.

## ◆ getDataBottom() [1/2]

virtual GeoTessData* geotess::GeoTessProfileNPoint::getDataBottom | ( |  | ) |
| inlinevirtual

Get the Data object at the bottom of the profile.

Reimplemented from geotess::GeoTessProfile.

Definition at line 395 of file GeoTessProfileNPoint.h.

## ◆ getDataBottom() [2/2]

virtual const GeoTessData& geotess::GeoTessProfileNPoint::getDataBottom | ( |  | ) | const
| inlinevirtual

Get the Data object at the bottom of the profile.

Reimplemented from geotess::GeoTessProfile.

Definition at line 390 of file GeoTessProfileNPoint.h.

## ◆ getDataTop() [1/2]

virtual GeoTessData* geotess::GeoTessProfileNPoint::getDataTop | ( |  | ) |
| inlinevirtual

Get the Data object at the top of the profile.

Reimplemented from geotess::GeoTessProfile.

Definition at line 380 of file GeoTessProfileNPoint.h.

## ◆ getDataTop() [2/2]

virtual const GeoTessData& geotess::GeoTessProfileNPoint::getDataTop | ( |  | ) | const
| inlinevirtual

Get the Data object at the top of the profile.

Reimplemented from geotess::GeoTessProfile.

Definition at line 375 of file GeoTessProfileNPoint.h.

## ◆ getInterpolationCoefficient() [1/2]

double geotess::GeoTessProfileNPoint::getInterpolationCoefficient | ( | int | index,
|  | double | radius
| ) |  | const
| inlinevirtual

Finds interpolation coefficient at the iput radius constrained to lie between radii[index] and radii[index + 1].

Finds interpolation coefficient at the iput radius constrained to lie between radii[index] and radii[index + 1].

Parameters

  index | The index in r such that radius is between r[index] and r[index+1].
  radius | The radius whose interpolation coefficient is desired.

Returns
  c[index], the interpolation coefficient to be applied at r[index]. The interpolation coefficient for r[index+1] is 1-c[index].

Definition at line 651 of file GeoTessProfileNPoint.h.

## ◆ getInterpolationCoefficient() [2/2]

virtual double geotess::GeoTessProfileNPoint::getInterpolationCoefficient | ( | int | index,
|  | double | radius,
|  | bool | allowOutOfRange
| ) |  | const
| virtual

find interpolation coefficient using linear interpolation.

Reimplemented from geotess::GeoTessProfile.

## ◆ getMemory()

virtual LONG_INT geotess::GeoTessProfileNPoint::getMemory | ( |  | ) |
| inlinevirtual

Reimplemented from geotess::GeoTessProfile.

Definition at line 240 of file GeoTessProfileNPoint.h.

## ◆ getNData()

virtual int geotess::GeoTessProfileNPoint::getNData | ( |  | ) | const
| inlinevirtual

Get the number of Data objects that comprise this profile.

Reimplemented from geotess::GeoTessProfile.

Definition at line 311 of file GeoTessProfileNPoint.h.

## ◆ getNRadii()

virtual int geotess::GeoTessProfileNPoint::getNRadii | ( |  | ) | const
| inlinevirtual

Get the number of radii that comprise this profile.

Reimplemented from geotess::GeoTessProfile.

Definition at line 306 of file GeoTessProfileNPoint.h.

## ◆ getRadii()

virtual float* geotess::GeoTessProfileNPoint::getRadii | ( |  | ) |
| inlinevirtual

Retrieve a copy of the array of radii values in km. Caller assumes ownership of the array and must delete it when done with it.

Reimplemented from geotess::GeoTessProfile.

Definition at line 317 of file GeoTessProfileNPoint.h.

## ◆ getRadius()

virtual float geotess::GeoTessProfileNPoint::getRadius | ( | int | i | ) | const
| inlinevirtual

Get the i'th radius value in this profile in km. Radii are in order of increasing radius.

Reimplemented from geotess::GeoTessProfile.

Definition at line 301 of file GeoTessProfileNPoint.h.

## ◆ getRadiusBottom()

virtual float geotess::GeoTessProfileNPoint::getRadiusBottom | ( |  | ) | const
| inlinevirtual

Get the radius at the bottom of the profile, in km.

Reimplemented from geotess::GeoTessProfile.

Definition at line 385 of file GeoTessProfileNPoint.h.

## ◆ getRadiusIndex()

virtual int geotess::GeoTessProfileNPoint::getRadiusIndex | ( | double | radius,
|  | int | jlo
| ) |  | const
| virtual

Find index i such that x is >= xx[i] and < xx[i+1]. If x < xx[1] returns 0. If x >= xx[xx.length-2] return xx.length-2.

Reimplemented from geotess::GeoTessProfile.

## ◆ getRadiusTop()

virtual float geotess::GeoTessProfileNPoint::getRadiusTop | ( |  | ) | const
| inlinevirtual

Get the radius at the top of the profile, in km.

Reimplemented from geotess::GeoTessProfile.

Definition at line 370 of file GeoTessProfileNPoint.h.

## ◆ getType()

virtual const GeoTessProfileType& geotess::GeoTessProfileNPoint::getType | ( |  | ) | const
| inlinevirtual

Returns ProfileType (NPOINT).

Returns
  ProfileType (NPOINT).

Reimplemented from geotess::GeoTessProfile.

Definition at line 267 of file GeoTessProfileNPoint.h.

## ◆ getValue() [1/2]

double geotess::GeoTessProfileNPoint::getValue | ( | const GeoTessInterpolatorType & | radialType,
|  | int | attributeIndex,
|  | double | radius,
|  | bool | allowRadiusOutOfRange
| ) |  | const
| inlinevirtual

Retrieve the value of the specified attribute interpolated at the specified radius.

Retrieve the value of the specified attribute interpolated at the specified radius.

Parameters

  radialType | the interpolator type, either InterpolatorType::LINEAR or InterpolatorType::CUBIC_SPLINE.
  attributeIndex |
  radius |
  allowRadiusOutOfRange | if false and radius is out of range, returns NaN_DOUBLE

Returns
  double

Exceptions

  GeoTessException |

Reimplemented from geotess::GeoTessProfile.

Definition at line 670 of file GeoTessProfileNPoint.h.

## ◆ getValue() [2/2]

virtual double geotess::GeoTessProfileNPoint::getValue | ( | int | attributeIndex,
|  | int | radiusIndex
| ) |  | const
| inlinevirtual

Retrieve the value of the specified attributes at the specified radius index.

Reimplemented from geotess::GeoTessProfile.

Definition at line 402 of file GeoTessProfileNPoint.h.

## ◆ getValueTop()

virtual double geotess::GeoTessProfileNPoint::getValueTop | ( | int | attributeIndex | ) | const
| inlinevirtual

Retrieve the value of the specified attribute at the top of the layer.

Parameters

  attributeIndex |

Returns
  double

Reimplemented from geotess::GeoTessProfile.

Definition at line 411 of file GeoTessProfileNPoint.h.

## ◆ isNaN()

bool geotess::GeoTessProfileNPoint::isNaN | ( | int | nodeIndex,
|  | int | attributeIndex
| ) |  |
| inlinevirtual

Return true if the specified Data value is NaN.

Parameters

  nodeIndex |
  attributeIndex |

Returns
  true if the specified Data value is NaN.

Reimplemented from geotess::GeoTessProfile.

Definition at line 294 of file GeoTessProfileNPoint.h.

## ◆ operator==()

virtual bool geotess::GeoTessProfileNPoint::operator== | ( | const GeoTessProfile & | p | ) | const
| inlinevirtual

Return true if the input Profile object (p) equals this Profile object.

Reimplemented from geotess::GeoTessProfile.

Definition at line 273 of file GeoTessProfileNPoint.h.

## ◆ setData() [1/2]

virtual void geotess::GeoTessProfileNPoint::setData | ( | const vector< GeoTessData * > & | inData | ) |
| virtual

Resets the data object to the new input data

Reimplemented from geotess::GeoTessProfile.

## ◆ setData() [2/2]

virtual void geotess::GeoTessProfileNPoint::setData | ( | int | index,
|  | GeoTessData * | inData
| ) |  |
| inlinevirtual

Resets the data object to the new input data

Reimplemented from geotess::GeoTessProfile.

Definition at line 364 of file GeoTessProfileNPoint.h.

## ◆ setRadii()

virtual void geotess::GeoTessProfileNPoint::setRadii | ( | const vector< float > & | newRadii | ) |
| inlinevirtual

Replace the radii currently associated with this Profile with new values.

Reimplemented from geotess::GeoTessProfile.

Definition at line 355 of file GeoTessProfileNPoint.h.

## ◆ setRadius()

virtual void geotess::GeoTessProfileNPoint::setRadius | ( | int | index,
|  | float | radius
| ) |  |
| inlinevirtual

Replace the radius at the specified nodeIndex.

Reimplemented from geotess::GeoTessProfile.

Definition at line 358 of file GeoTessProfileNPoint.h.

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

- rstt/GeoTessCPP/include/GeoTessProfileNPoint.h