The RotationZWidget JavaScript class. A rotatable circle widget around the z axis. 
A rotation script widget along the z 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 z 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 | 0, 0, 255, 120 | The colour of the circle manipulator. | 
| selection_color | ColorRGBA | light blue | The colour of the circle manipulator when selected. | 
The following components constitute the widget:
| Component | Type | 
| attribute | DOUBLE | 
| drag_manipulator | ROTATION_Z | 
| painter | CIRCLE_Z | 
| picker | MONO | 
| local_transformation | ROTATION_Z | 
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, zaxis );
  
  for(var i=0; i < myPegs.length; ++i)
  {
    var newPosition = rotationMatrix.multiply(myPegs[i].position);
  }
}