<table border="0" width="100%"> <tbody> <tr> <td align="left"> <p> Prototypes are an extension mechanism that lets authors define their own customizable nodes, improving reusability and sharing of cool content. </p> <p> By declaring prototype designs and then creating one or more instances, you can create new node types that encapsulate Shapes, Sensors, Interpolators, Scripts and anything else. This technique creates new high-level nodes such as robots, menus, new shapes, etc. A PROTO statement declares a new node type (a prototype) with a name (the new node type name) along with fields and events (the interfaces to the prototype). Once defined, a prototyped node can be used like any other node. </p> <p> These X3D scenes are adapted directly from the <a href="http://www.wiley.com/legacy/compbooks/vrml2sbk/toc/ch31.htm" target="_Vrml2Sourcebook">original VRML 2.0 Sourcebook chapter examples</a>. Also available: <a href="http://www.sdsc.edu/~moreland/courses/Siggraph98/vrml97/slides/mt0471.htm" target="_Vrml2SourcebookCourse">Introduction to VRML97 SIGGRAPH98 course notes</a>. </p> </td> <td align="center" rowspan="2"> <a href="index.html"><img border="0" alt="Figure 31.9 Spin Group Prototype" title="Figure 31.9 Spin Group Prototype" hspace="10" src="_viewpoints/Figure31_9SpinGroupPrototype.x3d._VP_Click_on_blue_crossbar_to_activate_second_SpinGroup.png" width="156" height="89" align="middle"/></a> </td> </tr> </tbody> </table>