1 /************************************************************************
2 ************************************************************************
4 Copyright (C) 2003-2004 GRAME, Centre National de Creation Musicale
5 ---------------------------------------------------------------------
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 ************************************************************************
20 ************************************************************************/
23 #include "cableSchema.h"
30 * Build n cables in parallel
32 schema
* makeCableSchema (unsigned int n
)
35 return new cableSchema(n
);
40 * Build n cables in parallel
42 cableSchema::cableSchema (unsigned int n
)
43 : schema (n
, n
, 0, n
*dWire
)
45 for (unsigned int i
=0; i
<n
; i
++) fPoint
.push_back(point(0,0));
50 * Place the communication points vertically spaced by dWire
52 void cableSchema::place(double ox
, double oy
, int orientation
)
54 beginPlace(ox
, oy
, orientation
);
55 if (orientation
== kLeftRight
) {
56 for (unsigned int i
=0; i
<inputs(); i
++) {
57 fPoint
[i
] = point(ox
, oy
+ dWire
/2.0 + i
*dWire
);
60 for (unsigned int i
=0; i
<inputs(); i
++) {
61 fPoint
[i
] = point(ox
, oy
+ height() - dWire
/2.0 - i
*dWire
);
70 * Nothing to draw. Actual drawing will take place when the wires
73 void cableSchema::draw(device
& dev
)
80 * Nothing to collect. Actual collect will take place when the wires
83 void cableSchema::collectTraits(collector
& c
)
88 *input and output points are the same as the width is 0
90 point
cableSchema::inputPoint(unsigned int i
) const
97 *input and output points are the same as the width is 0
99 point
cableSchema::outputPoint(unsigned int i
) const