<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://www.web3d.org/specifications/x3d-3.0.dtd">
<![CDATA[
ecmascript: function initialize( ) { generateCrossSection( ); generateSpine( ); } function set_crossSectionRadius( csr, ts ) { crossSectionRadius = csr; generateCrossSection( ); // Browser.println ('crossSectionRadius = ' + csr); } function set_spineRadius( sr, ts ) { spineRadius = sr; generateSpine( ); // Browser.println ('spineRadius = ' + sr); } function generateCrossSection( ) { angle = 0.0; delta = (2 * 3.141592653) / crossSectionResolution; for ( i = 0; i <= crossSectionResolution; i++ ) { crossSection_changed[i][0] = crossSectionRadius * Math.cos( angle ); crossSection_changed[i][1] = -crossSectionRadius * Math.sin( angle ); angle += delta; } // added code to make ends meet crossSection_changed[crossSectionResolution + 1][0] = crossSection_changed[0][0]; crossSection_changed[crossSectionResolution + 1][1] = crossSection_changed[0][1]; } function generateSpine( ) { angle = 0.0; delta = (2 * 3.141592653) / spineResolution; for ( i = 0; i <= spineResolution; i++ ) { spine_changed[i][0] = spineRadius * Math.cos( angle ); spine_changed[i][1] = 0.0; spine_changed[i][2] = -spineRadius * Math.sin( angle ); angle += delta; } // added code to make ends meet spine_changed[spineResolution + 1][0] = spine_changed[0][0]; spine_changed[spineResolution + 1][1] = 0.0; spine_changed[spineResolution + 1][2] = spine_changed[0][2]; }
]]>
Event Graph ROUTE Table entries with 2 ROUTE connections total, showing event model relationships for this scene.
DonutMakerExternalScript
Script |
(No ROUTE connection found for this node) |
<!--
Online at
https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter30Scripts/Figure30_5ScriptTorusBuilderIndex.html
-->
<!--
Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter30Scripts/Figure30_5ScriptTorusBuilder.x3d
-->
<!--
Color legend: X3D terminology
<X3dNode
DEF='idName' field='value'/>
matches XML terminology
<XmlElement
DEF='idName' attribute='value'/>
(Light-blue background: event-based behavior node or statement)
(Grey background inside box: inserted documentation)
(Magenta background: X3D Extensibility)
-->
<!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->