function OrbitControls()
{
	Group.call(this);

	this.name = "orbit";
	this.type = "OrbitControls";

	/**
	 * Initial distance of the object relative to the center.
	 * 
	 * @property distance
	 * @default 3
	 * @type {number}
	 */
	this.distance = 4;

	/**
	 * Maximum Distance allowed.
	 *
	 * @property maxDistance
	 * @type {number}
	 */
	this.maxDistance = 20;

	/**
	 * Minimum distance allowed.
	 *
	 * @property minDistance
	 * @type {number}
	 */
	this.minDistance = 2;

	/**
	 * Mouse sensitivity.
	 * 
	 * @property sensitivity
	 * @type {number}
	 */
	this.sensitivity = 0.002;

	/**
	 * Mouse scroll sensitivity.
	 * 
	 * @property zoomSensitivity
	 * @type {number}
	 */
	this.zoomSensitivity = 0.001;

	/**
	 * Top limit angle.
	 * 
	 * @property limitUp
	 * @default 1.57
	 * @type {number}
	 */
	this.limitUp = 1.57;

	/**
	 * Bottom limit angle.
	 * 
	 * @property limitDown
	 * @default -1.57
	 * @type {number}
	 */
	this.limitDown = -1.57;

	/**
	 * Indicates if the button left button needs to be pressed to rotate the object.
	 * 
	 * @property needsButtonPressed
	 * @default true
	 * @type {boolean}
	 */
	this.needsButtonPressed = true;

	/**
	 * Indicates if its possible to zoom in and out to the center point.
	 * 
	 * @property zoomEnabled
	 * @default true
	 * @type {boolean}
	 */
	this.zoomEnabled = true;

	/**
	 * Indicates if its possible to move the object around.
	 * 
	 * @property movementEnabled
	 * @default true
	 * @type {boolean}
	 */
	this.movementEnabled = true;

	/**
	 * Central point of the orbit.
	 *
	 * @property center
	 * @type {Vector3}
	 */
	this.center = new Vector3(0, 0, 0);

	/**
	 * Orientation of the camera.
	 *
	 * X is the horizontal orientation and Y the vertical orientation.
	 *
	 * @property vector
	 * @type {Vector2}
	 */	
	this.vector = new Vector2(Math.PI / 2, 0);

	/**
	 * Enables smooth orbit movement.
	 *
	 * @property smooth
	 * @type {boolean}
	 */	
	this.smooth = true;

	/**
	 * Orbit speed friction, higher value allow the orbit to retain more speed.
	 *
	 * Only used when smooth is set true.
	 *
	 * @property friction
	 * @type {number}
	 */	
	this.friction = 0.8;

	/**
	 * Obit movement speed.
	 *
	 * Only used when smooth is set true.
	 *
	 * @property friction
	 * @type {number}
	 */	
	this.speed = 0.3;

	/**
	 * If set true the Y orientation movement is inverted.
	 *
	 * @property invertNavigation
	 * @type {boolean}
	 */
	this.invertNavigation = false;

	this.mouse = null;
	this.keyboard = null;

	this.speedDistance = 0;
	this.speedCenter = new Vector3(0, 0, 0);
	this.speedOrientation = new Vector2(0, 0);
	this.tempVector = new Vector3();
}
Orbit controls object can be controlled using the mouse.

It can be rotated using the mouse left button, moved with the mouse right button or mouse wheel. 

@class OrbitControls
@extends {Group}
@module Controls