<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.1//EN" "https://www.web3d.org/specifications/x3d-3.1.dtd">
<![CDATA[
ecmascript: function initialize() { numOfPoints = 100; if (radius < 0) { Browser.println ('[Arc2D] Warning: invalid value, radius=' + value + ' must instead be >= 0'); } if ((startAngle < 0) || (startAngle >= 2 * Math.PI)) { Browser.println ('[Arc2D] Warning: startAngle=' + startAngle + ' must be within range [0..2pi)'); } if ((endAngle < 0) || (endAngle >= 2 * Math.PI)) { Browser.println ('[Arc2D] Warning: endAngle=' + endAngle + ' must be within range [0..2pi)'); } // equal startAngle, endAngle means draw full circle. // high out-of-range endAngle is OK for local computation. if (startAngle >= endAngle) endAngle += (2 * Math.PI); differAng = Math.abs((endAngle - startAngle))/numOfPoints; for (i = 0; i <= numOfPoints; i++) { arcSet3d[i] = new SFVec3f (radius * Math.cos(startAngle + i * differAng), radius * Math.sin(startAngle + i * differAng), 0.0); arcIndexSet3d[i] = i; } } // initialize
]]>
Event Graph ROUTE Table with 2 ROUTE connections total, showing X3D event-model relationships for this scene.
Each row shows an event cascade that may occur during a single timestamp interval between frame renderings, as part of the X3D execution model.
Arc2dToFaceSet3d
Script arcSet3d MFVec3f |
Arc3DPoints
Coordinate point MFVec3f |
|
Arc2dToFaceSet3d
Script arcIndexSet3d MFInt32 |
ArcIndexPoints
IndexedLineSet set_coordIndex MFInt32 |
<!--
Online at
https://www.web3d.org/x3d/content/examples/Basic/development/Arc2dComponentPrototypeIndex.html
-->
<!--
Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Basic/development/Arc2dComponentPrototype.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)
<ProtoDeclare
name='ProtoName'>
<field
name='fieldName'/> </ProtoDeclare>
-->
<!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->