Inheritance diagram for code::CartesianGrid3D:
The origin is always located at a corner.
Time is constant across the grid.
Public Types | |
typedef T2 | Dim1Type |
typedef T3 | Dim2Type |
typedef T4 | Dim3Type |
typedef X | ValueType |
typedef std::map< std::string, SmartPtr< DataColumn > > | AttrMap |
key-value pairs that describe the data. | |
RadialSet | |
LatLonGrid | |
LatLonHeightGrid | |
CartesianGrid2D | |
Grid2D | |
DataTable | |
WindField | |
WindFieldLLGVolume | |
ElevationVolume | |
ContourData | |
Other | |
enum | Type { RadialSet, LatLonGrid, LatLonHeightGrid, CartesianGrid2D, Grid2D, DataTable, WindField, WindFieldLLGVolume, ElevationVolume, ContourData, Other } |
Public Member Functions | |
CartesianGrid3D (const SpaceTimeRef &, const Coord &, const Displacement &, const Displacement &, const Displacement &) | |
Build an uninitialized CartesianGrid3D. | |
CartesianGrid3D (const SpaceTimeRef &, const Coord &, const Length &, const Length &, const Length &) | |
Build an uninitialized CartesianGrid3D. | |
virtual void | invoke (Algorithm &) |
Have an Algorithm process this object. | |
const DimType & | getGridSpacing () const |
Return the grid spacing. | |
const Location & | getOrigin () const |
Return the Location of the origin. | |
const Time & | getTime () const |
Return the Time corresponding to this grid. | |
const Displacement & | getXAxis () const |
Return vector from origin to corner along first dimension. | |
const Displacement & | getYAxis () const |
Return vector from origin to corner along second dimension. | |
const Displacement & | getZAxis () const |
Return vector from origin to corner along third dimension. | |
virtual SpaceTimeRef | reference (size_t i, size_t j, size_t k) const |
Return the reference corresponding to the grid point offset (i,j,k). | |
virtual DimType | coord_value (size_t i, size_t j, size_t k) const |
Return the parametric displacement of grid point offset (i,j,k) from the origin (0,0,0). | |
const Coord & | size () const |
Return number of grid points along each dimension. | |
virtual | ~CartesianGrid3D () |
Call descendant's destructor. | |
virtual SpaceTimeRef | getSpaceTimeRef () const |
Returns the reference of the first element. | |
virtual double | getRawValue (const Location &, bool=false) const |
Gets raw value from data set. | |
Data3D | clone () const |
Creates a completely separate copy of the data. | |
const Data2D< T3, T4, X > & | operator[] (size_t i) const |
Data2D< T3, T4, X > & | operator[] (size_t i) |
X & | cell_ref (size_t i, size_t j, size_t k) |
Deprecated alternative to data3d[i][j][k]. | |
const X & | cell_ref (size_t i, size_t j, size_t k) const |
Deprecated alternative to data3d[i][j][k]. | |
void | set_val (size_t i, size_t j, size_t k, const X &value) |
Deprecated alternative to data3d[i][j][k]. | |
void | get_1d_bounds (size_t i, size_t j, const X *setme_begin, const X *setme_end) const |
void | replace_1d (size_t i, size_t j, const X *begin, const X *end) |
Overwrite a 1d of elements. | |
void | replace_1d (size_t i, size_t j, const std::vector< X > &v) |
Overwrite a 1d of elements. | |
void | replace (const X &old_value, const X &new_value) |
Replace any instance of old_value with new_value. | |
void | fill (const X &val) |
void | fill (const X &val, size_t i_begin, size_t i_end, size_t j_begin, size_t j_end, size_t k_begin, size_t k_end) |
Set the values in the table. | |
X | get_val (size_t i, size_t j, size_t k) const |
Return a copy of the specified element. | |
const std::vector< Data2D< T3, T4, X > > & | data () const |
Returns the internal vector of Data2D. | |
std::vector< Data2D< T3, T4, X > > & | data () |
Returns the internal vector of Data2D. | |
Datum< X > | data (size_t i, size_t j, size_t k) const |
Obtain the datum corresponding to the ith element. | |
size_t | size_d () const |
Returns the number of 2Ds in this Data3D. | |
size_t | size_d (size_t i) const |
Returns the number of 1Ds in the 2D in [i]. | |
size_t | size_d (size_t i, size_t j) const |
Returns the number of elements in the 1D in [i][j]. | |
std::string | getTypeClassName () const |
returns a string such as RadialSet, LatLonGrid, etc. | |
void | copyDataType (const DataType &dt) |
A convenience function provided for subclasses that implement clone() -- will copy into this data type all the attributes in the type dt. | |
const std::string & | getTypeName () const |
Return the TypeName of this DataType. | |
virtual short | getType () const |
Get enum type of this class. | |
void | setTypeName (const std::string &) |
Set the TypeName of this DataType. | |
SmartPtr< DataCell > | getAttributeValue (const std::string &key) const |
Return a single value associated with an attribute key corresponding to the function's argument. | |
bool | getAttributeValue (const std::string &key, std::string &setme) const |
Assign `setme' with the attribute corresponding to `key'. | |
bool | getAttributeValue (const std::string &key, double &setme) const |
Assign `setme' with the attribute corresponding to `key'. | |
void | setAttributeValue (const std::string &key, const std::string &value, const std::string &unit="dimensionless") |
Set a single-valued attribute that describes this DataType. | |
void | setAttributeValue (const std::string &key, double value, const std::string &unit="dimensionless", const std::string &format="%g") |
Set a single-valued attribute that describes this DataType. | |
void | setAttribute (const std::string &key, SmartPtr< DataColumn > value) |
Set a multiple-valued attribute that describes this DataType. | |
SmartPtr< DataColumn > | getAttribute (const std::string &key) const |
Get the attribute value for a particular key. | |
const AttrMap & | getAttributes () const |
Get the entire map of attributes available for this data type. | |
virtual TimeInterval | getExpiryInterval () const |
Return 15 minutes as the length of time for which this DataType is valid. | |
bool | hasQuality () const |
const DataType & | getQuality () const |
void | setQuality (SmartPtr< DataType > dt) |
void | clearAttributes () |
Public Attributes | |
InitSmartPtr< std::vector< Data2D< T3, T4, X > > > | vals |
The array of 2D types that is held. | |
Static Public Attributes | |
static const std::string | IsTableData |
static const std::string | Unit |
static const std::string | ColorMap |
static const std::string | ExpiryInterval |
Protected Member Functions | |
virtual void | deep_copy (const DataType &source) |
typedef std::map< std::string, SmartPtr<DataColumn> > code::DataType::AttrMap [inherited] |
key-value pairs that describe the data.
typedef T2 code::Data3D< T2, T3, T4, X >::Dim1Type [inherited] |
typedef T3 code::Data3D< T2, T3, T4, X >::Dim2Type [inherited] |
typedef T4 code::Data3D< T2, T3, T4, X >::Dim3Type [inherited] |
typedef X code::Data3D< T2, T3, T4, X >::ValueType [inherited] |
enum code::DataType::Type [inherited] |
code::CartesianGrid3D::CartesianGrid3D | ( | const SpaceTimeRef & | , | |
const Coord & | , | |||
const Displacement & | , | |||
const Displacement & | , | |||
const Displacement & | ||||
) |
Build an uninitialized CartesianGrid3D.
const_SpaceTimeRef& | Time for grid as a whole and Location of grid's origin corner. | |
const_Coord& | Number of grid points along each dimension. | |
const_Displacement& | Vector from origin to corner along first dimension (x-axis direction and length of side along x-direction). | |
const_Displacement& | Vector from origin to corner along second dimension (y-axis direction and length of side along y-direction). | |
const_Displacement& | Vector from origin to corner along third dimension (z-axis direction and length of side along z-direction). |
code::CartesianGrid3D::CartesianGrid3D | ( | const SpaceTimeRef & | , | |
const Coord & | , | |||
const Length & | , | |||
const Length & | , | |||
const Length & | ||||
) |
Build an uninitialized CartesianGrid3D.
Consider the SpaceTimeRef to be a point on the surface of a sphere centered at the center of the earth. The CartesianGrid3D constructed here will be tangent to that sphere at that point. The CartesianGrid3D will be oriented so that its x-axis points east at the tangent point and so that its y-axis points north at the tangent point. The z-axis will be perpendicular to the x-y plane and pointed away from the earth's center. The origin will be located at the southwest bottom corner.
const_SpaceTimeRef& | Time for grid as a whole and Location of grid's center. Note that this is the center of the grid in all three directions (x,y,z), so you may have to provide a height in the z-direction to avoid specifying a subterranean grid! | |
const_Coord& | Number of grid points along each dimension. | |
const_Length& | Size of grid along east-west direction at tangent point. | |
const_Length& | Size of grid along north-south direction at tangent point. | |
const_Length& | Size of grid along vertical direction at tangent point. |
virtual code::CartesianGrid3D::~CartesianGrid3D | ( | ) | [inline, virtual] |
Call descendant's destructor.
const X& code::Data3D< T2, T3, T4, X >::cell_ref | ( | size_t | i, | |
size_t | j, | |||
size_t | k | |||
) | const [inline, inherited] |
Deprecated alternative to data3d[i][j][k].
X& code::Data3D< T2, T3, T4, X >::cell_ref | ( | size_t | i, | |
size_t | j, | |||
size_t | k | |||
) | [inline, inherited] |
Deprecated alternative to data3d[i][j][k].
void code::DataType::clearAttributes | ( | ) | [inline, inherited] |
Data3D code::Data3D< T2, T3, T4, X >::clone | ( | ) | const [inline, inherited] |
Creates a completely separate copy of the data.
virtual DimType code::CartesianGrid3D::coord_value | ( | size_t | i, | |
size_t | j, | |||
size_t | k | |||
) | const [virtual] |
Return the parametric displacement of grid point offset (i,j,k) from the origin (0,0,0).
Implementation of virtual function in Data3D.
Reimplemented from code::Data3D< T2, T3, T4, X >.
void code::DataType::copyDataType | ( | const DataType & | dt | ) | [inherited] |
A convenience function provided for subclasses that implement clone() -- will copy into this data type all the attributes in the type dt.
Attributes with the same name will be over-written, other attributes will remain unchanged.
Datum<X> code::Data3D< T2, T3, T4, X >::data | ( | size_t | i, | |
size_t | j, | |||
size_t | k | |||
) | const [inline, inherited] |
Obtain the datum corresponding to the ith element.
std::vector< Data2D<T3,T4,X> >& code::Data3D< T2, T3, T4, X >::data | ( | ) | [inline, inherited] |
Returns the internal vector of Data2D.
Avoid using this if possible.
const std::vector< Data2D<T3,T4,X> >& code::Data3D< T2, T3, T4, X >::data | ( | ) | const [inline, inherited] |
Returns the internal vector of Data2D.
Avoid using this if possible.
virtual void code::DataType::deep_copy | ( | const DataType & | source | ) | [inline, protected, virtual, inherited] |
void code::Data3D< T2, T3, T4, X >::fill | ( | const X & | val, | |
size_t | i_begin, | |||
size_t | i_end, | |||
size_t | j_begin, | |||
size_t | j_end, | |||
size_t | k_begin, | |||
size_t | k_end | |||
) | [inline, inherited] |
Set the values in the table.
void code::Data3D< T2, T3, T4, X >::fill | ( | const X & | val | ) | [inline, inherited] |
void code::Data3D< T2, T3, T4, X >::get_1d_bounds | ( | size_t | i, | |
size_t | j, | |||
const X * | setme_begin, | |||
const X * | setme_end | |||
) | const [inline, inherited] |
X code::Data3D< T2, T3, T4, X >::get_val | ( | size_t | i, | |
size_t | j, | |||
size_t | k | |||
) | const [inline, inherited] |
Return a copy of the specified element.
SmartPtr< DataColumn > code::DataType::getAttribute | ( | const std::string & | key | ) | const [inherited] |
Get the attribute value for a particular key.
key | attribute key |
getAttributes() if you don't know the attribute key.
const AttrMap& code::DataType::getAttributes | ( | ) | const [inline, inherited] |
Get the entire map of attributes available for this data type.
getAttributeValue for a convenient get.
bool code::DataType::getAttributeValue | ( | const std::string & | key, | |
double & | setme | |||
) | const [inherited] |
Assign `setme' with the attribute corresponding to `key'.
bool code::DataType::getAttributeValue | ( | const std::string & | key, | |
std::string & | setme | |||
) | const [inherited] |
Assign `setme' with the attribute corresponding to `key'.
SmartPtr< DataCell > code::DataType::getAttributeValue | ( | const std::string & | key | ) | const [inherited] |
Return a single value associated with an attribute key corresponding to the function's argument.
If no such attribute key exists, then return the NULL SmartPtr. In case multiple values are associated with the key, only the first item is returned.
virtual TimeInterval code::DataType::getExpiryInterval | ( | ) | const [virtual, inherited] |
const DimType& code::CartesianGrid3D::getGridSpacing | ( | ) | const |
Return the grid spacing.
const DataType& code::DataType::getQuality | ( | ) | const [inline, inherited] |
virtual double code::CartesianGrid3D::getRawValue | ( | const Location & | , | |
bool | = false | |||
) | const [virtual] |
virtual SpaceTimeRef code::CartesianGrid3D::getSpaceTimeRef | ( | ) | const [virtual] |
virtual short code::DataType::getType | ( | ) | const [inline, virtual, inherited] |
Get enum type of this class.
Reimplemented in code::CartesianGrid2D, code::ContourData, code::DataTable, code::ElevationVolume, code::Grid2D, code::LatLonGrid, code::LatLonHeightGrid, code::PolarGrid, code::RadialSet, code::WindFieldLLGVolume, and code::WindFieldStruct< T >.
std::string code::DataType::getTypeClassName | ( | ) | const [inherited] |
returns a string such as RadialSet, LatLonGrid, etc.
See the enum Type for all the possible options. Subclasses need only to over-ride getType()
const std::string& code::DataType::getTypeName | ( | ) | const [inherited] |
const Displacement& code::CartesianGrid3D::getXAxis | ( | ) | const |
Return vector from origin to corner along first dimension.
const Displacement& code::CartesianGrid3D::getYAxis | ( | ) | const |
Return vector from origin to corner along second dimension.
const Displacement& code::CartesianGrid3D::getZAxis | ( | ) | const |
Return vector from origin to corner along third dimension.
bool code::DataType::hasQuality | ( | ) | const [inline, inherited] |
virtual void code::CartesianGrid3D::invoke | ( | Algorithm & | ) | [virtual] |
Data2D<T3,T4,X>& code::Data3D< T2, T3, T4, X >::operator[] | ( | size_t | i | ) | [inline, inherited] |
const Data2D<T3,T4,X>& code::Data3D< T2, T3, T4, X >::operator[] | ( | size_t | i | ) | const [inline, inherited] |
virtual SpaceTimeRef code::CartesianGrid3D::reference | ( | size_t | i, | |
size_t | j, | |||
size_t | k | |||
) | const [virtual] |
Return the reference corresponding to the grid point offset (i,j,k).
Implementation of virtual function in Data3D.
Reimplemented from code::Data3D< T2, T3, T4, X >.
void code::Data3D< T2, T3, T4, X >::replace | ( | const X & | old_value, | |
const X & | new_value | |||
) | [inline, inherited] |
Replace any instance of old_value with new_value.
void code::Data3D< T2, T3, T4, X >::replace_1d | ( | size_t | i, | |
size_t | j, | |||
const std::vector< X > & | v | |||
) | [inline, inherited] |
Overwrite a 1d of elements.
The number of old and new elements must match.
void code::Data3D< T2, T3, T4, X >::replace_1d | ( | size_t | i, | |
size_t | j, | |||
const X * | begin, | |||
const X * | end | |||
) | [inline, inherited] |
Overwrite a 1d of elements.
The number of old and new elements must match.
void code::Data3D< T2, T3, T4, X >::set_val | ( | size_t | i, | |
size_t | j, | |||
size_t | k, | |||
const X & | value | |||
) | [inline, inherited] |
Deprecated alternative to data3d[i][j][k].
void code::DataType::setAttribute | ( | const std::string & | key, | |
SmartPtr< DataColumn > | value | |||
) | [inherited] |
Set a multiple-valued attribute that describes this DataType.
If value is 0 (i.e. invalid), this attribute will be removed from the map.
void code::DataType::setAttributeValue | ( | const std::string & | key, | |
double | value, | |||
const std::string & | unit = "dimensionless" , |
|||
const std::string & | format = "%g" | |||
) | [inherited] |
Set a single-valued attribute that describes this DataType.
This is a convenience function that allows you to set a dimensionless number as the value of an attribute.
If the attribute key does not already exist, then it will be constructed.
void code::DataType::setAttributeValue | ( | const std::string & | key, | |
const std::string & | value, | |||
const std::string & | unit = "dimensionless" | |||
) | [inherited] |
Set a single-valued attribute that describes this DataType.
This is a convenience function that allows you to set a text string as the value of an attribute.
If the attribute key does not already exist, then it will be constructed. The empty string may NOT be used as a value for the attribute; this function will return immediately if the value is the empty string.
void code::DataType::setTypeName | ( | const std::string & | ) | [inherited] |
const Coord& code::CartesianGrid3D::size | ( | ) | const |
Return number of grid points along each dimension.
Reimplemented from code::Data3D< T2, T3, T4, X >.
size_t code::Data3D< T2, T3, T4, X >::size_d | ( | size_t | i, | |
size_t | j | |||
) | const [inline, inherited] |
Returns the number of elements in the 1D in [i][j].
size_t code::Data3D< T2, T3, T4, X >::size_d | ( | size_t | i | ) | const [inline, inherited] |
Returns the number of 1Ds in the 2D in [i].
size_t code::Data3D< T2, T3, T4, X >::size_d | ( | ) | const [inline, inherited] |
Returns the number of 2Ds in this Data3D.
const std::string code::DataType::ColorMap [static, inherited] |
const std::string code::DataType::ExpiryInterval [static, inherited] |
const std::string code::DataType::IsTableData [static, inherited] |
const std::string code::DataType::Unit [static, inherited] |
InitSmartPtr< std::vector< Data2D<T3,T4,X> > > code::Data3D< T2, T3, T4, X >::vals [inherited] |
The array of 2D types that is held.
Use [] to dereference ...