8#ifndef RECTANGULARGRID_HPP
9#define RECTANGULARGRID_HPP
42 virtual ~RectangularGrid()
52 return pio ? pio->getModelState(filePath) :
ModelState();
56 const ModelState& state,
const ModelMetadata& metadata,
const std::string& filePath,
bool isRestart =
false)
const override
61 const std::string&
structureType()
const override {
return structureName; };
65 void setDimensions(
const GridDimensions& dims)
80 virtual ModelState getModelState(
const std::string& filePath) = 0;
101 const static std::string structureName;
108 const static std::string xDimName;
109 const static std::string yDimName;
110 const static std::string nIceLayersName;
Interface class for the model structure.
virtual void dumpModelState(const ModelState &state, const ModelMetadata &metadata, const std::string &filePath, bool isRestart) const =0
Dumps the given ModelState to the given file path.
ModelState getModelState(const std::string &filePath) override
Dumps the data to a file path.
void setIO(IRectGridIO *p)
Sets the pointer to the class that will perform the IO. Should be an instance of DevGridIO.
const std::string & structureType() const override
Returns the structure name that this class will process.
void dumpModelState(const ModelState &state, const ModelMetadata &metadata, const std::string &filePath, bool isRestart=false) const override
Dumps the data to a file path.
int nIceLayers() const override
The number of ice layers in this data structure.