function TransformGizmo()
{
	Object3D.call(this);

	this.handles = new Object3D();
	this.pickers = new Object3D();
	this.planes = new Object3D();

	this.add(this.handles);
	this.add(this.pickers);
	this.add(this.planes);

	// Planes
	var planeGeometry = new PlaneBufferGeometry(50, 50, 2, 2);
	var planeMaterial = new MeshBasicMaterial({visible: false, side: DoubleSide});
	var planes =
	{
		"XY": new Mesh(planeGeometry, planeMaterial),
		"YZ": new Mesh(planeGeometry, planeMaterial),
		"XZ": new Mesh(planeGeometry, planeMaterial),
		"XYZE": new Mesh(planeGeometry, planeMaterial)
	};

	this.activePlane = planes["XYZE"];

	planes["YZ"].rotation.set(0, Math.PI / 2, 0);
	planes["XZ"].rotation.set(-Math.PI / 2, 0, 0);

	for (var i in planes)
	{
		planes[i].name = i;
		this.planes.add(planes[i]);
		this.planes[i] = planes[i];
	}

	// Handlers and pickers
	function setupGizmos(gizmoMap, parent)
	{
		for (var name in gizmoMap)
		{
			for (i = gizmoMap[name].length; i--;)
			{
				var object = gizmoMap[name][i][0];
				var position = gizmoMap[name][i][1];
				var rotation = gizmoMap[name][i][2];

				object.name = name;

				if (position)
				{
					object.position.set(position[0], position[1], position[2]);
				}
				
				if (rotation)
				{
					object.rotation.set(rotation[0], rotation[1], rotation[2]);
				}

				parent.add(object);
			}
		}
	}

	setupGizmos(this.handleGizmos, this.handles);
	setupGizmos(this.pickerGizmos, this.pickers);

	// Reset transformations
	this.traverse(function(child)
	{
		if (child.geometry !== undefined)
		{
			child.updateMatrix();

			// Move geometry to origin
			var tempGeometry = child.geometry.clone();
			tempGeometry.applyMatrix4(child.matrix);
			child.geometry = tempGeometry;

			// Reset pose
			child.position.set(0, 0, 0);
			child.rotation.set(0, 0, 0);
			child.scale.set(1, 1, 1);
		}
	});
}
A transform gizmo is a object used to transform a property of an entity.

Should be used as basis for other transform gizmos. This base implementation does not apply any trasnforms to objects.

@class TransformGizmo