Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 54cac1c2268db633d66eeff1b4faa585 > files > 404

frepple-doc-0.8.1-3.fc15.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>C++ API frePPLe: frepple::OperationRouting Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="../styles.css" rel="stylesheet"  type="text/css">
</head>
<body>
<div id="container">

<div id="menubar"> 
<div id="logo" align="center">
<br/><img src='../frepple.bmp' alt="frepple" /><br/>
<a href='http://www.frepple.com/'>
<strong>a Free<br/>Production Planning<br/>Library</strong>
</a>
</div>
<div id="menu">
<br/>
<h3><a href='../Main/HomePage.html'>Main</a></h3>
<h3><a href='../UI/Main.html'>User Manual</a></h3>
<h3><a href='../Tutorial/Main.html'>Tutorial</a></h3>
<h3><a href='../Frepple/Main.html'>Reference Manual</a></h3>
<h3><a href='../Main/FAQ.html'>FAQ</a></h3>
<h3><a href='index.html'>C++ API</a></h3>
<br/>
</div>  
</div>

<div id="content">
<br/>
<!-- Generated by Doxygen 1.6.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="a00256.html">frepple</a>::<a class="el" href="a00128.html">OperationRouting</a>
  </div>
</div>
<div class="contents">
<h1>frepple::OperationRouting Class Reference</h1><!-- doxytag: class="frepple::OperationRouting" --><!-- doxytag: inherits="frepple::Operation" -->
<p>Represents a routing operation, i.e. an operation consisting of multiple, sequential sub-operations.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="a00218_source.html">model.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for frepple::OperationRouting:</div>
<div class="dynsection">
<div class="center"><img src="a00471.png" border="0" usemap="#frepple_1_1_operation_routing_inherit__map" alt="Inheritance graph"/></div>
<map name="frepple_1_1_operation_routing_inherit__map" id="frepple_1_1_operation_routing_inherit__map">
<area shape="rect" id="node2" href="a00121.html" title="An operation represents an activity: these consume and produce material, take time..." alt="" coords="807,131,929,159"/>
<area shape="rect" id="node4" href="a00085.html" title="frepple::utils::HasName\&lt; Operation \&gt;" alt="" coords="521,55,756,83"/>
<area shape="rect" id="node6" href="a00119.html" title="Class NonCopyable is a base class. Derive your own class from it when you want to..." alt="" coords="289,5,465,33"/>
<area shape="rect" id="node8" href="a00182.html" title="This class represents a node in the tree." alt="" coords="284,55,471,83"/>
<area shape="rect" id="node10" href="a00120.html" title="Object is the abstract base class for the main entities." alt="" coords="309,106,445,134"/>
<area shape="rect" id="node12" href="a00151.html" title="This is a base class for all Python extension types." alt="" coords="7,106,233,134"/>
<area shape="rect" id="node14" href="a00084.html" title="The purpose of this class is to compute the levels of all buffers, operations and..." alt="" coords="579,106,699,134"/>
<area shape="rect" id="node16" href="a00133.html" title="This class needs to be implemented by all classes that implement dynamic behavior..." alt="" coords="577,157,700,185"/>
<area shape="rect" id="node18" href="a00086.html" title="Classes that keep track of problem conditions need to implement this class." alt="" coords="305,157,449,185"/>
<area shape="rect" id="node20" href="a00170.html" title="This class needs to be implemented by all classes that implement dynamic behavior..." alt="" coords="320,207,435,235"/>
<area shape="rect" id="node22" href="a00082.html" title="This is a decorator class for the main objects." alt="" coords="545,207,732,235"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="a00472.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#ab32a4a3eb91accc121cc95c56044cc0c">addStepBack</a> (<a class="el" href="a00121.html">Operation</a> *o)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#ae3d4d7362f073472502f1b25a3e149ea">addStepFront</a> (<a class="el" href="a00121.html">Operation</a> *o)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#aaf6ac7b995513f4f4590f656e372aeb8">beginElement</a> (<a class="el" href="a00186.html">XMLInput</a> &amp;, const <a class="el" href="a00002.html">Attribute</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#a17ba27923c4f9e18199c48a9e4c7c980">endElement</a> (<a class="el" href="a00186.html">XMLInput</a> &amp;, const <a class="el" href="a00002.html">Attribute</a> &amp;, const <a class="el" href="a00047.html">DataElement</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual PyObject *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#a5d33554349a36ca63ed8062504e8759c">getattro</a> (const <a class="el" href="a00002.html">Attribute</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#a1b19258a194b754bc1c2e27a82179fc8">getSize</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="a00121.html#ae5c93377f652a5bdb9ec20e6bee898e9">Operationlist</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#a2630402ce9db63798fd471795b65c155">getSubOperations</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="a00115.html">MetaClass</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#a5fe9bbd17ea3a5854143fcf7580eda99">getType</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#a2674feedfc7cbfe0e65e81f459470fa6">OperationRouting</a> (const string &amp;c)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#a0687ee8feacc2b4a5645f176ae7be5a5">removeSubOperation</a> (<a class="el" href="a00121.html">Operation</a> *o)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00127.html">OperationPlanState</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#a0c888f038ba3135b8987f894f9b61537">setOperationPlanParameters</a> (<a class="el" href="a00125.html">OperationPlan</a> *, double, <a class="el" href="a00049.html">Date</a>, <a class="el" href="a00049.html">Date</a>, bool=true, bool=true) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#a11db0cb9bc8dacf88f5d81f622d3c8a4">solve</a> (<a class="el" href="a00171.html">Solver</a> &amp;s, void *v=NULL) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#a6b681054d10d974688b5a0d92ea4d5f7">writeElement</a> (<a class="el" href="a00189.html">XMLOutput</a> *, const <a class="el" href="a00096.html">Keyword</a> &amp;, <a class="el" href="a00257.html#a20c2c7e4c6b668e71c154ae3eb18f398">mode</a>=DEFAULT) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#a557402651b823972386b5f5f19a436e2">~OperationRouting</a> ()</td></tr>
<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static PyObject *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#afd7538ad741943ee47c1aa2e9162e439">addStep</a> (PyObject *, PyObject *)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#ac514629e1d2c8580682296357c3572dd">initialize</a> ()</td></tr>
<tr><td colspan="2"><h2>Static Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="a00115.html">MetaClass</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#aef5314cf5948eaf8b8f1958060b28f39">metadata</a></td></tr>
<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#a94629eb8c0ea5f23bc616998a2864324">extraInstantiate</a> (<a class="el" href="a00125.html">OperationPlan</a> *o)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Represents a routing operation, i.e. an operation consisting of multiple, sequential sub-operations. </p>

<p>Definition at line <a class="el" href="a00218_source.html#l02602">2602</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a2674feedfc7cbfe0e65e81f459470fa6"></a><!-- doxytag: member="frepple::OperationRouting::OperationRouting" ref="a2674feedfc7cbfe0e65e81f459470fa6" args="(const string &amp;c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">frepple::OperationRouting::OperationRouting </td>
          <td>(</td>
          <td class="paramtype">const string &amp;&nbsp;</td>
          <td class="paramname"> <em>c</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Constructor. </p>

<p>Definition at line <a class="el" href="a00218_source.html#l02606">2606</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p>

</div>
</div>
<a class="anchor" id="a557402651b823972386b5f5f19a436e2"></a><!-- doxytag: member="frepple::OperationRouting::~OperationRouting" ref="a557402651b823972386b5f5f19a436e2" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">frepple::OperationRouting::~OperationRouting </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Destructor. </p>

<p>Definition at line <a class="el" href="a00223_source.html#l00147">147</a> of file <a class="el" href="a00223_source.html">operation.cpp</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="afd7538ad741943ee47c1aa2e9162e439"></a><!-- doxytag: member="frepple::OperationRouting::addStep" ref="afd7538ad741943ee47c1aa2e9162e439" args="(PyObject *, PyObject *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">PyObject * frepple::OperationRouting::addStep </td>
          <td>(</td>
          <td class="paramtype">PyObject *&nbsp;</td>
          <td class="paramname"> <em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">PyObject *&nbsp;</td>
          <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Add one or more steps to a routing. </p>

<p>Definition at line <a class="el" href="a00223_source.html#l01607">1607</a> of file <a class="el" href="a00223_source.html">operation.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="ab32a4a3eb91accc121cc95c56044cc0c"></a><!-- doxytag: member="frepple::OperationRouting::addStepBack" ref="ab32a4a3eb91accc121cc95c56044cc0c" args="(Operation *o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void frepple::OperationRouting::addStepBack </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00121.html">Operation</a> *&nbsp;</td>
          <td class="paramname"> <em>o</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Adds a new steps to routing at the end of the routing. </p>

<p>Definition at line <a class="el" href="a00218_source.html#l02620">2620</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae3d4d7362f073472502f1b25a3e149ea"></a><!-- doxytag: member="frepple::OperationRouting::addStepFront" ref="ae3d4d7362f073472502f1b25a3e149ea" args="(Operation *o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void frepple::OperationRouting::addStepFront </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00121.html">Operation</a> *&nbsp;</td>
          <td class="paramname"> <em>o</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Adds a new steps to routing at the start of the routing. </p>

<p>Definition at line <a class="el" href="a00218_source.html#l02612">2612</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p>

</div>
</div>
<a class="anchor" id="aaf6ac7b995513f4f4590f656e372aeb8"></a><!-- doxytag: member="frepple::OperationRouting::beginElement" ref="aaf6ac7b995513f4f4590f656e372aeb8" args="(XMLInput &amp;, const Attribute &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void frepple::OperationRouting::beginElement </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00186.html">XMLInput</a> &amp;&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00002.html">Attribute</a> &amp;&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Called while restoring the model from an XML-file.<br/>
 This is called for each element within the "this" element, for which the "this" element is immediate parent.<br/>
 It is called when the open element tag is encountered. </p>

<p>Reimplemented from <a class="el" href="a00121.html#a1ea5ed57a9d9cf0ffd71db2c1122ecf5">frepple::Operation</a>.</p>

<p>Definition at line <a class="el" href="a00223_source.html#l00916">916</a> of file <a class="el" href="a00223_source.html">operation.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a17ba27923c4f9e18199c48a9e4c7c980"></a><!-- doxytag: member="frepple::OperationRouting::endElement" ref="a17ba27923c4f9e18199c48a9e4c7c980" args="(XMLInput &amp;, const Attribute &amp;, const DataElement &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void frepple::OperationRouting::endElement </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00186.html">XMLInput</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pIn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00002.html">Attribute</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pAttr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00047.html">DataElement</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pElement</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented from <a class="el" href="a00121.html#aa201f6f1dd9d0194ac419345333a5a7f">frepple::Operation</a>.</p>

<p>Definition at line <a class="el" href="a00223_source.html#l00925">925</a> of file <a class="el" href="a00223_source.html">operation.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a94629eb8c0ea5f23bc616998a2864324"></a><!-- doxytag: member="frepple::OperationRouting::extraInstantiate" ref="a94629eb8c0ea5f23bc616998a2864324" args="(OperationPlan *o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool frepple::OperationRouting::extraInstantiate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00125.html">OperationPlan</a> *&nbsp;</td>
          <td class="paramname"> <em>o</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Extra logic to be used when instantiating an operationplan. </p>

<p>Reimplemented from <a class="el" href="a00121.html#a281dbc14aa516838b895c352bd388bda">frepple::Operation</a>.</p>

<p>Definition at line <a class="el" href="a00223_source.html#l01004">1004</a> of file <a class="el" href="a00223_source.html">operation.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a5d33554349a36ca63ed8062504e8759c"></a><!-- doxytag: member="frepple::OperationRouting::getattro" ref="a5d33554349a36ca63ed8062504e8759c" args="(const Attribute &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">PyObject * frepple::OperationRouting::getattro </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00002.html">Attribute</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>attr</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Default getattro method. <br/>
 Subclasses are expected to implement an override if the type supports gettattro. </p>

<p>Reimplemented from <a class="el" href="a00121.html#a0681225944aef2db5421e5a5f7f710c1">frepple::Operation</a>.</p>

<p>Definition at line <a class="el" href="a00223_source.html#l01593">1593</a> of file <a class="el" href="a00223_source.html">operation.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a1b19258a194b754bc1c2e27a82179fc8"></a><!-- doxytag: member="frepple::OperationRouting::getSize" ref="a1b19258a194b754bc1c2e27a82179fc8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual size_t frepple::OperationRouting::getSize </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return the memory size of the object in bytes. </p>

<p>Implements <a class="el" href="a00120.html#ae381655a0e700d1e0d9ef72379792872">frepple::utils::Object</a>.</p>

<p>Definition at line <a class="el" href="a00218_source.html#l02665">2665</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2630402ce9db63798fd471795b65c155"></a><!-- doxytag: member="frepple::OperationRouting::getSubOperations" ref="a2630402ce9db63798fd471795b65c155" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="a00121.html#ae5c93377f652a5bdb9ec20e6bee898e9">Operationlist</a>&amp; frepple::OperationRouting::getSubOperations </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return a list of all sub-operationplans. </p>

<p>Reimplemented from <a class="el" href="a00121.html#adacfb6a7138a25e554e17da40f2c5438">frepple::Operation</a>.</p>

<p>Definition at line <a class="el" href="a00218_source.html#l02661">2661</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5fe9bbd17ea3a5854143fcf7580eda99"></a><!-- doxytag: member="frepple::OperationRouting::getType" ref="a5fe9bbd17ea3a5854143fcf7580eda99" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="a00115.html">MetaClass</a>&amp; frepple::OperationRouting::getType </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This returns the type information on the object, a bit similar to the standard type_info information. </p>

<p>Implements <a class="el" href="a00120.html#a2e5ff5e5d9c32647f692abd04a0d72d2">frepple::utils::Object</a>.</p>

<p>Definition at line <a class="el" href="a00218_source.html#l02663">2663</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac514629e1d2c8580682296357c3572dd"></a><!-- doxytag: member="frepple::OperationRouting::initialize" ref="ac514629e1d2c8580682296357c3572dd" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int frepple::OperationRouting::initialize </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented from <a class="el" href="a00121.html#ab5e2d2b189b10576cb3775b44e232f87">frepple::Operation</a>.</p>

<p>Definition at line <a class="el" href="a00223_source.html#l00089">89</a> of file <a class="el" href="a00223_source.html">operation.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a0687ee8feacc2b4a5645f176ae7be5a5"></a><!-- doxytag: member="frepple::OperationRouting::removeSubOperation" ref="a0687ee8feacc2b4a5645f176ae7be5a5" args="(Operation *o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void frepple::OperationRouting::removeSubOperation </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00121.html">Operation</a> *&nbsp;</td>
          <td class="paramname"> <em>o</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Remove a step from a routing. </p>

<p>Definition at line <a class="el" href="a00218_source.html#l02631">2631</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0c888f038ba3135b8987f894f9b61537"></a><!-- doxytag: member="frepple::OperationRouting::setOperationPlanParameters" ref="a0c888f038ba3135b8987f894f9b61537" args="(OperationPlan *, double, Date, Date, bool=true, bool=true) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00127.html">OperationPlanState</a> frepple::OperationRouting::setOperationPlanParameters </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00125.html">OperationPlan</a> *&nbsp;</td>
          <td class="paramname"> <em>opplan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>q</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00049.html">Date</a>&nbsp;</td>
          <td class="paramname"> <em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00049.html">Date</a>&nbsp;</td>
          <td class="paramname"> <em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>preferEnd</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>execute</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>A operation of this type enforces the following rules on its operationplans:</p>
<ul>
<li>If an end date is given, sequentially use this method on the different steps. The steps are stepped through starting from the last step, and each step will adjust to meet the requested end date. If there is slack between the routings' step operationplans, it can be used to "absorb" the change.</li>
<li>When a start date is given, the behavior is similar to the previous case, except that we step through the operationplans from the first step this time.</li>
<li>If both a start and an end date are given, we use only the end date.</li>
<li>If there are no sub operationplans yet, apply the requested changes blindly. <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00121.html#a744480cdd80e70a2b0a7606114e1ab73">Operation::setOperationPlanParameters</a> </dd></dl>
</li>
</ul>

<p>Implements <a class="el" href="a00121.html#a744480cdd80e70a2b0a7606114e1ab73">frepple::Operation</a>.</p>

<p>Definition at line <a class="el" href="a00223_source.html#l00939">939</a> of file <a class="el" href="a00223_source.html">operation.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a11db0cb9bc8dacf88f5d81f622d3c8a4"></a><!-- doxytag: member="frepple::OperationRouting::solve" ref="a11db0cb9bc8dacf88f5d81f622d3c8a4" args="(Solver &amp;s, void *v=NULL) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void frepple::OperationRouting::solve </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00171.html">Solver</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>v</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>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. </p>

<p>Reimplemented from <a class="el" href="a00121.html#a15b6686fb03126fea6d5151a79aa5a91">frepple::Operation</a>.</p>

<p>Definition at line <a class="el" href="a00218_source.html#l02658">2658</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6b681054d10d974688b5a0d92ea4d5f7"></a><!-- doxytag: member="frepple::OperationRouting::writeElement" ref="a6b681054d10d974688b5a0d92ea4d5f7" args="(XMLOutput *, const Keyword &amp;, mode=DEFAULT) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void frepple::OperationRouting::writeElement </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00189.html">XMLOutput</a> *&nbsp;</td>
          <td class="paramname"> <em>o</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00096.html">Keyword</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>tag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00257.html#a20c2c7e4c6b668e71c154ae3eb18f398">mode</a>&nbsp;</td>
          <td class="paramname"> <em>m</em> = <code>DEFAULT</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented from <a class="el" href="a00121.html#a3db91252184523fa8246064446d56b60">frepple::Operation</a>.</p>

<p>Definition at line <a class="el" href="a00223_source.html#l00889">889</a> of file <a class="el" href="a00223_source.html">operation.cpp</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="aef5314cf5948eaf8b8f1958060b28f39"></a><!-- doxytag: member="frepple::OperationRouting::metadata" ref="aef5314cf5948eaf8b8f1958060b28f39" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00115.html">MetaClass</a> * <a class="el" href="a00128.html#aef5314cf5948eaf8b8f1958060b28f39">frepple::OperationRouting::metadata</a><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented from <a class="el" href="a00121.html#afcc9adf1a9c37fd168af778368601978">frepple::Operation</a>.</p>

<p>Definition at line <a class="el" href="a00218_source.html#l02664">2664</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="a00218_source.html">model.h</a></li>
<li><a class="el" href="a00223_source.html">operation.cpp</a></li>
</ul>
</div>
<hr size="1"/><address style="align: right;"><small>Documentation generated for frePPLe by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"/></a></small></address>
</div>
</div>
</body>
</html>