seqSchema Class Reference

Sequential composition. More...

#include <seqSchema.h>

Inherits schema.

Collaboration diagram for seqSchema:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual void place (double ox, double oy, int orientation)
 Place the two components horizontally with enough space for the connections.
virtual void draw (device &dev)
 Draw the two components as well as the internal wires.
virtual point inputPoint (unsigned int i) const
 The input points are the input points of the first component.
virtual point outputPoint (unsigned int i) const
 The output points are the output points of the second component.

Friends

schemamakeSeqSchema (schema *s1, schema *s2)
 Make a sequential schema.

Detailed Description

Sequential composition.

Place and connect two diagrams in sequence. The constructor is private because one should use the makeSeqSchema function instead.

Definition at line 36 of file seqSchema.h.


Friends And Related Function Documentation

schema* makeSeqSchema ( schema s1,
schema s2 
) [friend]

Make a sequential schema.

May add cables to ensure the internal connections are between the same number of outputs and inputs. Compute an horizontal gap based on the number of upward and downward connections.

Definition at line 43 of file seqSchema.cpp.

00044 {
00045     unsigned int o = s1->outputs();
00046     unsigned int i = s2->inputs();
00047 
00048     schema* a = (o < i) ? makeParSchema(s1, makeCableSchema(i-o)) : s1;
00049     schema* b = (o > i) ? makeParSchema(s2, makeCableSchema(o-i)) : s2;
00050 
00051     return new seqSchema(a, b, computeHorzGap(a,b));
00052 }


The documentation for this class was generated from the following files:

Generated on 31 Mar 2010 for FAUST compiler by  doxygen 1.6.1