|
OPeNDAP Hyrax Back End Server (BES)
Updated for version 3.8.3
|
A DAP Structure with file out netcdf information included. More...
#include <FONcStructure.h>


Public Member Functions | |
| virtual void | clear_embedded () |
| Clears the list of embedded variable names. More... | |
| virtual void | convert (vector< string > embed) |
| Creates the FONc objects for each variable of the structure. More... | |
| virtual void | define (int ncid) |
| Define the members of the structure in the netcdf file. More... | |
| virtual void | dump (ostream &strm) const |
| dumps information about this object for debugging purposes More... | |
| FONcStructure (BaseType *b) | |
| Constructor for FONcStructure that takes a DAP Structure. More... | |
| virtual bool | isNetCDF4 () |
| Returns true if NetCDF4 features will be required. More... | |
| virtual string | name () |
| Returns the name of the structure. More... | |
| virtual void | setVersion (string version) |
| Identifies variable with use of NetCDF4 features. More... | |
| virtual nc_type | type () |
| Returns the type of data of this variable. More... | |
| virtual int | varid () |
| virtual void | write (int ncid) |
| write the member variables of the structure to the netcdf file More... | |
| virtual | ~FONcStructure () |
| Destructor that cleans up the structure. More... | |
Protected Attributes | |
| bool | _defined |
| vector< string > | _embed |
| string | _ncVersion |
| string | _orig_varname |
| int | _varid |
| string | _varname |
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 48 of file FONcStructure.h.
| FONcStructure::FONcStructure | ( | 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
| b | A DAP BaseType that should be a Structure |
| BESInternalError | if the BaseType is not a Structure |
Definition at line 47 of file FONcStructure.cc.
|
virtual |
Destructor that cleans up the structure.
Delete each of the FONcBaseType instances that is a part of this structure.
Definition at line 64 of file FONcStructure.cc.
|
virtualinherited |
Clears the list of embedded variable names.
Definition at line 95 of file FONcBaseType.cc.
References FONcBaseType::_embed.
Referenced by FONcMap::clear_embedded().
|
virtual |
Creates the FONc objects for each variable of the 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.
It only converts the variables that are to be sent
| embed | The parent names of this structure. |
| BESInternalError | if there is a problem converting this structure |
Reimplemented from FONcBaseType.
Definition at line 102 of file FONcStructure.cc.
References BESDEBUG, FONcBaseType::convert(), FONcUtils::convert(), and name().

|
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.
| ncid | The id of the netcdf file |
| BESInternalError | if there is a problem defining the structure |
Reimplemented from FONcBaseType.
Definition at line 131 of file FONcStructure.cc.
References FONcBaseType::_defined, FONcBaseType::_varname, BESDEBUG, FONcBaseType::define(), and FONcBaseType::name().

|
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.
| strm | C++ i/o stream to dump the information to |
Implements FONcBaseType.
Definition at line 195 of file FONcStructure.cc.
References FONcBaseType::dump(), BESIndent::Indent(), BESIndent::LMarg(), and BESIndent::UnIndent().

|
virtualinherited |
Returns true if NetCDF4 features will be required.
Definition at line 112 of file FONcBaseType.cc.
References FONcBaseType::_ncVersion, FONcBaseType::_varname, FONcUtils::handle_error(), RETURNAS_NETCDF, and RETURNAS_NETCDF4.
Referenced by FONcArray::define().

|
virtual |
Returns the name of the structure.
Implements FONcBaseType.
Definition at line 181 of file FONcStructure.cc.
Referenced by convert().
|
virtualinherited |
Identifies variable with use of NetCDF4 features.
Definition at line 102 of file FONcBaseType.cc.
References FONcBaseType::_ncVersion, and BESDEBUG.
|
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 FONcStr, FONcByte, FONcDouble, FONcFloat, FONcInt, and FONcShort.
Definition at line 87 of file FONcBaseType.cc.
Referenced by FONcBaseType::define().
|
inlinevirtualinherited |
Definition at line 70 of file FONcBaseType.h.
|
virtual |
write the member variables of the structure to the netcdf file
| ncid | The id of the netcdf file |
| BESInternalError | if there is a problem writing out the members of the structure. |
Reimplemented from FONcBaseType.
Definition at line 161 of file FONcStructure.cc.
References FONcBaseType::_varname, BESDEBUG, and FONcBaseType::write().

|
protectedinherited |
Definition at line 55 of file FONcBaseType.h.
Referenced by FONcDouble::define(), FONcFloat::define(), FONcInt::define(), FONcShort::define(), FONcByte::define(), FONcStr::define(), define(), FONcBaseType::define(), FONcGrid::define(), FONcArray::define(), and FONcGrid::write().
|
protectedinherited |
Definition at line 54 of file FONcBaseType.h.
Referenced by FONcBaseType::clear_embedded(), FONcBaseType::convert(), FONcGrid::convert(), FONcStr::define(), and FONcBaseType::define().
|
protectedinherited |
Definition at line 56 of file FONcBaseType.h.
Referenced by FONcBaseType::isNetCDF4(), and FONcBaseType::setVersion().
|
protectedinherited |
Definition at line 53 of file FONcBaseType.h.
Referenced by FONcSequence::convert(), FONcGrid::convert(), FONcArray::convert(), FONcDouble::define(), FONcInt::define(), FONcShort::define(), FONcFloat::define(), FONcByte::define(), FONcStr::define(), FONcBaseType::define(), and FONcArray::define().
|
protectedinherited |
Definition at line 51 of file FONcBaseType.h.
Referenced by FONcDouble::define(), FONcFloat::define(), FONcInt::define(), FONcShort::define(), FONcByte::define(), FONcStr::define(), FONcBaseType::define(), FONcArray::define(), FONcDouble::write(), FONcFloat::write(), FONcInt::write(), FONcShort::write(), FONcByte::write(), FONcStr::write(), and FONcArray::write().
|
protectedinherited |
Definition at line 52 of file FONcBaseType.h.
Referenced by FONcSequence::convert(), FONcBaseType::convert(), FONcGrid::convert(), FONcArray::convert(), FONcShort::define(), FONcFloat::define(), FONcInt::define(), FONcDouble::define(), FONcByte::define(), FONcSequence::define(), FONcStr::define(), define(), FONcBaseType::define(), FONcGrid::define(), FONcArray::define(), FONcArray::dump(), FONcBaseType::isNetCDF4(), FONcFloat::write(), FONcDouble::write(), FONcInt::write(), FONcShort::write(), FONcByte::write(), FONcStr::write(), write(), FONcGrid::write(), and FONcArray::write().