<html>
<HEAD>
<TITLE>Composite Elements</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFF88" TEXT="#000000" LINK="#3333AA" VLINK="#6666FF"> 

<H2>
<A NAME="Composite">Composite Elements</A>
</H2>
A Composite element is actually a diagram within a diagram,
providing a convenient way of packaging up complex functions
that are more than can be handled by single simple elements.
Access the diagram corresponding to the element by invoking the
'Panel' item of its menu.
<P>
You place a composite element in a diagram exactly as you would
any other element, by dragging the icon from its drawer into the
diagram window.  Once placed, it is independent of all other placed
instances of the same original composite: other instances are not
affected by any changes you might make to it.
<P>
Just like any other diagram, it can be edited at any time, and
saved off as a separate file if desired.  A composite diagram is
always saved as that type; if the resulting file is dragged into
a diagram window, it will always be placed as an element.  If you
want to open it directly as a diagram, double click on the icon
(or drag it into the Weaver Main window).
<P>
<h4>
Connections In and Out
</h4>
To bring data into a composite element from its enclosing configuration
place a '<A HREF="BridgeIn">BridgeIn</A>' element within the composite's diagram.  For each
BridgeIn placed, one link can be made to the composite element at
the higher level.  As with any multiconnector object, if more than one
BridgeIn is present, you can use the right-button menu at the connection
point on the composite element to select which link is which.
The names in the menu correspond to the current labels
of the Bridge elements.
<p>
To export from the element, place a '<A HREF="BridgeOut">BridgeOut</A>'.  Again, for each one
placed, you can make one link from one of the 'output pips' of the
enclosing composite element.
<p>
If you delete a Bridge element, any corresponding link at the higher
level will also be cut.  (The converse is not true -- cutting a link
does not affect the Bridge element.)
<p>
<h4>
Tricky Bits
</h4>
You can't make a connection to or from a Composite Element unless
it contains a (free) corresponding BridgeIn or BridgeOut.  The
fact that there are always six 'output pips' visible is irrelevant.
Because of the goemetric constraints, you can't have more than six
inputs and six outputs on it active at any one time.  There is no real
limit on the number of Bridges you can actually place, but only six of
each type can be connected at once.
<p>
Unlike most simple elements, a BridgeIn to a Composite Element doesn't
provide a default 'pass-through' output from the Composite.  An actual
BridgeOut element is needed for each data stream that emerges.
<p>
There is no way to open a blank Composite Element diagram directly
(or to turn a standard diagram into a composite).  [Actually, there
<i>is</i>, by the use of a text editor, but you'll have to discover
that for yourself... (:-)]  However you can open and edit any existing
Composite Element file and then save the result.  For your convenience
a blank template ("comp0") is provided in the main Weaver folder.
<p>
A little more information on Composite Diagrams may be found in the
<A HREF="../Documentation/Weaver.html#Composite">Main Weaver Documentation</A>
<BR>

</body>
</html>
