class.SpecialFlightController
API > SpecialFlightController
Class: SpecialFlightController
Vassbakk's super special flight controller.
Extends
Constructors
constructor
new SpecialFlightController(
input
,pick
,conversions
,params
?):SpecialFlightController
Parameters
Parameter | Type |
---|---|
input | ControllerInput |
pick | PickContext |
conversions | ScreenSpaceConversions |
params ? | FlightControllerParams |
Returns
Overrides
Source
@novorender/web_app/controller/flight.ts:506
Properties
conversions
readonly
conversions:ScreenSpaceConversions
Inherited from
Source
@novorender/web_app/controller/flight.ts:52
input
readonly
input:ControllerInput
The input source for this controller.
Inherited from
Source
@novorender/web_app/controller/base.ts:48
kind
kind:
"special"
The controller type id.
Overrides
Source
@novorender/web_app/controller/flight.ts:504
pick
readonly
pick:PickContext
The context used for pick queries.
Inherited from
Source
@novorender/web_app/controller/flight.ts:506
pivotButton
protected
pivotButton:MouseButtons
=MouseButtons.right
Can be overwritten by subclasses to change pivot button
Inherited from
Source
@novorender/web_app/controller/flight.ts:16
projection
projection:
"pinhole"
The camera projection kind.
See
Inherited from
Source
@novorender/web_app/controller/flight.ts:21
Accessors
axes
get axes():
ControllerAxes
The input axes
Returns
Inherited from
FlightController.axes
Source
@novorender/web_app/controller/base.ts:55
See
currentFlyTo
get currentFlyTo():
undefined
|Orientation
The current fly-to state, if any.
Returns
undefined
| Orientation
Inherited from
FlightController.currentFlyTo
Source
@novorender/web_app/controller/base.ts:109
fov
get set fov():
number
The camera vertical field of view angle, in degrees.
Returns
number
Inherited from
FlightController.fov
Source
@novorender/web_app/controller/flight.ts:93
generation
get generation():
number
Camera controller state generation.
Returns
number
Inherited from
FlightController.generation
Source
@novorender/web_app/controller/base.ts:29
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.
hasShift
get hasShift():
boolean
The input shift button state.
Returns
boolean
Inherited from
FlightController.hasShift
Source
@novorender/web_app/controller/base.ts:104
See
height
get height():
number
The input element height.
Returns
number
Inherited from
FlightController.height
Source
@novorender/web_app/controller/base.ts:76
See
moving
get moving():
boolean
Whether the camera is currently considered moving or not.
Returns
boolean
Inherited from
FlightController.moving
Source
@novorender/web_app/controller/base.ts:62
See
View.isIdleFrame
multiplier
get multiplier():
number
The input multiplier.
Returns
number
Inherited from
FlightController.multiplier
Source
@novorender/web_app/controller/base.ts:83
See
pitch
get set pitch():
number
The camera pitch angle, in degrees.
Returns
number
Inherited from
FlightController.pitch
Source
@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
Source
@novorender/web_app/controller/flight.ts:102
pointerTable
get pointerTable(): readonly
TouchContactPoint
[]
The input pointer table.
Returns
readonly TouchContactPoint
[]
Inherited from
FlightController.pointerTable
Source
@novorender/web_app/controller/base.ts:97
See
position
get set position():
ReadonlyVec3
Camera position, in world space.
Returns
ReadonlyVec3
Inherited from
FlightController.position
Source
@novorender/web_app/controller/flight.ts:58
rotation
get rotation():
ReadonlyQuat
Computed rotation quaternion, in world space.
Returns
ReadonlyQuat
Inherited from
FlightController.rotation
Source
@novorender/web_app/controller/flight.ts:70
Remarks
This rotation is derived from pitch and yaw angles.
width
get width():
number
The input element width.
Returns
number
Inherited from
FlightController.width
Source
@novorender/web_app/controller/base.ts:69
See
yaw
get set yaw():
number
The camera yaw angle, in degrees.
Returns
number
Inherited from
FlightController.yaw
Source
@novorender/web_app/controller/flight.ts:84
zoomPos
get zoomPos():
number
[]
The input zoom position.
Returns
number
[]
Inherited from
FlightController.zoomPos
Source
@novorender/web_app/controller/base.ts:90
See
Methods
animate
animate(
elapsedTime
):void
Apply time sensitive changes to controller state.
Parameters
Parameter | Type | Description |
---|---|---|
elapsedTime | number | The # of milliseconds elapsed since the last update. |
Returns
void
Inherited from
Source
@novorender/web_app/controller/base.ts:136
Remarks
Fly-to animations happens here, as well as motion based on keyboard pressed-state, such as the WASD keys.
attach
attach():
void
Attach this controller to the input object
Returns
void
Inherited from
Source
@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
Parameter | Type | Description |
---|---|---|
center | ReadonlyVec3 | The center of the bounding sphere, in world space. |
radius | number | The radius of the bounding sphere, in world space. |
Returns
void
Inherited from
Source
@novorender/web_app/controller/flight.ts:140
changed
protected
changed():void
Signal changes to internal state.
Returns
void
Inherited from
Source
@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
Source
@novorender/web_app/controller/flight.ts:512
init
init(
params
):void
Initialize controller from parameters.
Parameters
Parameter | Type |
---|---|
params | ControllerInitParams |
Returns
void
Inherited from
Source
@novorender/web_app/controller/flight.ts:123
See
modifiers
protected
modifiers():object
Function for getting input modifiers based on how far the 3d objects are from the mouse cursor
Returns
mousePanModifier
mousePanModifier: number
mouseWheelModifier
mouseWheelModifier: number
pinchModifier
pinchModifier: number
scale
scale: number
= 20
touchMovementModifier
touchMovementModifier: number
Inherited from
Source
@novorender/web_app/controller/flight.ts:375
mouseButtonChanged
mouseButtonChanged(
event
):Promise
\<void
>
Handler for mouse buttons events.
Parameters
Parameter | Type |
---|---|
event | MouseEvent |
Returns
Promise
\< void
>
Inherited from
FlightController
.mouseButtonChanged
Source
@novorender/web_app/controller/flight.ts:286
moveBegin
moveBegin(
event
):Promise
\<void
>
Handler for mouse/touch move events.
Parameters
Parameter | Type |
---|---|
event | MouseEvent | TouchEvent |
Returns
Promise
\< void
>
Inherited from
Source
@novorender/web_app/controller/flight.ts:322
moveTo
moveTo(
targetPosition
,flyTime
=1000
,rotation
?,easeFunction
?):void
Move controller to specified position/rotation.
Parameters
Parameter | Type | Default value |
---|---|---|
targetPosition | ReadonlyVec3 | undefined |
flyTime | number | 1000 |
rotation ? | ReadonlyQuat | undefined |
easeFunction ? | (t ) => number | undefined |
Returns
void
Inherited from
Source
@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
Parameter | Type | Description |
---|---|---|
state | RenderStateCamera | The baseline render state. |
elapsedTime | number | The time elapsed since last call, in milliseconds. |
Returns
undefined
| RecursivePartial
\< RenderState
>
Inherited from
FlightController
.renderStateChanges
Source
@novorender/web_app/controller/base.ts:236
resetFlyTo
protected
resetFlyTo():void
Returns
void
Inherited from
Source
@novorender/web_app/controller/base.ts:113
resetVelocity
resetVelocity():
void
Returns
void
Inherited from
FlightController
.resetVelocity
Source
@novorender/web_app/controller/flight.ts:106
serialize
serialize():
ControllerInitParams
Serialize the state of this controller into init parameters.
Returns
Inherited from
Source
@novorender/web_app/controller/flight.ts:117
See
setFlyTo
protected
setFlyTo(flyTo
):void
Initialize a fly-to transition.
Parameters
Parameter | Type | Description |
---|---|---|
flyTo | FlyToParams | The transition parameters |
Returns
void
Inherited from
Source
@novorender/web_app/controller/base.ts:120
stateChanges
stateChanges(
state
?):Partial
\<RenderStateCamera
>
Retrieve changes to render state from derived class, if any.
Parameters
Parameter | Type | Description |
---|---|---|
state ? | RenderStateCamera | The baseline state to apply changes to. |
Returns
Partial
\< RenderStateCamera
>
Inherited from
Source
@novorender/web_app/controller/flight.ts:265
See
Remarks
If there are no changes, the returned object will be empty, i.e. {}.
touchChanged
touchChanged(
event
):Promise
\<void
>
Handler for touch events.
Parameters
Parameter | Type |
---|---|
event | TouchEvent |
Returns
Promise
\< void
>
Inherited from
Source
@novorender/web_app/controller/flight.ts:303
update
update():
void
Update internal controller state
Returns
void
Inherited from
Source
@novorender/web_app/controller/flight.ts:197
updateParams
updateParams(
params
):void
Update controller parameters.
Parameters
Parameter | Type | Description |
---|---|---|
params | RecursivePartial \< FlightControllerParams > | Set of parameters to change. |
Returns
void
Inherited from
Source
@novorender/web_app/controller/flight.ts:113
zoomTo
zoomTo(
boundingSphere
,flyTime
=1000
):void
Bring the specified bounding sphere into view.
Parameters
Parameter | Type | Default value |
---|---|---|
boundingSphere | BoundingSphere | undefined |
flyTime | number | 1000 |
Returns
void
Inherited from
Source
@novorender/web_app/controller/flight.ts:177
Remarks
This function will retain the current camera controller rotation.
assert
static
assert(controller
):asserts controller is FlightController
FlightController type assert function.
Parameters
Parameter | Type | Description |
---|---|---|
controller | BaseController | The controller to type assert. |
Returns
asserts controller is FlightController
Inherited from
Source
@novorender/web_app/controller/flight.ts:428
getDistanceFromViewPlane
static
protected
getDistanceFromViewPlane(point
,cameraPosition
,cameraRotation
):number
Compute the distance to a point from the specified view plane.
Parameters
Parameter | Type | Description |
---|---|---|
point | ReadonlyVec3 | The point to measure distance too |
cameraPosition | ReadonlyVec3 | The position of the camera/view plane. |
cameraRotation | ReadonlyQuat | The 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
Source
@novorender/web_app/controller/base.ts:262
is
static
is(controller
):controller is FlightController
FlightController type guard function.
Parameters
Parameter | Type | Description |
---|---|---|
controller | BaseController | The controller to type guard. |
Returns
controller is FlightController