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

#include <GeoTessProfileNPoint.h>

Inheritance diagram for geotess::GeoTessProfileNPoint:
geotess::GeoTessProfile

List of all members.

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 GeoTessData ** getData ()
virtual GeoTessDatagetData (int i)
virtual const GeoTessDatagetData (int i) const
virtual const GeoTessDatagetDataBottom () const
virtual GeoTessDatagetDataBottom ()
virtual const GeoTessDatagetDataTop () const
virtual GeoTessDatagetDataTop ()
virtual double getInterpolationCoefficient (int index, double radius) const
virtual double getInterpolationCoefficient (int index, double radius, bool allowOutOfRange) const
virtual int getNData () const
virtual int getNRadii () const
virtual float * getRadii ()
virtual float getRadius (int i) const
virtual float getRadiusBottom () const
virtual int getRadiusIndex (double radius, int jlo) const
virtual float getRadiusTop () const
virtual const GeoTessProfileTypegetType () const
virtual double getValue (int attributeIndex, int radiusIndex) const
virtual double getValue (const GeoTessInterpolatorType &radialType, int attributeIndex, double radius, bool allowRadiusOutOfRange) const
virtual double getValueTop (int attributeIndex) const
bool isNaN (int nodeIndex, int attributeIndex)
virtual bool operator== (const GeoTessProfile &p) const
virtual void setData (const vector< GeoTessData * > &inData)
virtual void setData (int index, GeoTessData *inData)
virtual void setRadii (const vector< float > &newRadii)

Static Public Member Functions

static string class_name ()

Detailed Description

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.


Constructor & Destructor Documentation

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:
ran array of radius values, in km
datan array of pointers to Data objects.
sizenumber of elements in radii and dat.
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:
ran array of radius values, in km
dan array of pointers to Data objects.
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

static string geotess::GeoTessProfileNPoint::class_name ( ) [inline, static]

Returns the class name.

Reimplemented from geotess::GeoTessProfile.

virtual int geotess::GeoTessProfileNPoint::class_size ( ) const [inline, virtual]

Returns the class size.

Reimplemented from geotess::GeoTessProfile.

virtual GeoTessData** geotess::GeoTessProfileNPoint::getData ( ) [inline, virtual]

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.

virtual GeoTessData* geotess::GeoTessProfileNPoint::getData ( int  i) [inline, virtual]

Retrieve a reference the i'th Data object

Reimplemented from geotess::GeoTessProfile.

virtual const GeoTessData& geotess::GeoTessProfileNPoint::getData ( int  i) const [inline, virtual]

Retrieve a reference the i'th Data object

Reimplemented from geotess::GeoTessProfile.

virtual const GeoTessData& geotess::GeoTessProfileNPoint::getDataBottom ( ) const [inline, virtual]

Get the Data object at the bottom of the profile.

Reimplemented from geotess::GeoTessProfile.

Get the Data object at the bottom of the profile.

Reimplemented from geotess::GeoTessProfile.

virtual const GeoTessData& geotess::GeoTessProfileNPoint::getDataTop ( ) const [inline, virtual]

Get the Data object at the top of the profile.

Reimplemented from geotess::GeoTessProfile.

Get the Data object at the top of the profile.

Reimplemented from geotess::GeoTessProfile.

double geotess::GeoTessProfileNPoint::getInterpolationCoefficient ( int  index,
double  radius 
) const [inline, virtual]

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:
indexThe index in r such that radius is between r[index] and r[index+1].
radiusThe 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].
virtual double geotess::GeoTessProfileNPoint::getInterpolationCoefficient ( int  index,
double  radius,
bool  allowOutOfRange 
) const [virtual]

find interpolation coefficient using linear interpolation.

Reimplemented from geotess::GeoTessProfile.

virtual int geotess::GeoTessProfileNPoint::getNData ( ) const [inline, virtual]

Get the number of Data objects that comprise this profile.

Reimplemented from geotess::GeoTessProfile.

virtual int geotess::GeoTessProfileNPoint::getNRadii ( ) const [inline, virtual]

Get the number of radii that comprise this profile.

Reimplemented from geotess::GeoTessProfile.

virtual float* geotess::GeoTessProfileNPoint::getRadii ( ) [inline, virtual]

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.

virtual float geotess::GeoTessProfileNPoint::getRadius ( int  i) const [inline, virtual]

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

Reimplemented from geotess::GeoTessProfile.

virtual float geotess::GeoTessProfileNPoint::getRadiusBottom ( ) const [inline, virtual]

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

Reimplemented from geotess::GeoTessProfile.

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.

virtual float geotess::GeoTessProfileNPoint::getRadiusTop ( ) const [inline, virtual]

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

Reimplemented from geotess::GeoTessProfile.

virtual const GeoTessProfileType& geotess::GeoTessProfileNPoint::getType ( ) const [inline, virtual]

Returns ProfileType (NPOINT).

Returns:
ProfileType (NPOINT).

Reimplemented from geotess::GeoTessProfile.

virtual double geotess::GeoTessProfileNPoint::getValue ( int  attributeIndex,
int  radiusIndex 
) const [inline, virtual]

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

Reimplemented from geotess::GeoTessProfile.

double geotess::GeoTessProfileNPoint::getValue ( const GeoTessInterpolatorType radialType,
int  attributeIndex,
double  radius,
bool  allowRadiusOutOfRange 
) const [inline, virtual]

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:
radialTypethe interpolator type, either InterpolatorType::LINEAR or InterpolatorType::CUBIC_SPLINE.
attributeIndex
radius
allowRadiusOutOfRangeif false and radius is out of range, returns NaN_DOUBLE
Returns:
double
Exceptions:
GeoTessException

Reimplemented from geotess::GeoTessProfile.

virtual double geotess::GeoTessProfileNPoint::getValueTop ( int  attributeIndex) const [inline, virtual]

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

Parameters:
attributeIndex
Returns:
double

Reimplemented from geotess::GeoTessProfile.

bool geotess::GeoTessProfileNPoint::isNaN ( int  nodeIndex,
int  attributeIndex 
) [inline, virtual]

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.

virtual bool geotess::GeoTessProfileNPoint::operator== ( const GeoTessProfile p) const [inline, virtual]

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

Reimplemented from geotess::GeoTessProfile.

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

Resets the data object to the new input data

Reimplemented from geotess::GeoTessProfile.

virtual void geotess::GeoTessProfileNPoint::setData ( int  index,
GeoTessData inData 
) [inline, virtual]

Resets the data object to the new input data

Reimplemented from geotess::GeoTessProfile.

virtual void geotess::GeoTessProfileNPoint::setRadii ( const vector< float > &  newRadii) [inline, virtual]

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

Reimplemented from geotess::GeoTessProfile.


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