An abstract block diagram schema. More...
#include <schema.h>
Inherited by blockSchema, cableSchema, cutSchema, decorateSchema, enlargedSchema, mergeSchema, parSchema, recSchema, seqSchema, splitSchema, and topSchema.
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 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 |
An abstract block diagram schema.
Definition at line 56 of file schema.h.
schema::schema | ( | unsigned int | inputs, | |
unsigned int | outputs, | |||
double | width, | |||
double | height | |||
) | [inline] |
void schema::beginPlace | ( | double | x, | |
double | y, | |||
int | orientation | |||
) | [inline] |
Definition at line 91 of file schema.h.
References fOrientation, fX, and fY.
Referenced by topSchema::place(), splitSchema::place(), seqSchema::place(), recSchema::place(), parSchema::place(), mergeSchema::place(), enlargedSchema::place(), decorateSchema::place(), cutSchema::place(), cableSchema::place(), and blockSchema::place().
00092 { fX = x; fY = y; fOrientation = orientation; }
virtual void schema::draw | ( | device & | dev | ) | [pure virtual] |
Implemented in blockSchema, cableSchema, cutSchema, decorateSchema, enlargedSchema, mergeSchema, parSchema, recSchema, seqSchema, splitSchema, and topSchema.
Referenced by topSchema::draw(), splitSchema::draw(), seqSchema::draw(), recSchema::draw(), parSchema::draw(), mergeSchema::draw(), enlargedSchema::draw(), decorateSchema::draw(), and writeSchemaFile().
void schema::endPlace | ( | ) | [inline] |
Definition at line 93 of file schema.h.
References fPlaced.
Referenced by topSchema::place(), splitSchema::place(), seqSchema::place(), recSchema::place(), parSchema::place(), mergeSchema::place(), enlargedSchema::place(), decorateSchema::place(), cutSchema::place(), cableSchema::place(), and blockSchema::place().
00093 { fPlaced = true; }
double schema::height | ( | ) | const [inline] |
Definition at line 86 of file schema.h.
References fHeight.
Referenced by computeHorzGap(), topSchema::draw(), decorateSchema::draw(), blockSchema::drawOrientationMark(), blockSchema::drawRectangle(), blockSchema::drawText(), makeMergeSchema(), makeSplitSchema(), splitSchema::place(), seqSchema::place(), recSchema::place(), parSchema::place(), mergeSchema::place(), cutSchema::place(), cableSchema::place(), blockSchema::placeInputPoints(), blockSchema::placeOutputPoints(), and writeSchemaFile().
00086 { return fHeight; }
virtual point schema::inputPoint | ( | unsigned int | i | ) | const [pure virtual] |
Implemented in blockSchema, cableSchema, cutSchema, decorateSchema, enlargedSchema, mergeSchema, parSchema, recSchema, seqSchema, splitSchema, and topSchema.
Referenced by computeHorzGap(), splitSchema::draw(), recSchema::draw(), mergeSchema::draw(), enlargedSchema::draw(), decorateSchema::draw(), seqSchema::drawInternalWires(), splitSchema::inputPoint(), seqSchema::inputPoint(), parSchema::inputPoint(), mergeSchema::inputPoint(), recSchema::place(), enlargedSchema::place(), and decorateSchema::place().
unsigned int schema::inputs | ( | ) | const [inline] |
Definition at line 87 of file schema.h.
References fInputs.
Referenced by computeHorzGap(), decorateSchema::decorateSchema(), splitSchema::draw(), seqSchema::draw(), recSchema::draw(), mergeSchema::draw(), enlargedSchema::draw(), decorateSchema::draw(), blockSchema::drawInputWires(), seqSchema::drawInternalWires(), enlargedSchema::enlargedSchema(), topSchema::inputPoint(), enlargedSchema::inputPoint(), decorateSchema::inputPoint(), cableSchema::inputPoint(), blockSchema::inputPoint(), makeSeqSchema(), recSchema::place(), enlargedSchema::place(), decorateSchema::place(), cableSchema::place(), blockSchema::placeInputPoints(), recSchema::recSchema(), and seqSchema::seqSchema().
00087 { return fInputs; }
int schema::orientation | ( | ) | const [inline] |
Definition at line 99 of file schema.h.
References fOrientation.
Referenced by topSchema::draw(), recSchema::drawFeedback(), recSchema::drawFeedfront(), blockSchema::drawInputWires(), seqSchema::drawInternalWires(), blockSchema::drawOrientationMark(), blockSchema::drawOutputWires(), blockSchema::placeInputPoints(), and blockSchema::placeOutputPoints().
00099 { return fOrientation; }
virtual point schema::outputPoint | ( | unsigned int | i | ) | const [pure virtual] |
Implemented in blockSchema, cableSchema, cutSchema, decorateSchema, enlargedSchema, mergeSchema, parSchema, recSchema, seqSchema, splitSchema, and topSchema.
Referenced by computeHorzGap(), topSchema::draw(), splitSchema::draw(), recSchema::draw(), mergeSchema::draw(), enlargedSchema::draw(), decorateSchema::draw(), seqSchema::drawInternalWires(), splitSchema::outputPoint(), seqSchema::outputPoint(), parSchema::outputPoint(), mergeSchema::outputPoint(), recSchema::place(), enlargedSchema::place(), and decorateSchema::place().
unsigned int schema::outputs | ( | ) | const [inline] |
Definition at line 88 of file schema.h.
References fOutputs.
Referenced by computeHorzGap(), decorateSchema::decorateSchema(), topSchema::draw(), splitSchema::draw(), seqSchema::draw(), recSchema::draw(), mergeSchema::draw(), enlargedSchema::draw(), decorateSchema::draw(), seqSchema::drawInternalWires(), blockSchema::drawOutputWires(), enlargedSchema::enlargedSchema(), makeSeqSchema(), topSchema::outputPoint(), enlargedSchema::outputPoint(), decorateSchema::outputPoint(), cableSchema::outputPoint(), blockSchema::outputPoint(), recSchema::place(), enlargedSchema::place(), decorateSchema::place(), blockSchema::placeOutputPoints(), recSchema::recSchema(), and seqSchema::seqSchema().
00088 { return fOutputs; }
virtual void schema::place | ( | double | x, | |
double | y, | |||
int | orientation | |||
) | [pure virtual] |
Implemented in blockSchema, cableSchema, cutSchema, decorateSchema, enlargedSchema, mergeSchema, parSchema, recSchema, seqSchema, splitSchema, and topSchema.
Referenced by computeHorzGap(), topSchema::place(), splitSchema::place(), seqSchema::place(), recSchema::place(), parSchema::place(), mergeSchema::place(), enlargedSchema::place(), decorateSchema::place(), and writeSchemaFile().
bool schema::placed | ( | ) | const [inline] |
Definition at line 96 of file schema.h.
References fPlaced.
Referenced by topSchema::draw(), splitSchema::draw(), seqSchema::draw(), recSchema::draw(), mergeSchema::draw(), enlargedSchema::draw(), decorateSchema::draw(), blockSchema::draw(), topSchema::inputPoint(), enlargedSchema::inputPoint(), decorateSchema::inputPoint(), blockSchema::inputPoint(), topSchema::outputPoint(), enlargedSchema::outputPoint(), decorateSchema::outputPoint(), and blockSchema::outputPoint().
00096 { return fPlaced; }
double schema::width | ( | ) | const [inline] |
Definition at line 85 of file schema.h.
References fWidth.
Referenced by topSchema::draw(), decorateSchema::draw(), blockSchema::drawOrientationMark(), blockSchema::drawRectangle(), blockSchema::drawText(), makeEnlargedSchema(), makeParSchema(), makeRecSchema(), parSchema::parSchema(), splitSchema::place(), seqSchema::place(), recSchema::place(), mergeSchema::place(), enlargedSchema::place(), blockSchema::placeInputPoints(), blockSchema::placeOutputPoints(), recSchema::recSchema(), and writeSchemaFile().
00085 { return fWidth; }
double schema::x | ( | ) | const [inline] |
Definition at line 97 of file schema.h.
References fX.
Referenced by topSchema::draw(), decorateSchema::draw(), blockSchema::drawOrientationMark(), blockSchema::drawRectangle(), blockSchema::drawText(), blockSchema::placeInputPoints(), and blockSchema::placeOutputPoints().
00097 { return fX; }
double schema::y | ( | ) | const [inline] |
Definition at line 98 of file schema.h.
References fY.
Referenced by topSchema::draw(), decorateSchema::draw(), blockSchema::drawOrientationMark(), blockSchema::drawRectangle(), blockSchema::drawText(), blockSchema::placeInputPoints(), and blockSchema::placeOutputPoints().
00098 { return fY; }
const double schema::fHeight [private] |
const unsigned int schema::fInputs [private] |
int schema::fOrientation [private] |
Definition at line 68 of file schema.h.
Referenced by beginPlace(), and orientation().
const unsigned int schema::fOutputs [private] |
bool schema::fPlaced [private] |
false until place() is called
Definition at line 65 of file schema.h.
Referenced by endPlace(), and placed().
const double schema::fWidth [private] |
double schema::fX [private] |
Definition at line 66 of file schema.h.
Referenced by beginPlace(), and x().
double schema::fY [private] |
Definition at line 67 of file schema.h.
Referenced by beginPlace(), and y().