1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>GLASSEMBLY Create a GL Assembly
</TITLE>
</HEAD>
<BODY>
<H2>GLASSEMBLY Create a GL Assembly
</H2>
<P>
Section: <A HREF=sec_glwin.html> OpenGL Models </A>
<H3>Usage</H3>
Define a GL Assembly. A GL Assembly consists of one or more
GL Nodes or GL Assemblies that are placed relative to the
coordinate system of the assembly. For example, if we have
<code>glnode</code> definitions for <code>'bread'</code> and <code>'cheese'</code>, then
a <code>glassembly</code> of sandwich would consist of placements of
two <code>'bread'</code> nodes with a <code>'cheese'</code> node in between.
Furthermore, a <code>'lunch'</code> assembly could consist of a <code>'sandwich'</code>
a <code>'chips'</code> and <code>'soda'</code>. Hopefully, you get the idea. The
syntax for the <code>glassembly</code> command is
<PRE>
glassembly(name,part1,transform1,part2,transform2,...)
</PRE>
<P>
where <code>part1</code> is the name of the first part, and could be
either a <code>glnode</code> or itself be another <code>glassembly</code>.
Here <code>transform1</code> is the <code>4 x 4 matrix</code> that transforms
the part into the local reference coordinate system.
WARNING!! Currently FreeMat does not detect or gracefully handle
self-referential assemblies (i.e, if you try to make a <code>sandwich</code>
contain a <code>sandwich</code>, which you can do by devious methods that I
refuse to explain). Do not do this! You have been warned.
</BODY>
</HTML>
|