Revision 1 -
(download)
(annotate)
Mon Feb 10 17:09:07 2014 UTC
(10 years, 6 months ago)
by agomez File size: 1900 byte(s)
Initial version based on Gadget 2.2.00
#ifndef migrationarea_h
#define migrationarea_h
#include "rectangleptrvector.h"
#include "commentstream.h"
#include "gadget.h"
/**
* \class MigrationArea
* \brief This is the class used to store details of the areas used when calculating the migration within the model
*/
class MigrationArea {
public:
/**
* \brief This is the MigrationArea constructor
* \param infile is the CommentStream to read the migration area parameters from
* \param name is the name of the migration area
* \param id is the internal identifer of the migration area
*/
MigrationArea(CommentStream& infile, char* name, int id);
/**
* \brief This is the default MigrationArea destructor
*/
~MigrationArea();
/**
* \brief This will return the size of the migration area
* \return areaSize
*/
double getArea() { return areaSize; };
/**
* \brief This will return the internal identifier of the migration area
* \return areaid
*/
int getAreaID() { return areaid; };
/**
* \brief This will return the number of rectangles that make up the the migration area
* \return number of rectangles
*/
int getNumRectangles() { return rectangles.Size(); };
/**
* \brief This will return the RectanglePtrVector of rectangles that make up the the migration area
* \return rectangles, a RectanglePtrVector of the rectangles that make up the migration area
*/
RectanglePtrVector& getRectangles() { return rectangles; };
private:
/**
* \brief This is the name of the migration area
*/
char* areaName;
/**
* \brief This is the internal identifier for the migration area
*/
int areaid;
/**
* \brief This is the calculated size of the area of the migration area
*/
double areaSize;
/**
* \brief This is the RectanglePtrVector of the rectangles that make up the the migration area
*/
RectanglePtrVector rectangles;
};
#endif