|
FAUST compiler
0.9.9.6b8
|
Sequential composition. More...
#include <seqSchema.h>


Public Member Functions | |
| virtual void | place (double ox, double oy, int orientation) |
| Place the two components horizontally with enough space for the connections. More... | |
| virtual void | draw (device &dev) |
| Draw the two components as well as the internal wires. More... | |
| virtual point | inputPoint (unsigned int i) const |
| The input points are the input points of the first component. More... | |
| virtual point | outputPoint (unsigned int i) const |
| The output points are the output points of the second component. More... | |
| virtual void | collectTraits (collector &c) |
| Draw the two components as well as the internal wires. More... | |
Public Member Functions inherited from schema | |
| schema (unsigned int inputs, unsigned int outputs, double width, double height) | |
| virtual | ~schema () |
| double | width () const |
| double | height () const |
| unsigned int | inputs () const |
| unsigned int | outputs () const |
| void | beginPlace (double x, double y, int orientation) |
| void | endPlace () |
| bool | placed () const |
| double | x () const |
| double | y () const |
| int | orientation () const |
Private Member Functions | |
| seqSchema (schema *s1, schema *s2, double hgap) | |
| Constructor for a sequential schema (s1:s2). More... | |
| void | drawInternalWires (device &dev) |
| Draw the internal wires aligning the vertical segments in a symetric way when possible. More... | |
| void | collectInternalWires (collector &c) |
| Draw the internal wires aligning the vertical segments in a symetric way when possible. More... | |
Private Attributes | |
| schema * | fSchema1 |
| schema * | fSchema2 |
| double | fHorzGap |
Friends | |
| schema * | makeSeqSchema (schema *s1, schema *s2) |
| Make a sequential schema. More... | |
Sequential composition.
Place and connect two diagrams in sequence. The constructor is private because one should use the makeSeqSchema function instead.
Definition at line 36 of file seqSchema.h.
Constructor for a sequential schema (s1:s2).
The components s1 and s2 are supposed to be "compatible" (s1 : n->m and s2 : m->q)
Definition at line 62 of file seqSchema.cpp.
References schema::inputs(), and schema::outputs().

|
private |
Draw the internal wires aligning the vertical segments in a symetric way when possible.
Definition at line 233 of file seqSchema.cpp.
References collector::addTrait(), direction(), dWire, fHorzGap, fSchema1, fSchema2, schema::inputPoint(), schema::inputs(), kDownDir, kLeftRight, kUpDir, schema::orientation(), schema::outputPoint(), schema::outputs(), point::x, and point::y.
Referenced by collectTraits().


|
virtual |
Draw the two components as well as the internal wires.
Implements schema.
Definition at line 138 of file seqSchema.cpp.
References collectInternalWires(), schema::collectTraits(), fSchema1, fSchema2, schema::inputs(), schema::outputs(), and schema::placed().

|
virtual |
Draw the two components as well as the internal wires.
Implements schema.
Definition at line 125 of file seqSchema.cpp.
References schema::draw(), fSchema1, fSchema2, schema::inputs(), schema::outputs(), and schema::placed().

|
private |
Draw the internal wires aligning the vertical segments in a symetric way when possible.
Definition at line 154 of file seqSchema.cpp.
References direction(), dWire, fHorzGap, fSchema1, fSchema2, schema::inputPoint(), schema::inputs(), kDownDir, kLeftRight, kUpDir, schema::orientation(), schema::outputPoint(), schema::outputs(), device::trait(), point::x, and point::y.

|
virtual |
The input points are the input points of the first component.
Implements schema.
Definition at line 103 of file seqSchema.cpp.
References fSchema1, and schema::inputPoint().

|
virtual |
The output points are the output points of the second component.
Implements schema.
Definition at line 112 of file seqSchema.cpp.
References fSchema2, and schema::outputPoint().

|
virtual |
Place the two components horizontally with enough space for the connections.
Implements schema.
Definition at line 82 of file seqSchema.cpp.
References schema::beginPlace(), schema::endPlace(), fHorzGap, fSchema1, fSchema2, schema::height(), kLeftRight, max(), schema::orientation(), schema::place(), and schema::width().

Make a sequential schema.
May add cables to ensure the internal connections are between the same number of outputs and inputs. Compute an horizontal gap based on the number of upward and downward connections.
Definition at line 43 of file seqSchema.cpp.
|
private |
Definition at line 40 of file seqSchema.h.
Referenced by collectInternalWires(), drawInternalWires(), and place().
|
private |
Definition at line 38 of file seqSchema.h.
Referenced by collectInternalWires(), collectTraits(), draw(), drawInternalWires(), inputPoint(), and place().
|
private |
Definition at line 39 of file seqSchema.h.
Referenced by collectInternalWires(), collectTraits(), draw(), drawInternalWires(), outputPoint(), and place().
1.8.7