#VRML++ draft utf8 CLASS Ball [ exposedField SFVec3f translation 0 0 0 ] EXTENDS SFNode { Transform { children Shape { geometry Sphere { } } translation IS translation } } CLASS MoveBall[ field TimeSensor timer NULL field PositionInterpolator interpol NULL ] EXTENDS Ball { ROUTE timer.fraction_changed TO interpol.set_fraction ROUTE interpol.value_changed TO SELF.set_translation } DEF PI PositionInterpolator { key [ 0, 0.5, 1 ] keyValue [ -1 0 0, 1 0 0, -1 0 0 ] } DEF TS TimeSensor { startTime 1 stopTime 0 loop TRUE } DEF DD MoveBall { timer USE TS interpol USE PI }