checkIntersections( objects, recursive = false ) {

		if ( this.raycaster && ! this.attached ) {

			const intersections = this.raycaster.intersectObjects( objects, recursive );
			const direction = new Vector3( 0, 0, - 1 );
			if ( intersections.length > 0 ) {

				const intersection = intersections[ 0 ];
				const distance = intersection.distance;
				this.cursorObject.position.copy( direction.multiplyScalar( distance ) );

			} else {

				this.cursorObject.position.copy( direction.multiplyScalar( CURSOR_MAX_DISTANCE ) );

			}

		}

	}
Checks for intersections between the model's raycaster and the given objects. The method
updates the cursor object to the intersection point.

@param {Array<Object3D>} objects - The 3D objects to check for intersection with the ray.
@param {boolean} [recursive=false] - If set to `true`, it also checks all descendants.
Otherwise it only checks intersection with the object.