|
FAUST compiler
0.9.9.6b8
|
An abstract block diagram schema. More...
#include <schema.h>

Public Member Functions | |
| 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 |
| virtual void | place (double x, double y, int orientation)=0 |
| virtual void | draw (device &dev)=0 |
| virtual void | collectTraits (collector &c)=0 |
| virtual point | inputPoint (unsigned int i) const =0 |
| virtual point | outputPoint (unsigned int i) const =0 |
Private Attributes | |
| const unsigned int | fInputs |
| const unsigned int | fOutputs |
| const double | fWidth |
| const double | fHeight |
| bool | fPlaced |
| false until place() is called | |
| double | fX |
| double | fY |
| int | fOrientation |
| schema::schema | ( | unsigned int | inputs, |
| unsigned int | outputs, | ||
| double | width, | ||
| double | height | ||
| ) | [inline] |
| virtual schema::~schema | ( | ) | [inline, virtual] |
| void schema::beginPlace | ( | double | x, |
| double | y, | ||
| int | orientation | ||
| ) | [inline] |
Definition at line 132 of file schema.h.
Referenced by cutSchema::place(), cableSchema::place(), recSchema::place(), splitSchema::place(), mergeSchema::place(), parSchema::place(), enlargedSchema::place(), decorateSchema::place(), seqSchema::place(), topSchema::place(), and blockSchema::place().
{ fX = x; fY = y; fOrientation = orientation; }

| virtual void schema::collectTraits | ( | collector & | c | ) | [pure virtual] |
Implemented in blockSchema, seqSchema, topSchema, enlargedSchema, decorateSchema, mergeSchema, parSchema, recSchema, splitSchema, cableSchema, and cutSchema.
Referenced by decorateSchema::collectTraits(), mergeSchema::collectTraits(), splitSchema::collectTraits(), parSchema::collectTraits(), recSchema::collectTraits(), enlargedSchema::collectTraits(), topSchema::collectTraits(), seqSchema::collectTraits(), and writeSchemaFile().

| virtual void schema::draw | ( | device & | dev | ) | [pure virtual] |
Implemented in blockSchema, seqSchema, topSchema, decorateSchema, enlargedSchema, mergeSchema, parSchema, recSchema, splitSchema, cableSchema, cutSchema, and inverterSchema.
Referenced by mergeSchema::draw(), parSchema::draw(), splitSchema::draw(), recSchema::draw(), enlargedSchema::draw(), decorateSchema::draw(), topSchema::draw(), seqSchema::draw(), and writeSchemaFile().

| void schema::endPlace | ( | ) | [inline] |
Definition at line 134 of file schema.h.
Referenced by cutSchema::place(), cableSchema::place(), recSchema::place(), splitSchema::place(), mergeSchema::place(), parSchema::place(), enlargedSchema::place(), decorateSchema::place(), seqSchema::place(), topSchema::place(), and blockSchema::place().
{ fPlaced = true; }

| double schema::height | ( | ) | const [inline] |
Definition at line 127 of file schema.h.
Referenced by computeHorzGap(), inverterSchema::draw(), decorateSchema::draw(), topSchema::draw(), blockSchema::drawOrientationMark(), blockSchema::drawRectangle(), blockSchema::drawText(), makeMergeSchema(), makeSplitSchema(), cutSchema::place(), cableSchema::place(), parSchema::place(), splitSchema::place(), recSchema::place(), mergeSchema::place(), seqSchema::place(), blockSchema::placeInputPoints(), blockSchema::placeOutputPoints(), and writeSchemaFile().
{ return fHeight; }

| virtual point schema::inputPoint | ( | unsigned int | i | ) | const [pure virtual] |
Implemented in blockSchema, decorateSchema, seqSchema, topSchema, enlargedSchema, mergeSchema, parSchema, recSchema, splitSchema, cableSchema, and cutSchema.
Referenced by seqSchema::collectInternalWires(), decorateSchema::collectTraits(), mergeSchema::collectTraits(), splitSchema::collectTraits(), recSchema::collectTraits(), enlargedSchema::collectTraits(), topSchema::collectTraits(), computeHorzGap(), mergeSchema::draw(), splitSchema::draw(), recSchema::draw(), enlargedSchema::draw(), decorateSchema::draw(), seqSchema::drawInternalWires(), mergeSchema::inputPoint(), splitSchema::inputPoint(), parSchema::inputPoint(), seqSchema::inputPoint(), recSchema::place(), enlargedSchema::place(), and decorateSchema::place().

| unsigned int schema::inputs | ( | ) | const [inline] |
Definition at line 128 of file schema.h.
Referenced by blockSchema::blockSchema(), blockSchema::collectInputWires(), seqSchema::collectInternalWires(), mergeSchema::collectTraits(), splitSchema::collectTraits(), recSchema::collectTraits(), decorateSchema::collectTraits(), enlargedSchema::collectTraits(), topSchema::collectTraits(), seqSchema::collectTraits(), computeHorzGap(), decorateSchema::decorateSchema(), mergeSchema::draw(), recSchema::draw(), splitSchema::draw(), enlargedSchema::draw(), decorateSchema::draw(), seqSchema::draw(), blockSchema::drawInputWires(), seqSchema::drawInternalWires(), enlargedSchema::enlargedSchema(), cableSchema::inputPoint(), enlargedSchema::inputPoint(), topSchema::inputPoint(), decorateSchema::inputPoint(), blockSchema::inputPoint(), makeSeqSchema(), cableSchema::place(), recSchema::place(), enlargedSchema::place(), decorateSchema::place(), blockSchema::placeInputPoints(), recSchema::recSchema(), and seqSchema::seqSchema().
{ return fInputs; }

| int schema::orientation | ( | ) | const [inline] |
Definition at line 140 of file schema.h.
Referenced by recSchema::collectFeedback(), recSchema::collectFeedfront(), blockSchema::collectInputWires(), seqSchema::collectInternalWires(), blockSchema::collectOutputWires(), inverterSchema::draw(), topSchema::draw(), recSchema::drawFeedback(), blockSchema::drawInputWires(), seqSchema::drawInternalWires(), blockSchema::drawOrientationMark(), mergeSchema::place(), splitSchema::place(), parSchema::place(), seqSchema::place(), blockSchema::placeInputPoints(), and blockSchema::placeOutputPoints().
{ return fOrientation; }

| virtual point schema::outputPoint | ( | unsigned int | i | ) | const [pure virtual] |
Implemented in blockSchema, decorateSchema, seqSchema, topSchema, enlargedSchema, mergeSchema, parSchema, recSchema, splitSchema, cableSchema, and cutSchema.
Referenced by seqSchema::collectInternalWires(), decorateSchema::collectTraits(), mergeSchema::collectTraits(), splitSchema::collectTraits(), recSchema::collectTraits(), enlargedSchema::collectTraits(), topSchema::collectTraits(), computeHorzGap(), mergeSchema::draw(), splitSchema::draw(), recSchema::draw(), enlargedSchema::draw(), decorateSchema::draw(), topSchema::draw(), seqSchema::drawInternalWires(), mergeSchema::outputPoint(), parSchema::outputPoint(), splitSchema::outputPoint(), seqSchema::outputPoint(), recSchema::place(), enlargedSchema::place(), and decorateSchema::place().

| unsigned int schema::outputs | ( | ) | const [inline] |
Definition at line 129 of file schema.h.
Referenced by blockSchema::blockSchema(), seqSchema::collectInternalWires(), blockSchema::collectOutputWires(), mergeSchema::collectTraits(), decorateSchema::collectTraits(), recSchema::collectTraits(), splitSchema::collectTraits(), enlargedSchema::collectTraits(), topSchema::collectTraits(), seqSchema::collectTraits(), computeHorzGap(), decorateSchema::decorateSchema(), mergeSchema::draw(), recSchema::draw(), splitSchema::draw(), enlargedSchema::draw(), decorateSchema::draw(), topSchema::draw(), seqSchema::draw(), seqSchema::drawInternalWires(), blockSchema::drawOutputWires(), enlargedSchema::enlargedSchema(), makeSeqSchema(), cableSchema::outputPoint(), enlargedSchema::outputPoint(), topSchema::outputPoint(), decorateSchema::outputPoint(), blockSchema::outputPoint(), recSchema::place(), enlargedSchema::place(), decorateSchema::place(), blockSchema::placeOutputPoints(), recSchema::recSchema(), and seqSchema::seqSchema().
{ return fOutputs; }

| virtual void schema::place | ( | double | x, |
| double | y, | ||
| int | orientation | ||
| ) | [pure virtual] |
Implemented in blockSchema, seqSchema, topSchema, decorateSchema, enlargedSchema, mergeSchema, parSchema, recSchema, splitSchema, cableSchema, and cutSchema.
Referenced by computeHorzGap(), mergeSchema::place(), parSchema::place(), splitSchema::place(), recSchema::place(), enlargedSchema::place(), decorateSchema::place(), topSchema::place(), seqSchema::place(), and writeSchemaFile().

| bool schema::placed | ( | ) | const [inline] |
Definition at line 137 of file schema.h.
Referenced by decorateSchema::collectTraits(), splitSchema::collectTraits(), mergeSchema::collectTraits(), recSchema::collectTraits(), enlargedSchema::collectTraits(), seqSchema::collectTraits(), topSchema::collectTraits(), splitSchema::draw(), mergeSchema::draw(), recSchema::draw(), enlargedSchema::draw(), decorateSchema::draw(), seqSchema::draw(), topSchema::draw(), blockSchema::draw(), enlargedSchema::inputPoint(), decorateSchema::inputPoint(), topSchema::inputPoint(), blockSchema::inputPoint(), enlargedSchema::outputPoint(), topSchema::outputPoint(), decorateSchema::outputPoint(), and blockSchema::outputPoint().
{ return fPlaced; }

| double schema::width | ( | ) | const [inline] |
Definition at line 126 of file schema.h.
Referenced by inverterSchema::draw(), decorateSchema::draw(), topSchema::draw(), blockSchema::drawOrientationMark(), blockSchema::drawRectangle(), blockSchema::drawText(), makeEnlargedSchema(), makeParSchema(), makeRecSchema(), parSchema::parSchema(), recSchema::place(), splitSchema::place(), mergeSchema::place(), enlargedSchema::place(), seqSchema::place(), blockSchema::placeInputPoints(), blockSchema::placeOutputPoints(), recSchema::recSchema(), and writeSchemaFile().
{ return fWidth; }

| double schema::x | ( | ) | const [inline] |
Definition at line 138 of file schema.h.
Referenced by inverterSchema::draw(), decorateSchema::draw(), topSchema::draw(), blockSchema::drawOrientationMark(), blockSchema::drawRectangle(), blockSchema::drawText(), blockSchema::placeInputPoints(), and blockSchema::placeOutputPoints().
{ return fX; }

| double schema::y | ( | ) | const [inline] |
Definition at line 139 of file schema.h.
Referenced by inverterSchema::draw(), decorateSchema::draw(), topSchema::draw(), blockSchema::drawOrientationMark(), blockSchema::drawRectangle(), blockSchema::drawText(), blockSchema::placeInputPoints(), and blockSchema::placeOutputPoints().
{ return fY; }

const double schema::fHeight [private] |
const unsigned int schema::fInputs [private] |
int schema::fOrientation [private] |
const unsigned int schema::fOutputs [private] |
bool schema::fPlaced [private] |
const double schema::fWidth [private] |
double schema::fX [private] |
double schema::fY [private] |
1.8.0