30 #ifndef __AGG_UTIL__GRID_AGGREGATION_BASE_H__
31 #define __AGG_UTIL__GRID_AGGREGATION_BASE_H__
80 BaseType *
transform_to_dap4(libdap::D4Group *root, libdap::Constructor *container);
92 void setShapeFrom(
const libdap::Grid& protoSubGrid,
bool addMaps);
164 void cleanup()
throw();
166 static libdap::Grid* cloneSubGridProto(
const libdap::Grid& proto);
176 std::auto_ptr<Grid> _pSubGridProto;
virtual const AMDList & getDatasetList() const
Accessor for the dataset description list that describes this aggregation.
void copyProtoMapsIntoThisGrid(const Dimension &aggDim)
Copy the template's read in subgrid maps into this.
void setShapeFrom(const libdap::Grid &protoSubGrid, bool addMaps)
Use the data array and maps from protoSubGrid as the initial point for the shape of the Grid...
Helper class for temporarily hijacking an existing dhi to load a DDX response for one particular file...
GridAggregationBase(const libdap::Grid &proto, const AMDList &memberDatasets, const DDSLoader &loaderProto)
static class NCMLUtil overview
virtual bool read()
Read in only those datasets that are in the constrained output making sure to apply the internal dime...
void readProtoSubGrid()
Transfer constraints properly from this object's maps and read in the proto subgrid entirely (respect...
void printConstraints(const libdap::Array &fromArray)
Struct for holding information about a dimension of data, minimally a name and a cardinality (size)...
virtual ~GridAggregationBase()
virtual const Dimension & getAggregationDimension() const =0
Get the contained aggregation dimension info.
virtual void readAndAggregateConstrainedMapsHook()
Called from read()! Invokes the user hooks eventually.
std::vector< RCPtr< AggMemberDataset > > AMDList
virtual void transferConstraintsToSubGridHook(Grid *pSubGrid)
To be specialized in subclass to copy constraints on this object properly into the given pSubGrid map...
Grid * getSubGridTemplate()
Reveals the raw ptr, but only to subclasses.
GridAggregationBase & operator=(const GridAggregationBase &rhs)
BaseType * transform_to_dap4(libdap::D4Group *root, libdap::Constructor *container)