|
FAUST compiler
0.9.9.6b8
|
place two schemi in parallel More...
#include <parSchema.h>


Public Member Functions | |
| parSchema (schema *s1, schema *s2) | |
| virtual void | place (double ox, double oy, int orientation) |
| virtual void | draw (device &dev) |
| virtual point | inputPoint (unsigned int i) const |
| virtual point | outputPoint (unsigned int i) const |
| virtual void | collectTraits (collector &c) |
Private Attributes | |
| schema * | fSchema1 |
| schema * | fSchema2 |
| unsigned int | fInputFrontier |
| unsigned int | fOutputFrontier |
place two schemi in parallel
Definition at line 33 of file parSchema.h.
| parSchema::parSchema | ( | schema * | s1, |
| schema * | s2 | ||
| ) |
Definition at line 36 of file parSchema.cpp.
References schema::width().
: schema( s1->inputs()+s2->inputs(), s1->outputs()+s2->outputs(), s1->width(), s1->height() + s2->height() ), fSchema1(s1), fSchema2(s2), fInputFrontier(s1->inputs()), fOutputFrontier(s1->outputs()) { assert (s1->width() == s2->width()); }

| void parSchema::collectTraits | ( | collector & | c | ) | [virtual] |
Implements schema.
Definition at line 85 of file parSchema.cpp.
References schema::collectTraits(), fSchema1, and fSchema2.
{
fSchema1->collectTraits(c);
fSchema2->collectTraits(c);
}

| void parSchema::draw | ( | device & | dev | ) | [virtual] |
Implements schema.
Definition at line 79 of file parSchema.cpp.
References schema::draw(), fSchema1, and fSchema2.

| point parSchema::inputPoint | ( | unsigned int | i | ) | const [virtual] |
Implements schema.
Definition at line 65 of file parSchema.cpp.
References fInputFrontier, fSchema1, fSchema2, and schema::inputPoint().
{
return (i < fInputFrontier)
? fSchema1->inputPoint(i)
: fSchema2->inputPoint(i-fInputFrontier);
}

| point parSchema::outputPoint | ( | unsigned int | i | ) | const [virtual] |
Implements schema.
Definition at line 72 of file parSchema.cpp.
References fOutputFrontier, fSchema1, fSchema2, and schema::outputPoint().
{
return (i < fOutputFrontier)
? fSchema1->outputPoint(i)
: fSchema2->outputPoint(i-fOutputFrontier);
}

| void parSchema::place | ( | double | ox, |
| double | oy, | ||
| int | orientation | ||
| ) | [virtual] |
Implements schema.
Definition at line 50 of file parSchema.cpp.
References schema::beginPlace(), schema::endPlace(), fSchema1, fSchema2, schema::height(), kLeftRight, schema::orientation(), and schema::place().
{
beginPlace(ox, oy, orientation);
if (orientation == kLeftRight) {
fSchema1->place(ox, oy, orientation);
fSchema2->place(ox, oy+fSchema1->height(), orientation);
} else {
fSchema2->place(ox, oy, orientation);
fSchema1->place(ox, oy+fSchema2->height(), orientation);
}
endPlace();
}

unsigned int parSchema::fInputFrontier [private] |
Definition at line 37 of file parSchema.h.
Referenced by inputPoint().
unsigned int parSchema::fOutputFrontier [private] |
Definition at line 38 of file parSchema.h.
Referenced by outputPoint().
schema* parSchema::fSchema1 [private] |
Definition at line 35 of file parSchema.h.
Referenced by collectTraits(), draw(), inputPoint(), outputPoint(), and place().
schema* parSchema::fSchema2 [private] |
Definition at line 36 of file parSchema.h.
Referenced by collectTraits(), draw(), inputPoint(), outputPoint(), and place().
1.8.0