Inheritance diagram for code::Data3D< T2, T3, T4, X >:
Use [][][] to dereference X.
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 | |
Data3D () | |
Constructs an empty array of values. | |
Data3D (size_t size2, size_t size3, size_t size4) | |
Constructs the object of requested size and fills its with the default constructor X() values. | |
Data3D (SmartPtr< std::vector< Data2D< T3, T4, X > > > new_val) | |
Constructor with already existing values. | |
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. | |
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]. | |
size_t | size () const |
number of 2D slices. | |
Datum< X > | data (size_t i, size_t j, size_t k) const |
Obtain the datum corresponding to the ith element. | |
virtual SpaceTimeRef | getSpaceTimeRef () const |
Returns the reference of the first element. | |
virtual SpaceTimeRef | reference (size_t i, size_t j, size_t k) const |
Obtain the reference of i,j,kth element. | |
virtual DimType | coord_value (size_t i, size_t j, size_t k) const |
Returns the relative position of the element wrt to the first. | |
virtual | ~Data3D () |
This class is meant to be subclassed. | |
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 void | invoke (Algorithm &) |
Report an error, and halt execution because this function MUST be overridden in every descendant of DataType. | |
virtual double | getRawValue (const Location &, bool=false) const |
Gets raw value from data set. | |
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) |
Classes | |
class | Coord |
A coordinate for Data3D. More... | |
class | DimType |
A Dimension type for Data2D, e.g. More... |
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 |
typedef T3 code::Data3D< T2, T3, T4, X >::Dim2Type |
typedef T4 code::Data3D< T2, T3, T4, X >::Dim3Type |
typedef X code::Data3D< T2, T3, T4, X >::ValueType |
enum code::DataType::Type [inherited] |
code::Data3D< T2, T3, T4, X >::Data3D | ( | ) | [inline] |
Constructs an empty array of values.
Use push_back() to fill this in.
code::Data3D< T2, T3, T4, X >::Data3D | ( | size_t | size2, | |
size_t | size3, | |||
size_t | size4 | |||
) | [inline] |
Constructs the object of requested size and fills its with the default constructor X() values.
code::Data3D< T2, T3, T4, X >::Data3D | ( | SmartPtr< std::vector< Data2D< T3, T4, X > > > | new_val | ) | [inline] |
Constructor with already existing values.
virtual code::Data3D< T2, T3, T4, X >::~Data3D | ( | ) | [inline, virtual] |
This class is meant to be subclassed.
const X& code::Data3D< T2, T3, T4, X >::cell_ref | ( | size_t | i, | |
size_t | j, | |||
size_t | k | |||
) | const [inline] |
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] |
Deprecated alternative to data3d[i][j][k].
void code::DataType::clearAttributes | ( | ) | [inline, inherited] |
Data3D code::Data3D< T2, T3, T4, X >::clone | ( | ) | const [inline] |
Creates a completely separate copy of the data.
virtual DimType code::Data3D< T2, T3, T4, X >::coord_value | ( | size_t | i, | |
size_t | j, | |||
size_t | k | |||
) | const [inline, virtual] |
Returns the relative position of the element wrt to the first.
Reimplemented in code::CartesianGrid3D, and code::LatLonHeightGrid.
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] |
Obtain the datum corresponding to the ith element.
std::vector< Data2D<T3,T4,X> >& code::Data3D< T2, T3, T4, X >::data | ( | ) | [inline] |
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] |
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] |
Set the values in the table.
void code::Data3D< T2, T3, T4, X >::fill | ( | const X & | val | ) | [inline] |
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] |
X code::Data3D< T2, T3, T4, X >::get_val | ( | size_t | i, | |
size_t | j, | |||
size_t | k | |||
) | const [inline] |
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 DataType& code::DataType::getQuality | ( | ) | const [inline, inherited] |
virtual double code::DataType::getRawValue | ( | const Location & | , | |
bool | = false | |||
) | const [inline, virtual, inherited] |
Gets raw value from data set.
Reimplemented in code::CartesianGrid2D, code::CartesianGrid3D, code::ElevationVolume, code::LatLonGrid, code::LatLonHeightGrid, code::RadialSet, code::SparseGrid, and code::WindFieldLLGVolume.
virtual SpaceTimeRef code::Data3D< T2, T3, T4, X >::getSpaceTimeRef | ( | ) | const [inline, virtual] |
Returns the reference of the first element.
Implements code::DataType.
Reimplemented in code::CartesianGrid3D.
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] |
bool code::DataType::hasQuality | ( | ) | const [inline, inherited] |
virtual void code::DataType::invoke | ( | Algorithm & | ) | [virtual, inherited] |
Report an error, and halt execution because this function MUST be overridden in every descendant of DataType.
The descendant's implementation should pass this or *this, as is appropriate, into the argument's process() member.
Reimplemented in code::BasicIcon, code::AlgTrackStruct, code::LtgoIconStruct, code::MesoIconStruct, code::BwerIconStruct, code::CartesianGrid2D, code::CartesianGrid3D, code::SingleContourData, code::ContourData, code::DataTable, code::DEM, code::Datum< X >, code::Collection< X >, code::ElevationVolume, code::FieldArrowStruct, code::Grid2D, code::IconData, code::LatLonGrid, code::LatLonHeightGrid, code::PolarGrid, code::Radial, code::RadialSet, code::WindFieldStruct< T >, code::Collection< code::Radial >, and code::Collection< code::SingleContourData >.
Data2D<T3,T4,X>& code::Data3D< T2, T3, T4, X >::operator[] | ( | size_t | i | ) | [inline] |
const Data2D<T3,T4,X>& code::Data3D< T2, T3, T4, X >::operator[] | ( | size_t | i | ) | const [inline] |
virtual SpaceTimeRef code::Data3D< T2, T3, T4, X >::reference | ( | size_t | i, | |
size_t | j, | |||
size_t | k | |||
) | const [inline, virtual] |
Obtain the reference of i,j,kth element.
This function needs to be implemented by subclasses. It should be a pure virtual, but we need to instantiate Data1D's ...
Reimplemented in code::CartesianGrid3D, and code::LatLonHeightGrid.
void code::Data3D< T2, T3, T4, X >::replace | ( | const X & | old_value, | |
const X & | new_value | |||
) | [inline] |
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] |
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] |
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] |
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] |
size_t code::Data3D< T2, T3, T4, X >::size | ( | ) | const [inline] |
size_t code::Data3D< T2, T3, T4, X >::size_d | ( | size_t | i, | |
size_t | j | |||
) | const [inline] |
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] |
Returns the number of 1Ds in the 2D in [i].
size_t code::Data3D< T2, T3, T4, X >::size_d | ( | ) | const [inline] |
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 |
The array of 2D types that is held.
Use [] to dereference ...