OPeNDAP Hyrax Back End Server (BES)  Updated for version 3.8.3
HDFArray Class Reference

#include <HDFArray.h>

Inheritance diagram for HDFArray:
Inheritance graph
Collaboration diagram for HDFArray:
Collaboration graph

Public Member Functions

bool GetSlabConstraint (vector< int > &start_array, vector< int > &edge_array, vector< int > &stride_array)
 
 HDFArray (const string &n, const string &d, BaseType *v)
 
virtual BaseType * ptr_duplicate ()
 
virtual bool read ()
 
virtual bool read_tagref (int32 tag, int32 ref, int &error)
 
virtual void transfer_attributes (AttrTable *at_container)
 Transfer attributes from a separately built DAS to the DDS. More...
 
virtual void transfer_dimension_attribute (AttrTable *dim)
 
virtual ~HDFArray ()
 

Detailed Description

Definition at line 56 of file HDFArray.h.

Constructor & Destructor Documentation

HDFArray::HDFArray ( const string &  n,
const string &  d,
BaseType *  v 
)

Definition at line 63 of file HDFArray.cc.

Referenced by ptr_duplicate().

HDFArray::~HDFArray ( )
virtual

Definition at line 67 of file HDFArray.cc.

Member Function Documentation

bool HDFArray::GetSlabConstraint ( vector< int > &  start_array,
vector< int > &  edge_array,
vector< int > &  stride_array 
)

Definition at line 156 of file HDFArray.cc.

References edge, and THROW.

Referenced by read_tagref(), and HDFGrid::read_tagref().

BaseType * HDFArray::ptr_duplicate ( )
virtual

Definition at line 70 of file HDFArray.cc.

References HDFArray().

Here is the call graph for this function:

bool HDFArray::read ( )
virtual

Definition at line 77 of file HDFArray.cc.

References read_tagref().

Here is the call graph for this function:

bool HDFArray::read_tagref ( int32  tag,
int32  ref,
int &  error 
)
virtual

Implements ReadTagRef.

Definition at line 89 of file HDFArray.cc.

References BESDEBUG, edge, GetSlabConstraint(), GRExists(), LoadArrayFromGR(), LoadArrayFromSDS(), SDSExists(), and hdfistream_gri::seek_ref().

Referenced by read().

Here is the call graph for this function:

void HDFArray::transfer_attributes ( AttrTable *  at)
virtual

Transfer attributes from a separately built DAS to the DDS.

This method overrides the implementation found in libdap to accommodate the special characteristics of the HDF4 handler's DAS object. The notworthy feature of this handler's DAS is that it lacks the specified structure that provides an easy way to match DAS and DDS items. Instead the DAS is flat.

This version of the method first calls the libdap implementation which, in turn, looks for attribtues that match the name of the variable exactly. Then it looks for 'dimension' attributes that should be bound to this array by searching for attribtue containers whose names fit the pattern _dim_<digit>, where is the name of this variable and <digit> is some interger, usually small.

Parameters
atAn AttrTable for the entire DAS. Search this for attribtues by name.
See also
HDFSequence::transfer_attributes
HDFGrid::transfer_attributes
HDFStructure::transfer_attributes

Definition at line 205 of file HDFArray.cc.

References BESDEBUG, and transfer_dimension_attribute().

Here is the call graph for this function:

void HDFArray::transfer_dimension_attribute ( AttrTable *  dim)
virtual

Definition at line 237 of file HDFArray.cc.

Referenced by transfer_attributes().


The documentation for this class was generated from the following files: