|
FAUST compiler
0.9.9.6b8
|
place and connect two diagrams in recursive composition More...
#include <recSchema.h>


Public Member Functions | |
| virtual void | place (double ox, double oy, int orientation) |
| The two subschema are placed centered vertically, s2 on top of s1. More... | |
| virtual void | draw (device &dev) |
| Draw the two subschema s1 and s2 as well as the implicit feedback delays between s1 and s2. More... | |
| virtual point | inputPoint (unsigned int i) const |
| The input points s1 ~ s2. More... | |
| virtual point | outputPoint (unsigned int i) const |
| The output points s1 ~ s2. More... | |
| virtual void | collectTraits (collector &c) |
| Draw the two subschema s1 and s2 as well as the feedback connections between s1 and s2, and the feedfrom connections beetween s2 and s1. 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 | |
| recSchema (schema *s1, schema *s2, double width) | |
| Constructor of a recursive schema (s1 ~ s2). More... | |
| void | drawDelaySign (device &dev, double x, double y, double size) |
| Draw the delay sign of a feedback connection. More... | |
| void | collectFeedback (collector &c, const point &src, const point &dst, double dx, const point &out) |
| Draw a feedback connection between two points with an horizontal displacement dx. More... | |
| void | collectFeedfront (collector &c, const point &src, const point &dst, double dx) |
| Draw a feedfrom connection between two points with an horizontal displacement dx. More... | |
Private Attributes | |
| schema * | fSchema1 |
| schema * | fSchema2 |
| vector< point > | fInputPoint |
| vector< point > | fOutputPoint |
Friends | |
| schema * | makeRecSchema (schema *s1, schema *s2) |
| Creates a new recursive schema (s1 ~ s2). More... | |
place and connect two diagrams in recursive composition
Definition at line 33 of file recSchema.h.
Constructor of a recursive schema (s1 ~ s2).
The two components are supposed to have the same width.
Definition at line 48 of file recSchema.cpp.
References fInputPoint, fOutputPoint, schema::inputs(), schema::outputs(), and schema::width().

|
private |
Draw a feedback connection between two points with an horizontal displacement dx.
Definition at line 202 of file recSchema.cpp.
References collector::addInput(), collector::addOutput(), collector::addTrait(), dWire, kLeftRight, schema::orientation(), point::x, and point::y.
Referenced by collectTraits().


|
private |
Draw a feedfrom connection between two points with an horizontal displacement dx.
Definition at line 226 of file recSchema.cpp.
References collector::addTrait(), kLeftRight, schema::orientation(), point::x, and point::y.
Referenced by collectTraits().


|
virtual |
Draw the two subschema s1 and s2 as well as the feedback connections between s1 and s2, and the feedfrom connections beetween s2 and s1.
Implements schema.
Definition at line 162 of file recSchema.cpp.
References collector::addTrait(), collectFeedback(), collectFeedfront(), schema::collectTraits(), dWire, fSchema1, fSchema2, inputPoint(), schema::inputPoint(), schema::inputs(), outputPoint(), schema::outputPoint(), schema::outputs(), and schema::placed().

|
virtual |
Draw the two subschema s1 and s2 as well as the implicit feedback delays between s1 and s2.
Implements schema.
Definition at line 129 of file recSchema.cpp.
References schema::draw(), drawDelaySign(), dWire, fSchema1, fSchema2, schema::inputs(), kLeftRight, schema::orientation(), schema::outputPoint(), schema::placed(), point::x, and point::y.

|
private |
Draw the delay sign of a feedback connection.
Definition at line 149 of file recSchema.cpp.
References device::trait().
Referenced by draw().


|
virtual |
The input points s1 ~ s2.
Implements schema.
Definition at line 110 of file recSchema.cpp.
References fInputPoint.
Referenced by collectTraits().

|
virtual |
The output points s1 ~ s2.
Implements schema.
Definition at line 119 of file recSchema.cpp.
References fOutputPoint.
Referenced by collectTraits().

|
virtual |
The two subschema are placed centered vertically, s2 on top of s1.
The input and output points are computed.
Implements schema.
Definition at line 71 of file recSchema.cpp.
References schema::beginPlace(), schema::endPlace(), fInputPoint, fOutputPoint, fSchema1, fSchema2, schema::height(), schema::inputPoint(), schema::inputs(), kLeftRight, kRightLeft, schema::outputPoint(), schema::outputs(), schema::place(), schema::width(), point::x, and point::y.

Creates a new recursive schema (s1 ~ s2).
The smallest component is enlarged to the width of the other. The left and right horizontal margins are computed according to the number of internal connections.
Definition at line 34 of file recSchema.cpp.
|
private |
Definition at line 37 of file recSchema.h.
Referenced by inputPoint(), place(), and recSchema().
|
private |
Definition at line 38 of file recSchema.h.
Referenced by outputPoint(), place(), and recSchema().
|
private |
Definition at line 35 of file recSchema.h.
Referenced by collectTraits(), draw(), and place().
|
private |
Definition at line 36 of file recSchema.h.
Referenced by collectTraits(), draw(), and place().
1.8.7