Class: None

PD.UserModeHandler. None

Provides an edit mode that basically does nothing.

This corresponds to the PD.MODE.NONE mode and is useful for periods when you want to completely disable model manipulation, other than view changes.


new None()

Author:
  • drajmarsh

Extends

Members


:boolean

isUserModeHandler <readonly>

A flag identifying this object as an edit mode handler.

Type
  • boolean
Inherited From:

Methods


cancel(host)

Cancels this edit mode.

Parameters:
Name Type Description
host PD.SelectionManager

The selection manager.

Inherited From:

complete(host)

Completes any pending modal action(s) in this edit mode.

If this is a multi-stage action and it is still within the setup stages, this method should perform any cleanup actions that may be required to cancel out, then reset the user mode to the default edit mode and return false.

If setup stages are over, the user mode should perform whatever actions are required to complete or finalise the action, reset the user mode to the default edit mode and return true.

Parameters:
Name Type Description
host PD.SelectionManager

The selection manager.

Inherited From:
Returns:

Returns true if a pending action was completed.

Type
boolean

displayDimensions(host, mesh)

Regenerates dimension lines associated with this action, if any.

This method is called when the host selection manager is updating the model view after something has changed. The role of this method is to add whatever dimensions are associated with this action to the given dimension mesh.

Parameters:
Name Type Description
host PD.SelectionManager

The selection manager.

mesh PD.PolyMesh

The mesh to add the dimension(s) to.

Inherited From:
Returns:

Returns true if something in the model was dimensioned and the mesh should be visible, otherwise false.

Type
boolean

handleClickSelect(host, raycaster, event)

Handle interactive click/tap selection events in the canvas.

This method is called when the user has clicked/tapped and released the pointer within the model canvas without dragging, but away from the 3D cursor.

For actions that have one or more initial setup stages (such as a rotation that first needs an origin and then a reference point to rotate from), this method typically checks whether the host.userActionStage is still within setup and, if so, progresses it to the next stage and returns true.

If setup stages are over and the action is completed, the user mode should be returned to the default edit mode and the method should return false.

Parameters:
Name Type Description
host PD.SelectionManager

The selection manager.

raycaster THREE.Raycaster

The ray cast into the current scene.

event object

The DOM event that triggered this selection.

Inherited From:
Returns:

Returns true if something in the model was selected and geometry was added to the mesh, otherwise false.

Type
boolean

handleDragEnd(host, cursor, event)

Complete the action when the 3D cursor drag has finished.

This method is called when the user interactively releases the pointer after dragging the 3D cursor in the model canvas.

Parameters:
Name Type Description
host PD.SelectionManager

The selection manager.

cursor PD.Cursor

The cursor that just finished moving.

event object

The DOM event that triggered the end of the move.

Inherited From:
Returns:

Returns true if the move was finalised.

Type
boolean

handleDragMove(host, newPos, cursor, event)

Update the action as the 3D cursor is interactively dragged.

This method is called multiple times as the user interactively drags the 3D cursor in the model canvas with the pointer down.

Parameters:
Name Type Description
host PD.SelectionManager

The selection manager.

newPos THREE.Vector3

The proposed new position of the cursor.

cursor PD.Cursor

The cursor that moved.

event object

The DOM event that triggered this move.

Inherited From:
Returns:

Returns true if the move was applied.

Type
boolean

handleDragStart(host, cursor, event)

Prepare the action just prior to a 3D cursor drag event.

This method is called when the user has clicked/tapped the pointer on one of the active cursor manipulators in the model canvas and has just begun to drag with the pointer down.

Parameters:
Name Type Description
host PD.SelectionManager

The selection manager.

cursor PD.Cursor

The cursor that is about to move.

event object

The DOM event that triggered this move.

Inherited From:
Returns:

Returns true if the move is allowed.

Type
boolean

handlePreSelect(host, raycaster, event)

Handle interactive pre-selection events within the model canvas.

This method is called when the user first clicks/taps within the model canvas, but away from the 3D cursor. At this stage, the system doesn't yet know whether the user intends to select something in the model or is simply trying to pan or rotate the view. Thus, the role of this method is to provide some visual feedback to indicate what would be selected if the user were to release the pointer without dragging.

For actions that have one or more initial setup stages (such as a rotation that first needs an origin and then a reference point to rotate from), this method typically checks whether the host.userActionStage is still within setup and, if so, positions the 3D cursor at the position at the clicked point on the cursor plane, ready to be dragged into position.

Parameters:
Name Type Description
host PD.SelectionManager

The selection manager.

raycaster THREE.Raycaster

The ray cast into the current scene.

event object

The DOM event that triggered this callback.

Inherited From:
Returns:

Returns true if something in the model was pre-selected and geometry was added to the mesh, otherwise false.

Type
boolean

initialise(host)

Called each time this edit mode is entered.

Parameters:
Name Type Description
host PD.SelectionManager

The selection manager.

Inherited From:

progressToNextStage(host [, stage])

Increments through the stages of an interactive process.

This method should do whatever is required to end the previous stage and transition to the next stage in a multi-stage action.

Parameters:
Name Type Argument Description
host PD.SelectionManager

The selection manager.

stage number <optional>

An optional stage in the progress, defaults to -1.

Inherited From:

setCursorPosition(host, pos [, event])

Manually sets the cursor position during an action.

This method is called when the user manually edits the cursor position using the keyboard or other numeric input within the UI, as opposed to dragging the cursor. It is not called when the cursor is moved interactively using the manipulators and a pointer.

This method should undertake whatever action dragging the cursor would have at the current progress stage.

Parameters:
Name Type Argument Description
host PD.SelectionManager

The selection manager.

pos Object | Array

The new position to move the cursor to.

event Event <optional>

The event that invoked this method.

Inherited From: