bes  Updated for version 3.20.13
HDFEOS2ArrayMissField.h
1 // This file is part of the hdf4 data handler for the OPeNDAP data server.
3 // It retrieves the missing "third-dimension" values of the HDF-EOS2 Grid.
4 // Some third-dimension coordinate variable values are not provided.
5 // What we do here is to provide natural number series(1,2,3, ...) for
6 // these missing values. It doesn't make sense to visualize or analyze
7 // with vertical cross-section. One can check the data level by level.
8 // Authors: MuQun Yang <myang6@hdfgroup.org>
9 // Copyright (c) 2009 The HDF Group
11 
12 #ifdef USE_HDFEOS2_LIB
13 #ifndef HDFEOS2ARRAY_MISSFIELD_H
14 #define HDFEOS2ARRAY_MISSFIELD_H
15 
16 #include <libdap/Array.h>
17 
18 class HDFEOS2ArrayMissGeoField:public libdap::Array
19 {
20  public:
21  HDFEOS2ArrayMissGeoField (int rank, int tnumelm, const std::string & n = "", libdap::BaseType * v = nullptr):
22  libdap::Array (n, v), rank (rank), tnumelm (tnumelm) {
23  }
24  ~ HDFEOS2ArrayMissGeoField () override = default;
25 
26  // Standard way to pass the coordinates of the subsetted region from the client to the handlers
27  int format_constraint (int *cor, int *step, int *edg);
28 
29  libdap::BaseType *ptr_duplicate () override
30  {
31  return new HDFEOS2ArrayMissGeoField (*this);
32  }
33 
34  virtual bool read () override;
35 
36  private:
37 
38  // Field array rank
39  int rank;
40 
41  // Total number of elements
42  int tnumelm;
43 };
44 
45 
46 #endif
47 #endif