pan( p0, p1, adjust = false ) {

		const movement = p0.clone().sub( p1 );

		if ( this.object.isOrthographicCamera ) {

			//adjust movement amount
			movement.multiplyScalar( 1 / this.object.zoom );

		} else if ( this.object.isPerspectiveCamera && adjust ) {

			//adjust movement amount
			this._v3_1.setFromMatrixPosition( this._cameraMatrixState0 );	//camera's initial position
			this._v3_2.setFromMatrixPosition( this._gizmoMatrixState0 );	//gizmo's initial position
			const distanceFactor = this._v3_1.distanceTo( this._v3_2 ) / this.object.position.distanceTo( this._gizmos.position );
			movement.multiplyScalar( 1 / distanceFactor );

		}

		this._v3_1.set( movement.x, movement.y, 0 ).applyQuaternion( this.object.quaternion );

		this._m4_1.makeTranslation( this._v3_1.x, this._v3_1.y, this._v3_1.z );

		this.setTransformationMatrices( this._m4_1, this._m4_1 );
		return _transformation;

	}
Performs pan operation moving camera between two points.

@private
@param {Vector3} p0 - Initial point.
@param {Vector3} p1 - Ending point.
@param {boolean} [adjust=false] - If movement should be adjusted considering camera distance (Perspective only).
@returns {Object}