A DAP Structure with file out netcdf information included.
More...
#include <FONcStructure.h>
|
virtual void | clear_embedded () |
| Clears the list of embedded variable names.
|
|
virtual void | convert (std::vector< std::string > embed, bool is_dap4=false, bool is_dap4_group=false) |
|
virtual void | convert (vector< string > embed, bool _dap4=false, bool is_dap4_group=false) |
| Creates the FONc objects for each variable of the DAP structure.
|
|
virtual void | define (int ncid) |
| Define the members of the structure in the netcdf file.
|
|
virtual void | dump (ostream &strm) const |
| dumps information about this object for debugging purposes
|
|
virtual void | dump (std::ostream &strm) const =0 |
| dump the contents of this object to the specified ostream
|
|
| FONcStructure (libdap::BaseType *b) |
| Constructor for FONcStructure that takes a DAP Structure.
|
|
libdap::DDS * | get_dds () const |
|
libdap::ConstraintEvaluator * | get_eval () const |
|
virtual libdap::AttrType | getAttrType (nc_type t) |
|
virtual D4AttributeType | getD4AttrType (nc_type t) |
|
virtual bool | isNetCDF4 () |
| Returns true if NetCDF4 features will be required.
|
|
virtual bool | isNetCDF4_ENHANCED () |
|
virtual string | name () |
| Returns the name of the structure.
|
|
void | set_dds (libdap::DDS *dds) |
|
void | set_eval (libdap::ConstraintEvaluator *eval) |
|
virtual void | set_is_dap4 (bool set_dap4) |
|
virtual void | setNC4DataModel (const string &nc4_datamodel) |
| Identifies the netCDF4 data model (CLASSIC or ENHANCED)
|
|
virtual void | setVersion (const std::string &version) |
| Identifies variable with use of NetCDF4 features.
|
|
virtual nc_type | type () |
| Returns the type of data of this variable.
|
|
virtual void | updateAttrType (libdap::AttrTable &attrs, nc_type t) |
|
virtual void | updateD4AttrType (libdap::D4Attributes *d4_attrs, nc_type t) |
|
virtual int | varid () const |
|
virtual void | write (int ncid) |
| write the member variables of the structure to the netcdf file
|
|
virtual | ~FONcStructure () |
| Destructor that cleans up the structure.
|
|
A DAP Structure with file out netcdf information included.
This class represents a DAP Structure with additional information needed to write it out to a netcdf file. Includes a reference to the actual DAP Structure being converted. Keeps the list of converted BaseTypes as FONcBaseType instances.
Definition at line 51 of file FONcStructure.h.
◆ FONcStructure()
FONcStructure::FONcStructure |
( |
libdap::BaseType * |
b | ) |
|
Constructor for FONcStructure that takes a DAP Structure.
This constructor takes a DAP BaseType and makes sure that it is a DAP Structure instance. If not, it throws an exception
- Parameters
-
b | A DAP BaseType that should be a Structure |
- Exceptions
-
Definition at line 47 of file FONcStructure.cc.
◆ ~FONcStructure()
FONcStructure::~FONcStructure |
( |
| ) |
|
|
virtual |
Destructor that cleans up the structure.
Delete each of the FONcBaseType instances that is a part of this structure.
Definition at line 62 of file FONcStructure.cc.
◆ clear_embedded()
void FONcBaseType::clear_embedded |
( |
| ) |
|
|
virtualinherited |
Clears the list of embedded variable names.
Definition at line 93 of file FONcBaseType.cc.
◆ convert() [1/2]
void FONcBaseType::convert |
( |
std::vector< std::string > |
embed, |
|
|
bool |
is_dap4 = false , |
|
|
bool |
is_dap4_group = false |
|
) |
| |
|
virtualinherited |
◆ convert() [2/2]
void FONcStructure::convert |
( |
vector< string > |
embed, |
|
|
bool |
_dap4 = false , |
|
|
bool |
is_dap4_group = false |
|
) |
| |
|
virtual |
Creates the FONc objects for each variable of the DAP structure.
For each of the variables of the DAP Structure we convert to a similar FONc object. Because NetCDF does not support structures, we must flatten out the structures. To do this, we embed the name of the structure as part of the name of the children variables. For example, if the structure, called s1, contains an array called a1 and an int called i1, then two variables are created in the netcdf file called s1.a1 and s1.i1.
- Note
- This method only converts the variables that are to be sent. Thsi keeps the convert() and write() methods below from operating on DAP variables that should not be sent.
- Parameters
-
embed | The parent names of this structure. |
- Exceptions
-
Definition at line 98 of file FONcStructure.cc.
◆ define()
void FONcStructure::define |
( |
int |
ncid | ) |
|
|
virtual |
Define the members of the structure in the netcdf file.
Since netcdf does not support structures, we define the members of the structure to include the name of the structure in their name.
- Note
- This will call the FONcBaseType's define() method for the FONcBaseType variables. Because the FONcStructure::convert() method above only builds a FONcBaseType for elements of the DAP Structure with send_p true, the code is protected from trying to operate on DAP variables that should not be sent. This is important because those variables likely don't contain any values!
- Parameters
-
ncid | The id of the netcdf file |
- Exceptions
-
Reimplemented from FONcBaseType.
Definition at line 136 of file FONcStructure.cc.
◆ dump() [1/2]
void FONcStructure::dump |
( |
ostream & |
strm | ) |
const |
|
virtual |
dumps information about this object for debugging purposes
Displays the pointer value of this instance plus instance data, including the members of the structure by calling dump on those FONc objects.
- Parameters
-
strm | C++ i/o stream to dump the information to |
Definition at line 195 of file FONcStructure.cc.
◆ dump() [2/2]
virtual void FONcBaseType::dump |
( |
std::ostream & |
strm | ) |
const |
|
pure virtualinherited |
dump the contents of this object to the specified ostream
This method is implemented by all derived classes to dump their contents, in other words, any state they might have, private variables, etc...
The inline function below can be used to dump the contents of an OPeNDAPObj object. For example, the object Animal is derived from BESObj. A user could do the following:
Animal *a = new dog( "Sparky" ) ; cout << a << endl ;
And the dump method for dog could display the name passed into the constructor, the (this) pointer of the object, etc...
- Parameters
-
strm | C++ i/o stream to dump the object to |
Implements BESObj.
Implemented in FONcArray.
◆ get_dds()
libdap::DDS * FONcBaseType::get_dds |
( |
| ) |
const |
|
inlineinherited |
◆ get_eval()
libdap::ConstraintEvaluator * FONcBaseType::get_eval |
( |
| ) |
const |
|
inlineinherited |
◆ getAttrType()
libdap::AttrType FONcBaseType::getAttrType |
( |
nc_type |
t | ) |
|
|
virtualinherited |
◆ getD4AttrType()
D4AttributeType FONcBaseType::getD4AttrType |
( |
nc_type |
t | ) |
|
|
virtualinherited |
◆ isNetCDF4()
bool FONcBaseType::isNetCDF4 |
( |
| ) |
|
|
virtualinherited |
Returns true if NetCDF4 features will be required.
Definition at line 118 of file FONcBaseType.cc.
◆ isNetCDF4_ENHANCED()
bool FONcBaseType::isNetCDF4_ENHANCED |
( |
| ) |
|
|
virtualinherited |
◆ name()
string FONcStructure::name |
( |
| ) |
|
|
virtual |
◆ set_dds()
void FONcBaseType::set_dds |
( |
libdap::DDS * |
dds | ) |
|
|
inlineinherited |
◆ set_eval()
void FONcBaseType::set_eval |
( |
libdap::ConstraintEvaluator * |
eval | ) |
|
|
inlineinherited |
◆ set_is_dap4()
virtual void FONcBaseType::set_is_dap4 |
( |
bool |
set_dap4 | ) |
|
|
inlinevirtualinherited |
◆ setNC4DataModel()
void FONcBaseType::setNC4DataModel |
( |
const string & |
nc4_datamodel | ) |
|
|
virtualinherited |
Identifies the netCDF4 data model (CLASSIC or ENHANCED)
Definition at line 109 of file FONcBaseType.cc.
◆ setVersion()
void FONcBaseType::setVersion |
( |
const std::string & |
version | ) |
|
|
virtualinherited |
Identifies variable with use of NetCDF4 features.
Definition at line 100 of file FONcBaseType.cc.
◆ type()
nc_type FONcBaseType::type |
( |
| ) |
|
|
virtualinherited |
Returns the type of data of this variable.
This implementation of the method returns the default type of data. Subclasses of FONcBaseType will return the specific type of data for simple types
Reimplemented in FONcFloat, FONcInt, FONcInt64, FONcInt8, FONcShort, FONcStr, FONcUByte, FONcUInt, FONcUInt64, FONcUShort, FONcByte, and FONcDouble.
Definition at line 86 of file FONcBaseType.cc.
◆ updateAttrType()
void FONcBaseType::updateAttrType |
( |
libdap::AttrTable & |
attrs, |
|
|
nc_type |
t |
|
) |
| |
|
virtualinherited |
◆ updateD4AttrType()
void FONcBaseType::updateD4AttrType |
( |
libdap::D4Attributes * |
d4_attrs, |
|
|
nc_type |
t |
|
) |
| |
|
virtualinherited |
◆ varid()
virtual int FONcBaseType::varid |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ write()
void FONcStructure::write |
( |
int |
ncid | ) |
|
|
virtual |
write the member variables of the structure to the netcdf file
- Parameters
-
ncid | The id of the netcdf file |
- Exceptions
-
Implements FONcBaseType.
Definition at line 161 of file FONcStructure.cc.
◆ _defined
bool FONcBaseType::_defined |
|
protectedinherited |
◆ _embed
std::vector<std::string> FONcBaseType::_embed |
|
protectedinherited |
◆ _nc4_datamodel
std::string FONcBaseType::_nc4_datamodel |
|
protectedinherited |
◆ _ncVersion
std::string FONcBaseType::_ncVersion |
|
protectedinherited |
◆ _orig_varname
std::string FONcBaseType::_orig_varname |
|
protectedinherited |
◆ _varid
◆ _varname
std::string FONcBaseType::_varname |
|
protectedinherited |
◆ d_dds
libdap::DDS* FONcBaseType::d_dds |
|
protectedinherited |
◆ d_eval
libdap::ConstraintEvaluator* FONcBaseType::d_eval |
|
protectedinherited |
◆ is_dap4
bool FONcBaseType::is_dap4 |
|
protectedinherited |
◆ is_dap4_group
bool FONcBaseType::is_dap4_group |
|
protectedinherited |
The documentation for this class was generated from the following files: