bmps::BMPFactory Class Referenceabstract

Base class of all kind of BMPs Factory. More...

#include <BMPFactory.h>

Inheritance diagram for bmps::BMPFactory:
ccgl::Interface bmps::BMPArealSrcFactory bmps::BMPArealStructFactory bmps::BMPPlantMgtFactory bmps::BMPPointSrcFactory

Public Member Functions

 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.
 
 ~BMPFactory ()
 Destructor.
 
virtual void loadBMP (MongoClient *conn, const string &bmpDBName)=0
 Load BMP parameters from MongoDB.
 
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 virtual function. More...
 
virtual int * GetRasterData ()
 Get raster data if needed This function is not required for each BMP, so DO NOT define as pure virtual function.
 
int bmpType ()
 Get BMP type 1 - reach BMPs which are attached to specific reaches and will change the character of the reach. More...
 
int bmpPriority ()
 Get BMP priority.
 
int GetSubScenarioId ()
 Get subScenario ID.
 
virtual void Dump (std::ostream *fs)=0
 Output.
 

Protected Attributes

const int m_scenarioId
 Scenario ID.
 
const int m_bmpId
 BMP ID.
 
const int m_subScenarioId
 SubScenario ID within one BMP iD.
 
const int m_bmpType
 BMP Type.
 
const int m_bmpPriority
 BMP Priority.
 
vector< string > m_distribution
 Distribution vector of BMP Origin format is [distribution data type]|[distribution parameter name]|Collection name|...
 
const string m_bmpCollection
 Collection name.
 
const string m_location
 Define where the BMP will be applied.
 

Detailed Description

Base class of all kind of BMPs Factory.

Read from BMP_SCENARIOS collection of MongoDB

Member Function Documentation

◆ bmpType()

int bmps::BMPFactory::bmpType ( )

Get BMP type 1 - reach BMPs which are attached to specific reaches and will change the character of the reach.

2 - areal structural BMPs which are corresponding to a specific structure in the watershed and will change the character of subbasins/cells. 3 - areal non-structure BMPs which are NOT corresponding to a specific structure in the watershed and will change the character of subbasins/cells. 4 - point structural BMPs

◆ setRasterData()

virtual void bmps::BMPFactory::setRasterData ( map< string, IntRaster * > &  sceneRsMap)
virtual

Set raster data if needed This function is not required for each BMP, so DO NOT define as pure virtual function.

i.e., DO NOT CHANGE THE DEFINITION!!!

Reimplemented in bmps::BMPArealSrcFactory, bmps::BMPArealStructFactory, and bmps::BMPPlantMgtFactory.


The documentation for this class was generated from the following file: