#VRML V2.0 utf8 # [X3D] VRML V4.0 utf8 # PROFILE Immersive # [X3D] version=4.0 # [X3D] noNamespaceSchemaLocation=/specifications/x3d-4.0.xsd # X3D-to-VRML-97 XSL translation autogenerated by X3dToVrml97.xslt # /x3d/content/X3dToVrml97.xslt # Transformation using XSLT processor: Saxonica # [head] # META "title" "Rotor.x3d" # META "description" "X3D specification example showing a spinning helicopter rotor that is used by the Chopper model." # META "creator" "Don Brutzman and Joe Williams" # META "created" "1 June 2002" # META "modified" "28 September 2025" # META "specificationSection" "X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Annex C.16 Chopper" # META "specificationUrl" "/specifications/X3Dv4Draft/ISO-IEC19776-1v4.0-CD/Part01/examples.html#Chopper" # META "identifier" "/x3d/content/examples/Basic/X3dSpecifications/Rotor.x3d" # META "generator" "X3D-Edit 4.0, /x3d/tools/X3D-Edit" # META "license" "../license.html" # [Scene] ========== ========== ========== WorldInfo { title "Rotor.x3d" } PROTO Rotor [ field SFTime rate 1 field MFNode children [ ] # initial value is empty node array exposedField SFTime startTime 0 exposedField SFTime stopTime 0 ] { DEF F Transform { children IS children } DEF T TimeSensor { loop TRUE cycleInterval IS rate startTime IS startTime stopTime IS stopTime } DEF I OrientationInterpolator { key [ 0 0.25 0.5 0.75 1 ] keyValue [ 0 1 0 0 0 1 0 1.57 0 1 0 3.14 0 1 0 4.71 0 1 0 0 ] } ROUTE T.fraction_changed TO I.set_fraction ROUTE I.value_changed TO F.set_rotation } Rotor { children [ Shape { geometry Box { size 4 0.2 0.1 } appearance Appearance { material Material { } } } ] }