The RotationXWidget JavaScript class. A rotatable circle widget around the x axis. 
A rotation script widget along the x axis. This widget offers a circle in the YZ axis. The circle can be picked and dragged by the user to generate a rotation around the x axis. The following properties are supported by the widget:
| Property   | Type   | Default Value   | Description    | 
| data   | String   | -   | The name of the automatically generated double floating point attribute (if none is provided)    | 
| data   | Attribute   | -   | An attribute of double (floating point) type that can be shared with another widget or node.    | 
| radius   | float   | 1   | The radius of the circle in fields.    | 
| width   | float   | 0.03   | The width between the external and internal circles (band) in fields.    | 
| color   | ColorRGBA   | 255, 0, 0, 120   | The colour of the circle manipulator.    | 
| selection_color   | ColorRGBA   | light red   | The colour of the circle manipulator when selected.    | 
The following components constitute the widget:
| Component   | Type    | 
| attribute   | DOUBLE    | 
| drag_manipulator   | ROTATION_X    | 
| painter   | CIRCLE_X    | 
| picker   | MONO    | 
| local_transformation   | ROTATION_X    | 
Connect to this scriptWidget valueChanged signal to be notified when a modification has been applied to the widget. 
{
  {
    radius : 2,
    width : 0.05,
  } );
  
}
In the callback function, convert the widget value into an action.
function myRotationChanged(newRotation)
{
  
  rotationMatrix.rotateDegrees(newRotation, xaxis);
  
  for(var i=0; i < myPegs.length; ++i)
  {
    var newPosition = rotationMatrix.multiply(myPegs[i].position);
  }
}