This class represents a workcentre, a physical or logical representation of capacity. More...
#include <model.h>
Public Types | |
typedef Association< Operation, Resource, Load >::ListB | loadlist |
typedef TimeLine< LoadPlan > | loadplanlist |
Public Member Functions | |
void | beginElement (XMLInput &, const Attribute &) |
void | deleteOperationPlans (bool=false) |
void | endElement (XMLInput &, const Attribute &, const DataElement &) |
size_t | extrasize () const |
Load * | findLoad (const Operation *o, Date d) const |
virtual PyObject * | getattro (const Attribute &) |
double | getCost () const |
bool | getHidden () const |
loadplanlist & | getLoadPlans () |
const loadplanlist & | getLoadPlans () const |
const loadlist & | getLoads () const |
Location * | getLocation () const |
TimePeriod | getMaxEarly () const |
CalendarDouble * | getMaximum () const |
const string & | getSetup () const |
SetupMatrix * | getSetupMatrix () const |
virtual const MetaClass & | getType () const |
Resource (const string &str) | |
virtual int | setattro (const Attribute &, const PythonObject &) |
void | setCost (const double c) |
void | setHidden (bool b) |
void | setLocation (Location *i) |
void | setMaxEarly (TimePeriod c) |
void | setMaximum (CalendarDouble *c) |
void | setSetup (const string s) |
void | setSetupMatrix (SetupMatrix *s) |
virtual void | solve (Solver &s, void *v=NULL) const |
virtual void | updateProblems () |
virtual void | updateSetups (const LoadPlan *=NULL) |
virtual void | writeElement (XMLOutput *, const Keyword &, mode=DEFAULT) const |
virtual | ~Resource () |
Static Public Member Functions | |
static int | initialize () |
Static Public Attributes | |
static const long | defaultMaxEarly = 100*86400L |
static const MetaCategory * | metadata |
Friends | |
class | Load |
class | LoadPlan |
This class represents a workcentre, a physical or logical representation of capacity.
Definition at line 3793 of file model.h.
typedef Association<Operation,Resource,Load>::ListB frepple::Resource::loadlist |
frepple::Resource::Resource | ( | const string & | str | ) | [inline, explicit] |
frepple::Resource::~Resource | ( | ) | [virtual] |
Destructor.
Definition at line 244 of file resource.cpp.
Called while restoring the model from an XML-file.
This is called for each element within the "this" element, for which the "this" element is immediate parent.
It is called when the open element tag is encountered.
Reimplemented from frepple::utils::HasHierarchy< Resource >.
Definition at line 165 of file resource.cpp.
void frepple::Resource::deleteOperationPlans | ( | bool | deleteLocked = false |
) |
Deletes all operationplans loading this resource. The boolean parameter controls whether we delete also locked operationplans or not.
Definition at line 233 of file resource.cpp.
void frepple::Resource::endElement | ( | XMLInput & | pIn, | |
const Attribute & | pAttr, | |||
const DataElement & | pElement | |||
) | [virtual] |
Reimplemented from frepple::Plannable.
Definition at line 187 of file resource.cpp.
size_t frepple::Resource::extrasize | ( | ) | const [inline] |
Returns the memory size in bytes.
Reimplemented from frepple::utils::HasDescription.
PyObject * frepple::Resource::getattro | ( | const Attribute & | attr | ) | [virtual] |
Default getattro method.
Subclasses are expected to implement an override if the type supports gettattro.
Reimplemented from frepple::utils::PythonExtensionBase.
Definition at line 318 of file resource.cpp.
double frepple::Resource::getCost | ( | ) | const [inline] |
bool frepple::Resource::getHidden | ( | ) | const [inline, virtual] |
Returns whether an entity is real or dummy.
Reimplemented from frepple::utils::Object.
loadplanlist& frepple::Resource::getLoadPlans | ( | ) | [inline] |
const loadplanlist& frepple::Resource::getLoadPlans | ( | ) | const [inline] |
const loadlist& frepple::Resource::getLoads | ( | ) | const [inline] |
Location* frepple::Resource::getLocation | ( | ) | const [inline] |
TimePeriod frepple::Resource::getMaxEarly | ( | ) | const [inline] |
CalendarDouble* frepple::Resource::getMaximum | ( | ) | const [inline] |
const string& frepple::Resource::getSetup | ( | ) | const [inline] |
SetupMatrix* frepple::Resource::getSetupMatrix | ( | ) | const [inline] |
virtual const MetaClass& frepple::Resource::getType | ( | ) | const [inline, virtual] |
This returns the type information on the object, a bit similar to the standard type_info information.
Implements frepple::utils::Object.
Reimplemented in frepple::ResourceDefault, and frepple::ResourceInfinite.
int frepple::Resource::initialize | ( | ) | [static] |
Initialize the class.
Reimplemented in frepple::ResourceDefault, and frepple::ResourceInfinite.
Definition at line 40 of file resource.cpp.
int frepple::Resource::setattro | ( | const Attribute & | attr, | |
const PythonObject & | field | |||
) | [virtual] |
Default setattro method.
Subclasses are expected to implement an override if the type supports settattro.
Reimplemented from frepple::utils::PythonExtensionBase.
Definition at line 356 of file resource.cpp.
void frepple::Resource::setCost | ( | const double | c | ) | [inline] |
void frepple::Resource::setHidden | ( | bool | b | ) | [inline, virtual] |
Mark the object as hidden or not. Hidden objects are not exported and are used only as dummy constructs.
Reimplemented from frepple::utils::Object.
void frepple::Resource::setLocation | ( | Location * | i | ) | [inline] |
void frepple::Resource::setMaxEarly | ( | TimePeriod | c | ) | [inline] |
void frepple::Resource::setMaximum | ( | CalendarDouble * | c | ) |
Updates the size of a resource.
Definition at line 77 of file resource.cpp.
void frepple::Resource::setSetup | ( | const string | s | ) | [inline] |
void frepple::Resource::setSetupMatrix | ( | SetupMatrix * | s | ) | [inline] |
virtual void frepple::Resource::solve | ( | Solver & | s, | |
void * | v = NULL | |||
) | const [inline, virtual] |
This method is called by solver classes. The implementation of this class simply calls the solve method on the solver class. Using the polymorphism the solver can implement seperate methods for different plannable subclasses.
Reimplemented from frepple::Solvable.
Reimplemented in frepple::ResourceInfinite.
void frepple::Resource::updateProblems | ( | ) | [virtual] |
Recompute the problems of this resource.
Implements frepple::HasProblems.
Definition at line 35 of file problems_resource.cpp.
void frepple::Resource::updateSetups | ( | const LoadPlan * | ldplan = NULL |
) | [virtual] |
Scan the setups of this resource.
Definition at line 257 of file resource.cpp.
void frepple::Resource::writeElement | ( | XMLOutput * | o, | |
const Keyword & | tag, | |||
mode | m = DEFAULT | |||
) | const [virtual] |
Reimplemented from frepple::Plannable.
Reimplemented in frepple::ResourceInfinite.
Definition at line 114 of file resource.cpp.
const long frepple::Resource::defaultMaxEarly = 100*86400L [static] |
const MetaCategory * frepple::Resource::metadata [static] |
Reimplemented in frepple::ResourceDefault, and frepple::ResourceInfinite.