bes
Updated for version 3.20.6
GridJoinExistingAggregation.h
1
// This file is part of the "NcML Module" project, a BES module designed
3
// to allow NcML files to be used to be used as a wrapper to add
4
// AIS to existing datasets of any format.
5
//
6
// Copyright (c) 2010 OPeNDAP, Inc.
7
// Author: Michael Johnson <m.johnson@opendap.org>
8
//
9
// For more information, please also see the main website: http://opendap.org/
10
//
11
// This library is free software; you can redistribute it and/or
12
// modify it under the terms of the GNU Lesser General Public
13
// License as published by the Free Software Foundation; either
14
// version 2.1 of the License, or (at your option) any later version.
15
//
16
// This library is distributed in the hope that it will be useful,
17
// but WITHOUT ANY WARRANTY; without even the implied warranty of
18
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19
// Lesser General Public License for more details.
20
//
21
// You should have received a copy of the GNU Lesser General Public
22
// License along with this library; if not, write to the Free Software
23
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
24
//
25
// Please see the files COPYING and COPYRIGHT for more information on the GLPL.
26
//
27
// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
29
30
#ifndef __AGG_UTIL__GRID_JOIN_EXISTING_AGGREGATION_H__
31
#define __AGG_UTIL__GRID_JOIN_EXISTING_AGGREGATION_H__
32
33
#include "ArrayJoinExistingAggregation.h"
//agg_util
34
#include "Dimension.h"
// agg_util
35
#include "GridAggregationBase.h"
// agg_util
36
#include <memory>
37
38
namespace
agg_util
{
39
class
GridJoinExistingAggregation
:
public
GridAggregationBase
{
40
public
:
41
42
GridJoinExistingAggregation
(
const
libdap::Grid& proto,
const
AMDList& memberDatasets,
const
DDSLoader
& loaderProto,
43
const
Dimension
& joinDim);
44
45
GridJoinExistingAggregation
(
const
GridJoinExistingAggregation
& proto);
46
47
virtual
~
GridJoinExistingAggregation
();
48
49
virtual
GridJoinExistingAggregation
* ptr_duplicate();
50
51
GridJoinExistingAggregation
& operator=(
const
GridJoinExistingAggregation
& rhs);
52
60
auto_ptr<ArrayJoinExistingAggregation>
makeAggregatedOuterMapVector
()
const
;
61
62
protected
:
63
// subclass interface
64
66
virtual
void
transferConstraintsToSubGridHook
(Grid* pSubGrid);
67
68
virtual
const
Dimension
&
getAggregationDimension
()
const
;
69
70
private
:
71
// helpers
72
74
void
duplicate(
const
GridJoinExistingAggregation
& rhs);
75
77
void
cleanup()
throw
();
78
85
void
createRep(
const
libdap::Grid& protoSubGrid,
const
AMDList& granuleList);
86
87
// Local helpers to implement transferConstraintsToSubGridHook()
88
void
transferConstraintsToSubGridMaps(Grid* pSubGrid);
89
void
transferConstraintsToSubGridArray(Grid* pSubGrid);
90
91
private
:
92
// Data Rep
93
94
Dimension
_joinDim;
95
96
};
97
// class GridJoinExistingAggregation
98
}
// namespace agg_util
99
100
#endif
/* __AGG_UTIL__GRID_JOIN_EXISTING_AGGREGATION_H__ */
agg_util::GridAggregationBase
Definition:
GridAggregationBase.h:46
agg_util::DDSLoader
Definition:
DDSLoader.h:62
agg_util::GridJoinExistingAggregation
Definition:
GridJoinExistingAggregation.h:39
agg_util::Dimension
Definition:
Dimension.h:49
agg_util::GridJoinExistingAggregation::makeAggregatedOuterMapVector
auto_ptr< ArrayJoinExistingAggregation > makeAggregatedOuterMapVector() const
Definition:
GridJoinExistingAggregation.cc:84
agg_util
Helper class for temporarily hijacking an existing dhi to load a DDX response for one particular file...
Definition:
AggMemberDataset.cc:38
agg_util::GridJoinExistingAggregation::getAggregationDimension
virtual const Dimension & getAggregationDimension() const
Definition:
GridJoinExistingAggregation.cc:117
agg_util::GridJoinExistingAggregation::transferConstraintsToSubGridHook
virtual void transferConstraintsToSubGridHook(Grid *pSubGrid)
Definition:
GridJoinExistingAggregation.cc:108
modules
ncml_module
GridJoinExistingAggregation.h
Generated by
1.8.17