bes  Updated for version 3.20.6
ugrid_restrict.h
1 // This file is part of libdap, A C++ implementation of the OPeNDAP Data
2 // Access Protocol.
3 
4 // Copyright (c) 2002,2003,2011,2012 OPeNDAP, Inc.
5 // Authors: Nathan Potter <ndp@opendap.org>
6 // James Gallagher <jgallagher@opendap.org>
7 // Scott Moe <smeest1@gmail.com>
8 // Bill Howe <billhowe@cs.washington.edu>
9 //
10 // This library is free software; you can redistribute it and/or
11 // modify it under the terms of the GNU Lesser General Public
12 // License as published by the Free Software Foundation; either
13 // version 2.1 of the License, or (at your option) any later version.
14 //
15 // This library is distributed in the hope that it will be useful,
16 // but WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 // Lesser General Public License for more details.
19 //
20 // You should have received a copy of the GNU Lesser General Public
21 // License along with this library; if not, write to the Free Software
22 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23 //
24 // You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
25 
26 // NOTE: This file is built only when the gridfields library is linked with
27 // the netcdf_handler (i.e., the handler's build is configured using the
28 // --with-gridfields=... option to the 'configure' script).
29 
30 #ifndef UGR5_H_
31 #define UGR5_H_
32 
33 #include "BaseType.h"
34 #include "DDS.h"
35 #include "ServerFunction.h"
36 
37 namespace ugrid {
38 
43 void ugnr(int argc, libdap::BaseType * argv[], libdap::DDS &dds, libdap::BaseType **btpp);
44 
49 void uger(int argc, libdap::BaseType * argv[], libdap::DDS &dds, libdap::BaseType **btpp);
50 
55 void ugfr(int argc, libdap::BaseType * argv[], libdap::DDS &dds, libdap::BaseType **btpp);
56 
61 class UGNR: public libdap::ServerFunction {
62 
63 private:
64 
65 public:
66  UGNR()
67 {
68  setName("ugnr");
69  setDescriptionString(
70  ((string)"This function can subset the range variables of a two dimensional triangular mesh unstructured grid ") +
71  "by applying a filter expression to the values of the grid associated with the nodes.");
72  setUsageString("ugnr(node_var [,node_var_2,...,node_var_n], 'relational query over domain')");
73  setRole("http://services.opendap.org/dap4/server-side-function/unstructured_grids/ugrid_restrict");
74  setDocUrl("https://docs.opendap.org/index.php?title=OPULS:_UGrid_Subsetting#ugnr:_Subset_by_node_value.");
75  setFunction(ugrid::ugnr);
76  setVersion("1.0");
77 }
78  virtual ~UGNR()
79  {
80  }
81 
82 };
83 class UGER: public libdap::ServerFunction {
84 
85 private:
86 
87 public:
88  UGER()
89 {
90  setName("uger");
91  setDescriptionString(
92  ((string)"This function can subset the range variables of a two dimensional triangular mesh unstructured grid ") +
93  "by applying a filter expression to the values of the grid associated with the edges.");
94  setUsageString("uger(node_var [,node_var_2,...,node_var_n], 'relational query over domain')");
95  setRole("http://services.opendap.org/dap4/server-side-function/unstructured_grids/ugrid_restrict");
96  setDocUrl("https://docs.opendap.org/index.php?title=OPULS:_UGrid_Subsetting#uger:_Subset_by_edge_value.");
97  setFunction(ugrid::uger);
98  setVersion("1.0");
99 }
100  virtual ~UGER()
101  {
102  }
103 
104 };
105 class UGFR: public libdap::ServerFunction {
106 
107 private:
108 
109 public:
110  UGFR()
111 {
112  setName("ugfr");
113  setDescriptionString(
114  ((string)"This function can subset the range variables of a two dimensional triangular mesh unstructured grid ") +
115  "by applying a filter expression to the values of the grid associated with the faces.");
116  setUsageString("ugfr(node_var [,node_var_2,...,node_var_n], 'relational query over domain')");
117  setRole("http://services.opendap.org/dap4/server-side-function/unstructured_grids/ugrid_restrict");
118  setDocUrl("https://docs.opendap.org/index.php?title=OPULS:_UGrid_Subsetting#ugfr:_Subset_by_face_value.");
119  setFunction(ugrid::ugfr);
120  setVersion("1.0");
121 }
122  virtual ~UGFR()
123  {
124  }
125 
126 };
127 
128 } // namespace ugrid_restrict
129 
130 #endif /* UGR5_H_ */
ugrid::UGNR
Definition: ugrid_restrict.h:61
ugrid::UGER
Definition: ugrid_restrict.h:83
ugrid::UGFR
Definition: ugrid_restrict.h:105