<!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>FAUST compiler: decorateSchema Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.3 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</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> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>decorateSchema Class Reference</h1><!-- doxytag: class="decorateSchema" --><!-- doxytag: inherits="schema" --> <p>A <a class="el" href="classdecorateSchema.html" title="A decorateSchema is a schema surrounded by a dashed rectangle with a label on the...">decorateSchema</a> is a schema surrounded by a dashed rectangle with a label on the top left. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="decorateSchema_8h_source.html">decorateSchema.h</a>></code></p> <p>Inherits <a class="el" href="classschema.html">schema</a>.</p> <div class="dynheader"> Collaboration diagram for decorateSchema:</div> <div class="dynsection"> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="classdecorateSchema-members.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">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdecorateSchema.html#a0115b1bbad67cf7c8e53f9dc6d26966f">place</a> (double ox, double oy, int orientation)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Define the graphic position of the schema. <a href="#a0115b1bbad67cf7c8e53f9dc6d26966f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdecorateSchema.html#aa30ed3c78834eb28904a155bb711cad3">draw</a> (<a class="el" href="classdevice.html">device</a> &dev)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Draw the enlarged schema. <a href="#aa30ed3c78834eb28904a155bb711cad3"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structpoint.html">point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdecorateSchema.html#ada8a3b75b36c54ea212e66b4ce2c40c3">inputPoint</a> (unsigned int i) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns an input point. <a href="#ada8a3b75b36c54ea212e66b4ce2c40c3"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structpoint.html">point</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdecorateSchema.html#aa994f42336a23bb8c32c1e6a568e6f84">outputPoint</a> (unsigned int i) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns an output point. <a href="#aa994f42336a23bb8c32c1e6a568e6f84"></a><br/></td></tr> <tr><td colspan="2"><h2>Private Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdecorateSchema.html#a1a9949605cbf34e2b02464c2ede81f05">decorateSchema</a> (<a class="el" href="classschema.html">schema</a> *s1, double margin, const string &text)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A <a class="el" href="classdecorateSchema.html" title="A decorateSchema is a schema surrounded by a dashed rectangle with a label on the...">decorateSchema</a> is a schema surrounded by a dashed rectangle with a label on the top left. <a href="#a1a9949605cbf34e2b02464c2ede81f05"></a><br/></td></tr> <tr><td colspan="2"><h2>Private Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classschema.html">schema</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdecorateSchema.html#a81310913b002fb7c4376bc8951b4d542">fSchema</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classdecorateSchema.html#a125463c65963b169e249e9631bc32cb7">fMargin</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">string </td><td class="memItemRight" valign="bottom"><a class="el" href="classdecorateSchema.html#aa6214bbc92670d5d7775a7803c0ada1e">fText</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">vector< <a class="el" href="structpoint.html">point</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classdecorateSchema.html#a5ee87286f54d480dcdebd50746a26f20">fInputPoint</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">vector< <a class="el" href="structpoint.html">point</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classdecorateSchema.html#aec8bad1784681e42193e1c7a709b7de3">fOutputPoint</a></td></tr> <tr><td colspan="2"><h2>Friends</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classschema.html">schema</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdecorateSchema.html#a9ccbf6e556087a249099987a38812209">makeDecorateSchema</a> (<a class="el" href="classschema.html">schema</a> *s1, double margin, const string &text)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a new decorated schema. <a href="#a9ccbf6e556087a249099987a38812209"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>A <a class="el" href="classdecorateSchema.html" title="A decorateSchema is a schema surrounded by a dashed rectangle with a label on the...">decorateSchema</a> is a schema surrounded by a dashed rectangle with a label on the top left. </p> <p>The rectangle is placed at half the margin parameter </p> <p>Definition at line <a class="el" href="decorateSchema_8h_source.html#l00034">34</a> of file <a class="el" href="decorateSchema_8h_source.html">decorateSchema.h</a>.</p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a1a9949605cbf34e2b02464c2ede81f05"></a><!-- doxytag: member="decorateSchema::decorateSchema" ref="a1a9949605cbf34e2b02464c2ede81f05" args="(schema *s1, double margin, const string &text)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">decorateSchema::decorateSchema </td> <td>(</td> <td class="paramtype"><a class="el" href="classschema.html">schema</a> * </td> <td class="paramname"> <em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>margin</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const string & </td> <td class="paramname"> <em>text</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>A <a class="el" href="classdecorateSchema.html" title="A decorateSchema is a schema surrounded by a dashed rectangle with a label on the...">decorateSchema</a> is a schema surrounded by a dashed rectangle with a label on the top left. </p> <p>The rectangle is placed at half the margin parameter. The constructor is made private to enforce the usage of makeDecorateSchema </p> <p>Definition at line <a class="el" href="decorateSchema_8cpp_source.html#l00043">43</a> of file <a class="el" href="decorateSchema_8cpp_source.html">decorateSchema.cpp</a>.</p> <p>References <a class="el" href="decorateSchema_8h_source.html#l00039">fInputPoint</a>, <a class="el" href="decorateSchema_8h_source.html#l00040">fOutputPoint</a>, <a class="el" href="schema_8h_source.html#l00087">schema::inputs()</a>, and <a class="el" href="schema_8h_source.html#l00088">schema::outputs()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00044"></a>00044 : <a class="code" href="classschema.html#a05b1cb48791b70b1ae5706e9a29020c9">schema</a>(s-><a class="code" href="classschema.html#ac0d35106760b7d113718e9ee9d02e108">inputs</a>(), s-><a class="code" href="classschema.html#a217dc5df9996203d3ea0521c84c38567">outputs</a>(), s-><a class="code" href="classschema.html#aa598f06d50f5cee518892c572453cf67">width</a>()+2*margin, s-><a class="code" href="classschema.html#acd72d5b630acd4eadf3f856aa6176c99">height</a>()+2*margin), <a name="l00045"></a>00045 <a class="code" href="classdecorateSchema.html#a81310913b002fb7c4376bc8951b4d542">fSchema</a>(s), <a name="l00046"></a>00046 <a class="code" href="classdecorateSchema.html#a125463c65963b169e249e9631bc32cb7">fMargin</a>(margin), <a name="l00047"></a>00047 <a class="code" href="classdecorateSchema.html#aa6214bbc92670d5d7775a7803c0ada1e">fText</a>(text) <a name="l00048"></a>00048 { <a name="l00049"></a>00049 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i=0; i<<a class="code" href="classschema.html#ac0d35106760b7d113718e9ee9d02e108">inputs</a>(); i++) <a class="code" href="classdecorateSchema.html#a5ee87286f54d480dcdebd50746a26f20">fInputPoint</a>.push_back(<a class="code" href="structpoint.html">point</a>(0)); <a name="l00050"></a>00050 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i=0; i<<a class="code" href="classschema.html#a217dc5df9996203d3ea0521c84c38567">outputs</a>(); i++) <a class="code" href="classdecorateSchema.html#aec8bad1784681e42193e1c7a709b7de3">fOutputPoint</a>.push_back(<a class="code" href="structpoint.html">point</a>(0)); <a name="l00051"></a>00051 } </pre></div></p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> </div> </p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="aa30ed3c78834eb28904a155bb711cad3"></a><!-- doxytag: member="decorateSchema::draw" ref="aa30ed3c78834eb28904a155bb711cad3" args="(device &dev)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void decorateSchema::draw </td> <td>(</td> <td class="paramtype"><a class="el" href="classdevice.html">device</a> & </td> <td class="paramname"> <em>dev</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Draw the enlarged schema. </p> <p>This methos can only be called after the block have been placed </p> <p>Implements <a class="el" href="classschema.html#a6b8ab062669efb5f96e45d4e40f123b0">schema</a>.</p> <p>Definition at line <a class="el" href="decorateSchema_8cpp_source.html#l00107">107</a> of file <a class="el" href="decorateSchema_8cpp_source.html">decorateSchema.cpp</a>.</p> <p>References <a class="el" href="classdevice.html#a9ad41d630ba977cee7c630dc5d60b84c">device::dasharray()</a>, <a class="el" href="schema_8h_source.html#l00034">dLetter</a>, <a class="el" href="classschema.html#a6b8ab062669efb5f96e45d4e40f123b0">schema::draw()</a>, <a class="el" href="decorateSchema_8h_source.html#l00037">fMargin</a>, <a class="el" href="decorateSchema_8h_source.html#l00036">fSchema</a>, <a class="el" href="decorateSchema_8h_source.html#l00038">fText</a>, <a class="el" href="schema_8h_source.html#l00086">schema::height()</a>, <a class="el" href="classschema.html#a6b533651c7b65aeec424762c42777bd8">schema::inputPoint()</a>, <a class="el" href="decorateSchema_8cpp_source.html#l00086">inputPoint()</a>, <a class="el" href="schema_8h_source.html#l00087">schema::inputs()</a>, <a class="el" href="classdevice.html#af10cdf9ab7e69b8a823b52d12fff8967">device::label()</a>, <a class="el" href="interval_8hh_source.html#l00059">min()</a>, <a class="el" href="classschema.html#a9521bca5db264dfdd0f523e1c3c03263">schema::outputPoint()</a>, <a class="el" href="decorateSchema_8cpp_source.html#l00096">outputPoint()</a>, <a class="el" href="schema_8h_source.html#l00088">schema::outputs()</a>, <a class="el" href="schema_8h_source.html#l00096">schema::placed()</a>, <a class="el" href="list_8hh_source.html#l00134">tl()</a>, <a class="el" href="classdevice.html#a9fa8ce6f7449c3120908e75880f6b4e4">device::trait()</a>, <a class="el" href="schema_8h_source.html#l00085">schema::width()</a>, <a class="el" href="schema_8h_source.html#l00097">schema::x()</a>, <a class="el" href="schema_8h_source.html#l00041">point::x</a>, <a class="el" href="schema_8h_source.html#l00098">schema::y()</a>, and <a class="el" href="schema_8h_source.html#l00042">point::y</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00108"></a>00108 { <a name="l00109"></a>00109 assert(<a class="code" href="classschema.html#a8c432179c626462d041ce2d8c68ef875">placed</a>()); <a name="l00110"></a>00110 <a name="l00111"></a>00111 <a class="code" href="classdecorateSchema.html#a81310913b002fb7c4376bc8951b4d542">fSchema</a>-><a class="code" href="classschema.html#a6b8ab062669efb5f96e45d4e40f123b0">draw</a>(dev); <a name="l00112"></a>00112 <a name="l00113"></a>00113 <span class="comment">// draw enlarge input wires</span> <a name="l00114"></a>00114 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i=0; i<<a class="code" href="classschema.html#ac0d35106760b7d113718e9ee9d02e108">inputs</a>(); i++) { <a name="l00115"></a>00115 <a class="code" href="structpoint.html">point</a> p = <a class="code" href="classdecorateSchema.html#ada8a3b75b36c54ea212e66b4ce2c40c3" title="Returns an input point.">inputPoint</a>(i); <a name="l00116"></a>00116 <a class="code" href="structpoint.html">point</a> q = <a class="code" href="classdecorateSchema.html#a81310913b002fb7c4376bc8951b4d542">fSchema</a>-><a class="code" href="classschema.html#a6b533651c7b65aeec424762c42777bd8">inputPoint</a>(i); <a name="l00117"></a>00117 dev.<a class="code" href="classdevice.html#a9fa8ce6f7449c3120908e75880f6b4e4">trait</a>(p.<a class="code" href="structpoint.html#a9c6b34deaf4900ad4193c17935fd384a">x</a>, p.<a class="code" href="structpoint.html#a613f8f0d7352731638b0094e1b958b87">y</a>, q.<a class="code" href="structpoint.html#a9c6b34deaf4900ad4193c17935fd384a">x</a>, q.<a class="code" href="structpoint.html#a613f8f0d7352731638b0094e1b958b87">y</a>); <a name="l00118"></a>00118 } <a name="l00119"></a>00119 <a name="l00120"></a>00120 <span class="comment">// draw enlarge output wires</span> <a name="l00121"></a>00121 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i=0; i<<a class="code" href="classschema.html#a217dc5df9996203d3ea0521c84c38567">outputs</a>(); i++) { <a name="l00122"></a>00122 <a class="code" href="structpoint.html">point</a> p = <a class="code" href="classdecorateSchema.html#aa994f42336a23bb8c32c1e6a568e6f84" title="Returns an output point.">outputPoint</a>(i); <a name="l00123"></a>00123 <a class="code" href="structpoint.html">point</a> q = <a class="code" href="classdecorateSchema.html#a81310913b002fb7c4376bc8951b4d542">fSchema</a>-><a class="code" href="classschema.html#a9521bca5db264dfdd0f523e1c3c03263">outputPoint</a>(i); <a name="l00124"></a>00124 dev.<a class="code" href="classdevice.html#a9fa8ce6f7449c3120908e75880f6b4e4">trait</a>(p.<a class="code" href="structpoint.html#a9c6b34deaf4900ad4193c17935fd384a">x</a>, p.<a class="code" href="structpoint.html#a613f8f0d7352731638b0094e1b958b87">y</a>, q.<a class="code" href="structpoint.html#a9c6b34deaf4900ad4193c17935fd384a">x</a>, q.<a class="code" href="structpoint.html#a613f8f0d7352731638b0094e1b958b87">y</a>); <a name="l00125"></a>00125 } <a name="l00126"></a>00126 <a name="l00127"></a>00127 <span class="comment">// define the coordinates of the frame</span> <a name="l00128"></a>00128 <span class="keywordtype">double</span> tw = (2+<a class="code" href="classdecorateSchema.html#aa6214bbc92670d5d7775a7803c0ada1e">fText</a>.size())*<a class="code" href="schema_8h.html#ad3489d9399e3efa442157d00b08f900b" title="width of a letter">dLetter</a>*0.75; <a name="l00129"></a>00129 <span class="keywordtype">double</span> x0 = <a class="code" href="classschema.html#a120e106abe224a0e9170565edffa106a">x</a>() + <a class="code" href="classdecorateSchema.html#a125463c65963b169e249e9631bc32cb7">fMargin</a>/2; <span class="comment">// left</span> <a name="l00130"></a>00130 <span class="keywordtype">double</span> y0 = <a class="code" href="classschema.html#a82c4e6b273c7e48607f3bbf44d5b2c27">y</a>() + <a class="code" href="classdecorateSchema.html#a125463c65963b169e249e9631bc32cb7">fMargin</a>/2; <span class="comment">// top</span> <a name="l00131"></a>00131 <span class="keywordtype">double</span> x1 = <a class="code" href="classschema.html#a120e106abe224a0e9170565edffa106a">x</a>() + <a class="code" href="classschema.html#aa598f06d50f5cee518892c572453cf67">width</a>() - <a class="code" href="classdecorateSchema.html#a125463c65963b169e249e9631bc32cb7">fMargin</a>/2; <span class="comment">// right</span> <a name="l00132"></a>00132 <span class="keywordtype">double</span> y1 = <a class="code" href="classschema.html#a82c4e6b273c7e48607f3bbf44d5b2c27">y</a>() + <a class="code" href="classschema.html#acd72d5b630acd4eadf3f856aa6176c99">height</a>() - <a class="code" href="classdecorateSchema.html#a125463c65963b169e249e9631bc32cb7">fMargin</a>/2; <span class="comment">// bottom</span> <a name="l00133"></a>00133 <span class="comment">//double tl = x0 + 2*dWire; // left of text zone</span> <a name="l00134"></a>00134 <span class="keywordtype">double</span> <a class="code" href="list_8hh.html#a4075748f5c7156306ec898795313a2e0">tl</a> = <a class="code" href="classschema.html#a120e106abe224a0e9170565edffa106a">x</a>() + <a class="code" href="classdecorateSchema.html#a125463c65963b169e249e9631bc32cb7">fMargin</a>; <span class="comment">// left of text zone</span> <a name="l00135"></a>00135 <span class="keywordtype">double</span> tr = <a class="code" href="interval_8hh.html#a2f8edc4561e9744ed4233b205fa7ec32">min</a>(tl+tw, x1); <span class="comment">// right of text zone</span> <a name="l00136"></a>00136 <a name="l00137"></a>00137 <span class="comment">// draw the surronding frame</span> <a name="l00138"></a>00138 dev.<a class="code" href="classdevice.html#a9ad41d630ba977cee7c630dc5d60b84c">dasharray</a>(x0, y0, x0, y1); <span class="comment">// left line</span> <a name="l00139"></a>00139 dev.<a class="code" href="classdevice.html#a9ad41d630ba977cee7c630dc5d60b84c">dasharray</a>(x0, y1, x1, y1); <span class="comment">// bottom line</span> <a name="l00140"></a>00140 dev.<a class="code" href="classdevice.html#a9ad41d630ba977cee7c630dc5d60b84c">dasharray</a>(x1, y1, x1, y0); <span class="comment">// right line</span> <a name="l00141"></a>00141 dev.<a class="code" href="classdevice.html#a9ad41d630ba977cee7c630dc5d60b84c">dasharray</a>(x0, y0, tl, y0); <span class="comment">// top segment before text</span> <a name="l00142"></a>00142 dev.<a class="code" href="classdevice.html#a9ad41d630ba977cee7c630dc5d60b84c">dasharray</a>(tr, y0, x1, y0); <span class="comment">// top segment after text</span> <a name="l00143"></a>00143 <a name="l00144"></a>00144 <span class="comment">// draw the label</span> <a name="l00145"></a>00145 dev.<a class="code" href="classdevice.html#af10cdf9ab7e69b8a823b52d12fff8967">label</a>(tl, y0, <a class="code" href="classdecorateSchema.html#aa6214bbc92670d5d7775a7803c0ada1e">fText</a>.c_str()); <span class="comment">//</span> <a name="l00146"></a>00146 } </pre></div></p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> </div> </p> </div> </div> <a class="anchor" id="ada8a3b75b36c54ea212e66b4ce2c40c3"></a><!-- doxytag: member="decorateSchema::inputPoint" ref="ada8a3b75b36c54ea212e66b4ce2c40c3" args="(unsigned int i) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structpoint.html">point</a> decorateSchema::inputPoint </td> <td>(</td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>i</em></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns an input point. </p> <p>Implements <a class="el" href="classschema.html#a6b533651c7b65aeec424762c42777bd8">schema</a>.</p> <p>Definition at line <a class="el" href="decorateSchema_8cpp_source.html#l00086">86</a> of file <a class="el" href="decorateSchema_8cpp_source.html">decorateSchema.cpp</a>.</p> <p>References <a class="el" href="decorateSchema_8h_source.html#l00039">fInputPoint</a>, <a class="el" href="schema_8h_source.html#l00087">schema::inputs()</a>, and <a class="el" href="schema_8h_source.html#l00096">schema::placed()</a>.</p> <p>Referenced by <a class="el" href="decorateSchema_8cpp_source.html#l00107">draw()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00087"></a>00087 { <a name="l00088"></a>00088 assert (<a class="code" href="classschema.html#a8c432179c626462d041ce2d8c68ef875">placed</a>()); <a name="l00089"></a>00089 assert (i < <a class="code" href="classschema.html#ac0d35106760b7d113718e9ee9d02e108">inputs</a>()); <a name="l00090"></a>00090 <span class="keywordflow">return</span> <a class="code" href="classdecorateSchema.html#a5ee87286f54d480dcdebd50746a26f20">fInputPoint</a>[i]; <a name="l00091"></a>00091 } </pre></div></p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> </div> </p> <p><div class="dynheader"> Here is the caller graph for this function:</div> <div class="dynsection"> </div> </p> </div> </div> <a class="anchor" id="aa994f42336a23bb8c32c1e6a568e6f84"></a><!-- doxytag: member="decorateSchema::outputPoint" ref="aa994f42336a23bb8c32c1e6a568e6f84" args="(unsigned int i) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structpoint.html">point</a> decorateSchema::outputPoint </td> <td>(</td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>i</em></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns an output point. </p> <p>Implements <a class="el" href="classschema.html#a9521bca5db264dfdd0f523e1c3c03263">schema</a>.</p> <p>Definition at line <a class="el" href="decorateSchema_8cpp_source.html#l00096">96</a> of file <a class="el" href="decorateSchema_8cpp_source.html">decorateSchema.cpp</a>.</p> <p>References <a class="el" href="decorateSchema_8h_source.html#l00040">fOutputPoint</a>, <a class="el" href="schema_8h_source.html#l00088">schema::outputs()</a>, and <a class="el" href="schema_8h_source.html#l00096">schema::placed()</a>.</p> <p>Referenced by <a class="el" href="decorateSchema_8cpp_source.html#l00107">draw()</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00097"></a>00097 { <a name="l00098"></a>00098 assert (<a class="code" href="classschema.html#a8c432179c626462d041ce2d8c68ef875">placed</a>()); <a name="l00099"></a>00099 assert (i < <a class="code" href="classschema.html#a217dc5df9996203d3ea0521c84c38567">outputs</a>()); <a name="l00100"></a>00100 <span class="keywordflow">return</span> <a class="code" href="classdecorateSchema.html#aec8bad1784681e42193e1c7a709b7de3">fOutputPoint</a>[i]; <a name="l00101"></a>00101 } </pre></div></p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> </div> </p> <p><div class="dynheader"> Here is the caller graph for this function:</div> <div class="dynsection"> </div> </p> </div> </div> <a class="anchor" id="a0115b1bbad67cf7c8e53f9dc6d26966f"></a><!-- doxytag: member="decorateSchema::place" ref="a0115b1bbad67cf7c8e53f9dc6d26966f" args="(double ox, double oy, int orientation)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void decorateSchema::place </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"> <em>ox</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>oy</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>orientation</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Define the graphic position of the schema. </p> <p>Computes the graphic position of all the elements, in particular the inputs and outputs. This method must be called before <a class="el" href="classdecorateSchema.html#aa30ed3c78834eb28904a155bb711cad3" title="Draw the enlarged schema.">draw()</a>, otherwise draw is not allowed </p> <p>Implements <a class="el" href="classschema.html#aa3ef082636956bead276445f203259a4">schema</a>.</p> <p>Definition at line <a class="el" href="decorateSchema_8cpp_source.html#l00059">59</a> of file <a class="el" href="decorateSchema_8cpp_source.html">decorateSchema.cpp</a>.</p> <p>References <a class="el" href="schema_8h_source.html#l00091">schema::beginPlace()</a>, <a class="el" href="schema_8h_source.html#l00093">schema::endPlace()</a>, <a class="el" href="decorateSchema_8h_source.html#l00039">fInputPoint</a>, <a class="el" href="decorateSchema_8h_source.html#l00037">fMargin</a>, <a class="el" href="decorateSchema_8h_source.html#l00040">fOutputPoint</a>, <a class="el" href="decorateSchema_8h_source.html#l00036">fSchema</a>, <a class="el" href="classschema.html#a6b533651c7b65aeec424762c42777bd8">schema::inputPoint()</a>, <a class="el" href="schema_8h_source.html#l00087">schema::inputs()</a>, <a class="el" href="schema_8h_source.html#l00050">kRightLeft</a>, <a class="el" href="classschema.html#a9521bca5db264dfdd0f523e1c3c03263">schema::outputPoint()</a>, <a class="el" href="schema_8h_source.html#l00088">schema::outputs()</a>, <a class="el" href="classschema.html#aa3ef082636956bead276445f203259a4">schema::place()</a>, <a class="el" href="schema_8h_source.html#l00041">point::x</a>, and <a class="el" href="schema_8h_source.html#l00042">point::y</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00060"></a>00060 { <a name="l00061"></a>00061 <a class="code" href="classschema.html#a84e7eb74cb2a656495a93985db7d5c9d">beginPlace</a>(ox, oy, <a class="code" href="classschema.html#a929b2d9ad9fabd5f41623cbfce72c1d3">orientation</a>); <a name="l00062"></a>00062 <a name="l00063"></a>00063 <a class="code" href="classdecorateSchema.html#a81310913b002fb7c4376bc8951b4d542">fSchema</a>-><a class="code" href="classschema.html#aa3ef082636956bead276445f203259a4">place</a>(ox+<a class="code" href="classdecorateSchema.html#a125463c65963b169e249e9631bc32cb7">fMargin</a>, oy+<a class="code" href="classdecorateSchema.html#a125463c65963b169e249e9631bc32cb7">fMargin</a>, <a class="code" href="classschema.html#a929b2d9ad9fabd5f41623cbfce72c1d3">orientation</a>); <a name="l00064"></a>00064 <a name="l00065"></a>00065 <span class="keywordtype">double</span> m = <a class="code" href="classdecorateSchema.html#a125463c65963b169e249e9631bc32cb7">fMargin</a>; <a name="l00066"></a>00066 <span class="keywordflow">if</span> (<a class="code" href="classschema.html#a929b2d9ad9fabd5f41623cbfce72c1d3">orientation</a> == <a class="code" href="schema_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a2a88372ad0ee00ed92fd58d08ff15a87">kRightLeft</a>) { <a name="l00067"></a>00067 m = -m; <a name="l00068"></a>00068 } <a name="l00069"></a>00069 <a name="l00070"></a>00070 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i=0; i < <a class="code" href="classschema.html#ac0d35106760b7d113718e9ee9d02e108">inputs</a>(); i++) { <a name="l00071"></a>00071 <a class="code" href="structpoint.html">point</a> p = <a class="code" href="classdecorateSchema.html#a81310913b002fb7c4376bc8951b4d542">fSchema</a>-><a class="code" href="classschema.html#a6b533651c7b65aeec424762c42777bd8">inputPoint</a>(i); <a name="l00072"></a>00072 <a class="code" href="classdecorateSchema.html#a5ee87286f54d480dcdebd50746a26f20">fInputPoint</a>[i] = <a class="code" href="structpoint.html">point</a>(p.<a class="code" href="structpoint.html#a9c6b34deaf4900ad4193c17935fd384a">x</a>-m, p.<a class="code" href="structpoint.html#a613f8f0d7352731638b0094e1b958b87">y</a>); <a name="l00073"></a>00073 } <a name="l00074"></a>00074 <a name="l00075"></a>00075 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i=0; i < <a class="code" href="classschema.html#a217dc5df9996203d3ea0521c84c38567">outputs</a>(); i++) { <a name="l00076"></a>00076 <a class="code" href="structpoint.html">point</a> p = <a class="code" href="classdecorateSchema.html#a81310913b002fb7c4376bc8951b4d542">fSchema</a>-><a class="code" href="classschema.html#a9521bca5db264dfdd0f523e1c3c03263">outputPoint</a>(i); <a name="l00077"></a>00077 <a class="code" href="classdecorateSchema.html#aec8bad1784681e42193e1c7a709b7de3">fOutputPoint</a>[i] = <a class="code" href="structpoint.html">point</a>(p.<a class="code" href="structpoint.html#a9c6b34deaf4900ad4193c17935fd384a">x</a>+m, p.<a class="code" href="structpoint.html#a613f8f0d7352731638b0094e1b958b87">y</a>); <a name="l00078"></a>00078 } <a name="l00079"></a>00079 <a name="l00080"></a>00080 <a class="code" href="classschema.html#ad579c7aebc79bfbed5f73b35c399ff83">endPlace</a>(); <a name="l00081"></a>00081 } </pre></div></p> <p><div class="dynheader"> Here is the call graph for this function:</div> <div class="dynsection"> </div> </p> </div> </div> <hr/><h2>Friends And Related Function Documentation</h2> <a class="anchor" id="a9ccbf6e556087a249099987a38812209"></a><!-- doxytag: member="decorateSchema::makeDecorateSchema" ref="a9ccbf6e556087a249099987a38812209" args="(schema *s1, double margin, const string &text)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classschema.html">schema</a>* makeDecorateSchema </td> <td>(</td> <td class="paramtype"><a class="el" href="classschema.html">schema</a> * </td> <td class="paramname"> <em>s1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>margin</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const string & </td> <td class="paramname"> <em>text</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [friend]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Creates a new decorated schema. </p> <p>Definition at line <a class="el" href="decorateSchema_8cpp_source.html#l00031">31</a> of file <a class="el" href="decorateSchema_8cpp_source.html">decorateSchema.cpp</a>.</p> <p><div class="fragment"><pre class="fragment"><a name="l00032"></a>00032 { <a name="l00033"></a>00033 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classdecorateSchema.html#a1a9949605cbf34e2b02464c2ede81f05" title="A decorateSchema is a schema surrounded by a dashed rectangle with a label on the...">decorateSchema</a> (s, margin, text); <a name="l00034"></a>00034 } </pre></div></p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="a5ee87286f54d480dcdebd50746a26f20"></a><!-- doxytag: member="decorateSchema::fInputPoint" ref="a5ee87286f54d480dcdebd50746a26f20" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vector<<a class="el" href="structpoint.html">point</a>> <a class="el" href="classdecorateSchema.html#a5ee87286f54d480dcdebd50746a26f20">decorateSchema::fInputPoint</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="decorateSchema_8h_source.html#l00039">39</a> of file <a class="el" href="decorateSchema_8h_source.html">decorateSchema.h</a>.</p> <p>Referenced by <a class="el" href="decorateSchema_8cpp_source.html#l00043">decorateSchema()</a>, <a class="el" href="decorateSchema_8cpp_source.html#l00086">inputPoint()</a>, and <a class="el" href="decorateSchema_8cpp_source.html#l00059">place()</a>.</p> </div> </div> <a class="anchor" id="a125463c65963b169e249e9631bc32cb7"></a><!-- doxytag: member="decorateSchema::fMargin" ref="a125463c65963b169e249e9631bc32cb7" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double <a class="el" href="classdecorateSchema.html#a125463c65963b169e249e9631bc32cb7">decorateSchema::fMargin</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="decorateSchema_8h_source.html#l00037">37</a> of file <a class="el" href="decorateSchema_8h_source.html">decorateSchema.h</a>.</p> <p>Referenced by <a class="el" href="decorateSchema_8cpp_source.html#l00107">draw()</a>, and <a class="el" href="decorateSchema_8cpp_source.html#l00059">place()</a>.</p> </div> </div> <a class="anchor" id="aec8bad1784681e42193e1c7a709b7de3"></a><!-- doxytag: member="decorateSchema::fOutputPoint" ref="aec8bad1784681e42193e1c7a709b7de3" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vector<<a class="el" href="structpoint.html">point</a>> <a class="el" href="classdecorateSchema.html#aec8bad1784681e42193e1c7a709b7de3">decorateSchema::fOutputPoint</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="decorateSchema_8h_source.html#l00040">40</a> of file <a class="el" href="decorateSchema_8h_source.html">decorateSchema.h</a>.</p> <p>Referenced by <a class="el" href="decorateSchema_8cpp_source.html#l00043">decorateSchema()</a>, <a class="el" href="decorateSchema_8cpp_source.html#l00096">outputPoint()</a>, and <a class="el" href="decorateSchema_8cpp_source.html#l00059">place()</a>.</p> </div> </div> <a class="anchor" id="a81310913b002fb7c4376bc8951b4d542"></a><!-- doxytag: member="decorateSchema::fSchema" ref="a81310913b002fb7c4376bc8951b4d542" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classschema.html">schema</a>* <a class="el" href="classdecorateSchema.html#a81310913b002fb7c4376bc8951b4d542">decorateSchema::fSchema</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="decorateSchema_8h_source.html#l00036">36</a> of file <a class="el" href="decorateSchema_8h_source.html">decorateSchema.h</a>.</p> <p>Referenced by <a class="el" href="decorateSchema_8cpp_source.html#l00107">draw()</a>, and <a class="el" href="decorateSchema_8cpp_source.html#l00059">place()</a>.</p> </div> </div> <a class="anchor" id="aa6214bbc92670d5d7775a7803c0ada1e"></a><!-- doxytag: member="decorateSchema::fText" ref="aa6214bbc92670d5d7775a7803c0ada1e" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">string <a class="el" href="classdecorateSchema.html#aa6214bbc92670d5d7775a7803c0ada1e">decorateSchema::fText</a><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="decorateSchema_8h_source.html#l00038">38</a> of file <a class="el" href="decorateSchema_8h_source.html">decorateSchema.h</a>.</p> <p>Referenced by <a class="el" href="decorateSchema_8cpp_source.html#l00107">draw()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="decorateSchema_8h_source.html">decorateSchema.h</a></li> <li><a class="el" href="decorateSchema_8cpp_source.html">decorateSchema.cpp</a></li> </ul> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Apr 29 00:00:18 2010 for FAUST compiler by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address> </body> </html>