place two schemi in parallel More...
#include <parSchema.h>
Inherits schema.
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 |
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.
Definition at line 36 of file parSchema.cpp.
References schema::width().
00037 : schema( s1->inputs()+s2->inputs(), 00038 s1->outputs()+s2->outputs(), 00039 s1->width(), 00040 s1->height() + s2->height() ), 00041 fSchema1(s1), 00042 fSchema2(s2), 00043 fInputFrontier(s1->inputs()), 00044 fOutputFrontier(s1->outputs()) 00045 { 00046 assert (s1->width() == s2->width()); 00047 }
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().
00066 { 00067 return (i < fInputFrontier) 00068 ? fSchema1->inputPoint(i) 00069 : fSchema2->inputPoint(i-fInputFrontier); 00070 }
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().
00073 { 00074 return (i < fOutputFrontier) 00075 ? fSchema1->outputPoint(i) 00076 : fSchema2->outputPoint(i-fOutputFrontier); 00077 }
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, and schema::place().
00051 { 00052 beginPlace(ox, oy, orientation); 00053 00054 if (orientation == kLeftRight) { 00055 fSchema1->place(ox, oy, orientation); 00056 fSchema2->place(ox, oy+fSchema1->height(), orientation); 00057 } else { 00058 fSchema2->place(ox, oy, orientation); 00059 fSchema1->place(ox, oy+fSchema2->height(), orientation); 00060 } 00061 00062 endPlace(); 00063 }
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 draw(), inputPoint(), outputPoint(), and place().
schema* parSchema::fSchema2 [private] |
Definition at line 36 of file parSchema.h.
Referenced by draw(), inputPoint(), outputPoint(), and place().