10#ifndef SEIMS_BMP_FACTORY_H
11#define SEIMS_BMP_FACTORY_H
14#include "data_raster.hpp"
19using namespace db_mongoc;
20using namespace data_raster;
36 BMPFactory(
int scenario_id,
int bmp_id,
int sub_scenario,
int bmp_type,
37 int bmp_priority, vector<string>& distribution,
const string& collection,
38 const string& location,
bool effectivenessChangeable =
false,
39 time_t changeFrequency = -1,
int variableTimes = -1);
75 virtual void Dump(std::ostream* fs) = 0;
77 bool IsEffectivenessChangeable();
79 time_t GetChangeFrequency();
95 const bool m_effectivenessChangeable;
96 const time_t m_changeFrequency;
97 const int m_changeTimes;
Base class of all kind of BMPs Factory.
Definition: BMPFactory.h:33
virtual void Dump(std::ostream *fs)=0
Output.
const int m_bmpType
BMP Type.
Definition: BMPFactory.h:87
const string m_bmpCollection
Collection name.
Definition: BMPFactory.h:93
const int m_subScenarioId
SubScenario ID within one BMP iD.
Definition: BMPFactory.h:86
int bmpType()
Get BMP type 1 - reach BMPs which are attached to specific reaches and will change the character of t...
const string m_location
Define where the BMP will be applied.
Definition: BMPFactory.h:94
BMPFactory(int scenario_id, int bmp_id, int sub_scenario, int bmp_type, int bmp_priority, vector< string > &distribution, const string &collection, const string &location, bool effectivenessChangeable=false, time_t changeFrequency=-1, int variableTimes=-1)
Constructor.
const int m_bmpPriority
BMP Priority.
Definition: BMPFactory.h:88
vector< string > m_distribution
Distribution vector of BMP Origin format is [distribution data type]|[distribution parameter name]|Co...
Definition: BMPFactory.h:92
virtual void setRasterData(map< string, IntRaster * > &sceneRsMap)
Set raster data if needed This function is not required for each BMP, so DO NOT define as pure virtua...
int GetSubScenarioId()
Get subScenario ID.
virtual int * GetRasterData()
Get raster data if needed This function is not required for each BMP, so DO NOT define as pure virtua...
const int m_bmpId
BMP ID.
Definition: BMPFactory.h:85
const int m_scenarioId
Scenario ID.
Definition: BMPFactory.h:84
int bmpPriority()
Get BMP priority.
virtual void loadBMP(MongoClient *conn, const string &bmpDBName)=0
Load BMP parameters from MongoDB.
Base type of all interfaces.
Definition: basic.h:407
A simple wrapper of the class of MongoDB Client mongoc_client_t.
Definition: db_mongoc.h:46
Simple wrappers of the API of MongoDB C driver mongo-c-driver, see MongoDB C Driver for more informat...
All BMPs scenario related data, classes, and functions.
Definition: BMPArealSourceFactory.h:22
Common Cross-platform Geographic Library (CCGL)
The SEIMS related definitions and utilities header.