Inheritance diagram for code::Data1D< T4, X >:
Operator [] works like a regular array.
This class contains a vector of the actual DataType. If the structures are large, you might want to consider declaring X to be a smart pointer to the data structures being held.
For example, a trend of reflectivities would be Data1D<Time,float> if the reflectivity values are measured in dbz.
Public Types | |
typedef size_t | Coord |
A coordinate for Data1D, always size_t. | |
typedef T4 | DimType |
A Dimension type for Data1D, e.g. | |
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 | |
Data1D | clone () const |
Make a completely separate copy of the data. | |
Data1D (size_t num_elements) | |
Construct the object of requested size, and fill it with the default constructor X() values. | |
Data1D () | |
Construct an empty array of values. | |
Data1D (SmartPtr< std::vector< X > > new_val) | |
Constructor with already existing values. | |
const X & | operator[] (size_t i) const |
Return the ith member of the array. | |
X & | operator[] (size_t i) |
Return the ith member of the array. | |
void | set_1d (const X *begin, const X *end) |
Initialize a row of elements. | |
void | set_1d (const std::vector< X > &v) |
Initialize a row of elements. | |
void | replace_1d (const X *first, const X *last) |
Overwrite a 'row' of elements. | |
void | replace_1d (const std::vector< X > &v) |
Overwrite a 'row' of elements. | |
const std::vector< X > & | data () const |
Return the internal vector<X>. | |
std::vector< X > & | data () |
Return the internal vector<X>. | |
Coord | size () const |
Return the size of this object. | |
void | replace (const X &old_value, const X &new_value) |
Replace any instance of old_value with new_value. | |
virtual SpaceTimeRef | reference (Coord i) const |
Obtain the reference of ith element. | |
virtual SpaceTimeRef | getSpaceTimeRef () const |
Return the reference of the first element. | |
virtual | ~Data1D () |
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 () |
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 size_t code::Data1D< T4, X >::Coord |
A coordinate for Data1D, always size_t.
typedef T4 code::Data1D< T4, X >::DimType |
enum code::DataType::Type [inherited] |
code::Data1D< T4, X >::Data1D | ( | size_t | num_elements | ) | [inline] |
Construct the object of requested size, and fill it with the default constructor X() values.
code::Data1D< T4, X >::Data1D | ( | ) | [inline] |
Construct an empty array of values.
Use data().push_back() to fill this in.
code::Data1D< T4, X >::Data1D | ( | SmartPtr< std::vector< X > > | new_val | ) | [inline] |
Constructor with already existing values.
virtual code::Data1D< T4, X >::~Data1D | ( | ) | [inline, virtual] |
This class is meant to be subclassed.
void code::DataType::clearAttributes | ( | ) | [inline, inherited] |
Data1D code::Data1D< T4, X >::clone | ( | ) | const [inline] |
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.
std::vector<X>& code::Data1D< T4, X >::data | ( | ) | [inline] |
Return the internal vector<X>.
const std::vector<X>& code::Data1D< T4, X >::data | ( | ) | const [inline] |
Return the internal vector<X>.
virtual void code::DataType::deep_copy | ( | const DataType & | source | ) | [inline, protected, virtual, inherited] |
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::Data1D< T4, X >::getSpaceTimeRef | ( | ) | const [inline, virtual] |
Return the reference of the first element.
Implements code::DataType.
Reimplemented in code::ElevationVolume.
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 >.
X& code::Data1D< T4, X >::operator[] | ( | size_t | i | ) | [inline] |
Return the ith member of the array.
No bounds check is done.
const X& code::Data1D< T4, X >::operator[] | ( | size_t | i | ) | const [inline] |
Return the ith member of the array.
No bounds check is done.
virtual SpaceTimeRef code::Data1D< T4, X >::reference | ( | Coord | i | ) | const [inline, virtual] |
Obtain the reference of ith element.
This function needs to be implemented by subclasses. It should be a pure virtual, but we need to instantiate Data1D's ...
FIXME: This should be renamed to getSpaceTimeRef(Coord).
Reimplemented in code::ElevationVolume, and code::Radial.
void code::Data1D< T4, X >::replace | ( | const X & | old_value, | |
const X & | new_value | |||
) | [inline] |
Replace any instance of old_value with new_value.
void code::Data1D< T4, X >::replace_1d | ( | const std::vector< X > & | v | ) | [inline] |
Overwrite a 'row' of elements.
The number of new and old elements must match.
void code::Data1D< T4, X >::replace_1d | ( | const X * | first, | |
const X * | last | |||
) | [inline] |
Overwrite a 'row' of elements.
The number of new and old elements must match.
void code::Data1D< T4, X >::set_1d | ( | const std::vector< X > & | v | ) | [inline] |
Initialize a row of elements.
Elements already in this row will be erased.
void code::Data1D< T4, X >::set_1d | ( | const X * | begin, | |
const X * | end | |||
) | [inline] |
Initialize a row of elements.
Elements already in this row will be erased.
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] |
Coord code::Data1D< T4, X >::size | ( | ) | const [inline] |
Return the size of this object.
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] |