drawGrid() {

		if ( this.scene != null ) {

			const color = 0x888888;
			const multiplier = 3;
			let size, divisions, maxLength, tick;

			if ( this.object.isOrthographicCamera ) {

				const width = this.object.right - this.object.left;
				const height = this.object.bottom - this.object.top;

				maxLength = Math.max( width, height );
				tick = maxLength / 20;

				size = maxLength / this.object.zoom * multiplier;
				divisions = size / tick * this.object.zoom;

			} else if ( this.object.isPerspectiveCamera ) {

				const distance = this.object.position.distanceTo( this._gizmos.position );
				const halfFovV = MathUtils.DEG2RAD * this.object.fov * 0.5;
				const halfFovH = Math.atan( ( this.object.aspect ) * Math.tan( halfFovV ) );

				maxLength = Math.tan( Math.max( halfFovV, halfFovH ) ) * distance * 2;
				tick = maxLength / 20;

				size = maxLength * multiplier;
				divisions = size / tick;

			}

			if ( this._grid == null ) {

				this._grid = new GridHelper( size, divisions, color, color );
				this._grid.position.copy( this._gizmos.position );
				this._gridPosition.copy( this._grid.position );
				this._grid.quaternion.copy( this.object.quaternion );
				this._grid.rotateX( Math.PI * 0.5 );

				this.scene.add( this._grid );

			}

		}

	}
Creates a grid if necessary and adds it to the scene.

@private