Skip to main content

@novorender/web_app / CadMiddlePanController

Class: CadMiddlePanController

Variant of flight controller that uses middle mouse button for panning.

Extends

Accessors

axes

get axes(): ControllerAxes

The input axes

See

ControllerInput.axes

Returns

ControllerAxes

Inherited from

FlightController.axes

Defined in

@novorender/web_app/controller/base.ts:55


currentFlyTo

get currentFlyTo(): undefined | Orientation

The current fly-to state, if any.

Returns

undefined | Orientation

Inherited from

FlightController.currentFlyTo

Defined in

@novorender/web_app/controller/base.ts:109


fov

get fov(): number

The camera vertical field of view angle, in degrees.

set fov(value): void

Parameters

ParameterType
valuenumber

Returns

number

Inherited from

FlightController.fov

Defined in

@novorender/web_app/controller/flight.ts:93


generation

get generation(): number

Camera controller state generation.

Remarks

If the controller state changes, the generation count will be incremented once every call to renderStateChanges. This can be used to detect changes by comparing to a local generation count. The count is wrapped at 0xffffffff, so make sure you use != comparison and not < comparison.

Returns

number

Inherited from

FlightController.generation

Defined in

@novorender/web_app/controller/base.ts:29


hasShift

get hasShift(): boolean

The input shift button state.

See

ControllerInput.hasShift

Returns

boolean

Inherited from

FlightController.hasShift

Defined in

@novorender/web_app/controller/base.ts:104


height

get height(): number

The input element height.

See

ControllerInput.height

Returns

number

Inherited from

FlightController.height

Defined in

@novorender/web_app/controller/base.ts:76


moving

get moving(): boolean

Whether the camera is currently considered moving or not.

See

View.isIdleFrame

Returns

boolean

Inherited from

FlightController.moving

Defined in

@novorender/web_app/controller/base.ts:62


multiplier

get multiplier(): number

The input multiplier.

See

ControllerInput.multiplier

Returns

number

Inherited from

FlightController.multiplier

Defined in

@novorender/web_app/controller/base.ts:83


pitch

get pitch(): number

The camera pitch angle, in degrees.

set pitch(value): void

Parameters

ParameterType
valuenumber

Returns

number

Inherited from

FlightController.pitch

Defined in

@novorender/web_app/controller/flight.ts:75


pivot

get pivot(): undefined | Pivot

The optional pivot point to orbit around, in world space.

Returns

undefined | Pivot

Inherited from

FlightController.pivot

Defined in

@novorender/web_app/controller/flight.ts:102


pointerTable

get pointerTable(): readonly TouchContactPoint[]

The input pointer table.

See

ControllerInput.touchPoints

Returns

readonly TouchContactPoint[]

Inherited from

FlightController.pointerTable

Defined in

@novorender/web_app/controller/base.ts:97


position

get position(): ReadonlyVec3

Camera position, in world space.

set position(value): void

Parameters

ParameterType
valueReadonlyVec3

Returns

ReadonlyVec3

Inherited from

FlightController.position

Defined in

@novorender/web_app/controller/flight.ts:58


rotation

get rotation(): ReadonlyQuat

Computed rotation quaternion, in world space.

Remarks

This rotation is derived from pitch and yaw angles.

Returns

ReadonlyQuat

Inherited from

FlightController.rotation

Defined in

@novorender/web_app/controller/flight.ts:70


width

get width(): number

The input element width.

See

ControllerInput.width

Returns

number

Inherited from

FlightController.width

Defined in

@novorender/web_app/controller/base.ts:69


yaw

get yaw(): number

The camera yaw angle, in degrees.

set yaw(value): void

Parameters

ParameterType
valuenumber

Returns

number

Inherited from

FlightController.yaw

Defined in

@novorender/web_app/controller/flight.ts:84


zoomPos

get zoomPos(): number[]

The input zoom position.

See

ControllerInput.zoomPos

Returns

number[]

Inherited from

FlightController.zoomPos

Defined in

@novorender/web_app/controller/base.ts:90

Constructors

new CadMiddlePanController()

new CadMiddlePanController(
input,
pick,
conversions,
params?): CadMiddlePanController

Parameters

ParameterType
inputControllerInput
pickPickContext
conversionsScreenSpaceConversions
params?FlightControllerParams

Returns

CadMiddlePanController

Overrides

FlightController.constructor

Defined in

@novorender/web_app/controller/flight.ts:444

Methods

animate()

animate(elapsedTime): void

Apply time sensitive changes to controller state.

Parameters

ParameterTypeDescription
elapsedTimenumberThe # of milliseconds elapsed since the last update.

Returns

void

Remarks

Fly-to animations happens here, as well as motion based on keyboard pressed-state, such as the WASD keys.

Inherited from

FlightController.animate

Defined in

@novorender/web_app/controller/base.ts:136


attach()

attach(): void

Attach this controller to the input object

Returns

void

Inherited from

FlightController.attach

Defined in

@novorender/web_app/controller/base.ts:193


autoFit()

autoFit(center, radius): void

Attempt to fit controller position such that the specified bounding sphere is brought into view.

Parameters

ParameterTypeDescription
centerReadonlyVec3The center of the bounding sphere, in world space.
radiusnumberThe radius of the bounding sphere, in world space.

Returns

void

Inherited from

FlightController.autoFit

Defined in

@novorender/web_app/controller/flight.ts:140


changed()

protected changed(): void

Signal changes to internal state.

Returns

void

Inherited from

FlightController.changed

Defined in

@novorender/web_app/controller/base.ts:34


getTransformations()

getTransformations(): CameraTransformations

Function to get transformations since last updated. This can be overwritten to easily change direction and scale of input while keeping the standard caluculation for flight controller

Returns

CameraTransformations

Overrides

FlightController.getTransformations

Defined in

@novorender/web_app/controller/flight.ts:450


init()

init(params): void

Initialize controller from parameters.

Parameters

ParameterType
paramsControllerInitParams

Returns

void

See

serialize

Inherited from

FlightController.init

Defined in

@novorender/web_app/controller/flight.ts:123


modifiers()

protected modifiers(): object

Function for getting input modifiers based on how far the 3d objects are from the mouse cursor

Returns

object

mousePanModifier
mousePanModifier: number;
mouseWheelModifier
mouseWheelModifier: number;
pinchModifier
pinchModifier: number;
scale
scale: number = 20;
touchMovementModifier
touchMovementModifier: number;

Inherited from

FlightController.modifiers

Defined in

@novorender/web_app/controller/flight.ts:375


mouseButtonChanged()

mouseButtonChanged(event): Promise<void>

Handler for mouse buttons events.

Parameters

ParameterType
eventMouseEvent

Returns

Promise<void>

Inherited from

FlightController.mouseButtonChanged

Defined in

@novorender/web_app/controller/flight.ts:286


moveBegin()

moveBegin(event): Promise<void>

Handler for mouse/touch move events.

Parameters

ParameterType
eventMouseEvent | TouchEvent

Returns

Promise<void>

Inherited from

FlightController.moveBegin

Defined in

@novorender/web_app/controller/flight.ts:322


moveTo()

moveTo(
targetPosition,
flyTime,
rotation?,
easeFunction?): void

Move controller to specified position/rotation.

Parameters

ParameterTypeDefault value
targetPositionReadonlyVec3undefined
flyTimenumber1000
rotation?ReadonlyQuatundefined
easeFunction?(t) => numberundefined

Returns

void

Inherited from

FlightController.moveTo

Defined in

@novorender/web_app/controller/flight.ts:149


renderStateChanges()

renderStateChanges(state, elapsedTime): undefined | RecursivePartial<RenderState>

Retrieve the state changes to be applied to the specified render state.

Parameters

ParameterTypeDescription
stateRenderStateCameraThe baseline render state.
elapsedTimenumberThe time elapsed since last call, in milliseconds.

Returns

undefined | RecursivePartial<RenderState>

Inherited from

FlightController.renderStateChanges

Defined in

@novorender/web_app/controller/base.ts:236


resetFlyTo()

protected resetFlyTo(): void

Returns

void

Inherited from

FlightController.resetFlyTo

Defined in

@novorender/web_app/controller/base.ts:113


resetVelocity()

resetVelocity(): void

Returns

void

Inherited from

FlightController.resetVelocity

Defined in

@novorender/web_app/controller/flight.ts:106


serialize()

serialize(): ControllerInitParams

Serialize the state of this controller into init parameters.

Returns

ControllerInitParams

See

init

Inherited from

FlightController.serialize

Defined in

@novorender/web_app/controller/flight.ts:117


setFlyTo()

protected setFlyTo(flyTo): void

Initialize a fly-to transition.

Parameters

ParameterTypeDescription
flyToFlyToParamsThe transition parameters

Returns

void

Inherited from

FlightController.setFlyTo

Defined in

@novorender/web_app/controller/base.ts:120


stateChanges()

stateChanges(state?): Partial<RenderStateCamera>

Retrieve changes to render state from derived class, if any.

Parameters

ParameterTypeDescription
state?RenderStateCameraThe baseline state to apply changes to.

Returns

Partial<RenderStateCamera>

See

View.modifyRenderState

Remarks

If there are no changes, the returned object will be empty, i.e. .

Inherited from

FlightController.stateChanges

Defined in

@novorender/web_app/controller/flight.ts:265


touchChanged()

touchChanged(event): Promise<void>

Handler for touch events.

Parameters

ParameterType
eventTouchEvent

Returns

Promise<void>

Inherited from

FlightController.touchChanged

Defined in

@novorender/web_app/controller/flight.ts:303


update()

update(): void

Update internal controller state

Returns

void

Inherited from

FlightController.update

Defined in

@novorender/web_app/controller/flight.ts:197


updateParams()

updateParams(params): void

Update controller parameters.

Parameters

ParameterTypeDescription
paramsRecursivePartial<FlightControllerParams>Set of parameters to change.

Returns

void

Inherited from

FlightController.updateParams

Defined in

@novorender/web_app/controller/flight.ts:113


zoomTo()

zoomTo(boundingSphere, flyTime): void

Bring the specified bounding sphere into view.

Parameters

ParameterTypeDefault value
boundingSphereBoundingSphereundefined
flyTimenumber1000

Returns

void

Remarks

This function will retain the current camera controller rotation.

Inherited from

FlightController.zoomTo

Defined in

@novorender/web_app/controller/flight.ts:177


assert()

static assert(controller): asserts controller is FlightController

FlightController type assert function.

Parameters

ParameterTypeDescription
controllerBaseControllerThe controller to type assert.

Returns

asserts controller is FlightController

Inherited from

FlightController.assert

Defined in

@novorender/web_app/controller/flight.ts:428


getDistanceFromViewPlane()

protected static getDistanceFromViewPlane(
point,
cameraPosition,
cameraRotation): number

Compute the distance to a point from the specified view plane.

Parameters

ParameterTypeDescription
pointReadonlyVec3The point to measure distance too
cameraPositionReadonlyVec3The position of the camera/view plane.
cameraRotationReadonlyQuatThe rotation of the camera/view plane.

Returns

number

A signed distance from the point to the view plane, i.e. positive for points in front of the plane and negative otherwise.

Inherited from

FlightController.getDistanceFromViewPlane

Defined in

@novorender/web_app/controller/base.ts:262


is()

static is(controller): controller is FlightController

FlightController type guard function.

Parameters

ParameterTypeDescription
controllerBaseControllerThe controller to type guard.

Returns

controller is FlightController

Inherited from

FlightController.is

Defined in

@novorender/web_app/controller/flight.ts:421

Properties

conversions

readonly conversions: ScreenSpaceConversions;

Inherited from

FlightController.conversions

Defined in

@novorender/web_app/controller/flight.ts:52


input

readonly input: ControllerInput;

The input source for this controller.

Inherited from

FlightController.input

Defined in

@novorender/web_app/controller/base.ts:48


kind

kind: "cadMiddlePan";

The controller type id.

Overrides

FlightController.kind

Defined in

@novorender/web_app/controller/flight.ts:442


pick

readonly pick: PickContext;

The context used for pick queries.

Inherited from

FlightController.pick

Defined in

@novorender/web_app/controller/flight.ts:444


pivotButton

protected pivotButton: MouseButtons = MouseButtons.right;

Can be overwritten by subclasses to change pivot button

Inherited from

FlightController.pivotButton

Defined in

@novorender/web_app/controller/flight.ts:16


projection

projection: "pinhole";

The camera projection kind.

See

RenderStateCamera.kind.

Inherited from

FlightController.projection

Defined in

@novorender/web_app/controller/flight.ts:21