This class defines a material flow to/from a buffer, linked with an operation. This default implementation plans the material flow at the start of the operation. More...
#include <model.h>
Public Member Functions | |
void | beginElement (XMLInput &, const Attribute &) |
void | endElement (XMLInput &, const Attribute &, const DataElement &) |
Flow (Operation *o, Buffer *b, double q) | |
Flow (Operation *o, Buffer *b, double q, DateRange e) | |
Flow * | getAlternate () const |
Buffer * | getBuffer () const |
virtual Date | getFlowplanDate (const FlowPlan *) const |
virtual double | getFlowplanQuantity (const FlowPlan *) const |
virtual bool | getHidden () const |
Operation * | getOperation () const |
double | getQuantity () const |
SearchMode | getSearch () const |
virtual size_t | getSize () const |
virtual const MetaClass & | getType () const |
bool | hasAlternates () const |
bool | isConsumer () const |
bool | isProducer () const |
void | setAlternate (Flow *) |
void | setAlternate (const string &n) |
void | setBuffer (Buffer *b) |
void | setOperation (Operation *o) |
void | setQuantity (double f) |
void | setSearch (const string a) |
virtual void | solve (Solver &s, void *v=NULL) const |
virtual void | writeElement (XMLOutput *, const Keyword &, mode=DEFAULT) const |
virtual | ~Flow () |
![]() | |
Object () | |
virtual void | setHidden (bool b) |
virtual | ~Object () |
![]() | |
virtual PyObject * | call (const PythonObject &args, const PythonObject &kwds) |
virtual int | compare (const PyObject *other) const |
Py_ssize_t | getReferenceCount () const |
void | initType (const MetaClass *t) |
void | initType (PyTypeObject *t) |
virtual PyObject * | iternext () |
PythonExtensionBase () | |
void | resetReferenceCount () |
virtual PyObject * | str () const |
virtual | ~PythonExtensionBase () |
![]() | |
DateRange | getEffective () const |
const string & | getName () const |
int | getPriority () const |
A * | getPtrA () const |
B * | getPtrB () const |
Node () | |
Node (A *a, B *b, const ListA &al, const ListB &bl) | |
void | setEffective (DateRange dr) |
void | setEffectiveEnd (Date d) |
void | setEffectiveStart (Date d) |
void | setName (const string x) |
void | setPriority (int i) |
void | setPtrA (A *a, const ListA &al) |
void | setPtrAB (A *a, B *b, const ListA &al, const ListB &bl) |
void | setPtrB (B *b, const ListB &bl) |
![]() | |
virtual | ~Solvable () |
Static Public Member Functions | |
static int | initialize () |
static void | writer (const MetaCategory *, XMLOutput *) |
![]() | |
template<class T > | |
static PyObject * | create (PyTypeObject *pytype, PyObject *args, PyObject *kwds) |
template<class T > | |
static Object * | createDefault () |
template<class T > | |
static Object * | createString (const string &n) |
static PyObject * | toXML (PyObject *, PyObject *) |
Static Public Attributes | |
static const MetaCategory * | metadata |
Protected Member Functions | |
Flow () | |
Additional Inherited Members | |
![]() | |
DateRange | effectivity |
string | name |
C * | nextA |
C * | nextB |
int | priority |
A * | ptrA |
B * | ptrB |
![]() | |
static PythonType * | registerPythonType (int, const type_info *) |
![]() | |
static vector< PythonType * > | table |
This class defines a material flow to/from a buffer, linked with an operation. This default implementation plans the material flow at the start of the operation.
|
inlineexplicitprotected |
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::Object.
|
virtual |
Called while restoring the model from an XML-file.
This is called when the corresponding close element tag is encountered, and the Data() member of pElement is valid.
Implements frepple::utils::Object.
|
inline |
|
inline |
This method holds the logic the compute the date of a flowplan.
Reimplemented in frepple::FlowEnd.
|
inlinevirtual |
This method holds the logic the compute the quantity of a flowplan.
Reimplemented in frepple::FlowFixedStart, and frepple::FlowFixedEnd.
|
inlinevirtual |
A flow is considered hidden when either its buffer or operation are hidden.
Reimplemented from frepple::utils::Object.
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
Return the memory size of the object in bytes.
Implements frepple::utils::Object.
Reimplemented in frepple::FlowFixedStart, frepple::FlowFixedEnd, frepple::FlowEnd, and frepple::FlowStart.
|
inlinevirtual |
This returns the type information on the object, a bit similar to the standard type_info information.
Implements frepple::utils::Object.
Reimplemented in frepple::FlowFixedStart, frepple::FlowFixedEnd, frepple::FlowEnd, and frepple::FlowStart.
|
inline |
|
inline |
|
inline |
void frepple::Flow::setAlternate | ( | Flow * | f | ) |
void frepple::Flow::setAlternate | ( | const string & | n | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
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::FlowFixedStart, frepple::FlowFixedEnd, frepple::FlowEnd, and frepple::FlowStart.
Called while writing the model into an XML-file. The user class should write itself out, using the IOutStream members for its "simple" members and calling writeElement recursively for any contained objects. Not all classes are expected to implement this method. In instances of such a class can be created but can't be persisted. E.g. Command
Reimplemented from frepple::utils::Object.
Reimplemented in frepple::FlowEnd.
|
static |
|
static |