class.OrbitController
API > OrbitController
Class: OrbitController
A camera controller for orbiting around a point of interest.
Extends
Constructors
constructor
new OrbitController(
input
,params
?):OrbitController
Parameters
Parameter | Type | Description |
---|---|---|
input | ControllerInput | The input source. |
params ? | Partial \< OrbitControllerParams > | Optional initialization parameters. |
Returns
Overrides
Source
@novorender/web_app/controller/orbit.ts:29
Properties
input
readonly
input:ControllerInput
The input source for this controller.
Inherited from
Source
@novorender/web_app/controller/base.ts:48
kind
kind:
"orbit"
The controller type id.
Overrides
Source
@novorender/web_app/controller/orbit.ts:12
projection
projection:
"pinhole"
The camera projection kind.
See
Overrides
Source
@novorender/web_app/controller/orbit.ts:13
Accessors
axes
get axes():
ControllerAxes
The input axes
Returns
Inherited from
BaseController.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
BaseController.currentFlyTo
Source
@novorender/web_app/controller/base.ts:109
distance
get set distance():
number
The distance from the pivot point, in meters.
Returns
number
Source
@novorender/web_app/controller/orbit.ts:87
fov
get set fov():
number
The camera vertical field of view angle, in degrees.
Returns
number
Source
@novorender/web_app/controller/orbit.ts:96
generation
get generation():
number
Camera controller state generation.
Returns
number
Inherited from
BaseController.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
BaseController.hasShift
Source
@novorender/web_app/controller/base.ts:104
See
height
get height():
number
The input element height.
Returns
number
Inherited from
BaseController.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
BaseController.moving
Source
@novorender/web_app/controller/base.ts:62
See
View.isIdleFrame
multiplier
get multiplier():
number
The input multiplier.
Returns
number
Inherited from
BaseController.multiplier
Source
@novorender/web_app/controller/base.ts:83
See
parameters
get parameters():
OrbitControllerParams
The current controller parameters.
Returns
Source
@novorender/web_app/controller/orbit.ts:35
pitch
get set pitch():
number
The pitch angle around the pivot point, in degrees.
Returns
number
Source
@novorender/web_app/controller/orbit.ts:60
pivot
get set pivot():
ReadonlyVec3
The pivot point to orbit around, in world space.
Returns
ReadonlyVec3
Source
@novorender/web_app/controller/orbit.ts:78
pointerTable
get pointerTable(): readonly
TouchContactPoint
[]
The input pointer table.
Returns
readonly TouchContactPoint
[]
Inherited from
BaseController.pointerTable
Source
@novorender/web_app/controller/base.ts:97
See
position
get position():
vec3
Computed position, in world space.
Returns
vec3
Source
@novorender/web_app/controller/orbit.ts:43
Remarks
This position is derived from pivot point, distance, rotated around pitch and yaw angles.
rotation
get rotation():
ReadonlyQuat
Computed rotation quaternion, in world space.
Returns
ReadonlyQuat
Source
@novorender/web_app/controller/orbit.ts:55
Remarks
This rotation is derived from pitch and yaw angles.
width
get width():
number
The input element width.
Returns
number
Inherited from
BaseController.width
Source
@novorender/web_app/controller/base.ts:69
See
yaw
get set yaw():
number
The yaw angle around the pivot point, in degrees.
Returns
number
Source
@novorender/web_app/controller/orbit.ts:69
zoomPos
get zoomPos():
number
[]
The input zoom position.
Returns
number
[]
Inherited from
BaseController.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:132
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:189
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
Overrides
Source
@novorender/web_app/controller/orbit.ts:156
changed
protected
changed():void
Signal changes to internal state.
Returns
void
Inherited from
Source
@novorender/web_app/controller/base.ts:34
init
init(
params
):void
Initialize controller from parameters.
Parameters
Parameter | Type |
---|---|
params | ControllerInitParams |
Returns
void
Overrides
Source
@novorender/web_app/controller/orbit.ts:117
See
mouseButtonChanged
mouseButtonChanged(
event
):void
|Promise
\<void
>
Handler for mouse buttons events.
Parameters
Parameter | Type |
---|---|
event | MouseEvent |
Returns
void
| Promise
\< void
>
Inherited from
BaseController
.mouseButtonChanged
Source
@novorender/web_app/controller/base.ts:197
moveBegin
moveBegin(
event
):void
|Promise
\<void
>
Handler for mouse/touch move events.
Parameters
Parameter | Type |
---|---|
event | MouseEvent | TouchEvent |
Returns
void
| Promise
\< void
>
Inherited from
Source
@novorender/web_app/controller/base.ts:209
moveTo
moveTo(
targetPosition
,flyTime
=1000
,rotation
?):void
Move controller to specified position/rotation.
Parameters
Parameter | Type | Default value |
---|---|---|
targetPosition | ReadonlyVec3 | undefined |
flyTime | number | 1000 |
rotation ? | ReadonlyQuat | undefined |
Returns
void
Inherited from
Source
@novorender/web_app/controller/base.ts:217
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
BaseController
.renderStateChanges
Source
@novorender/web_app/controller/base.ts:232
serialize
serialize(
includeDerived
=false
):ControllerInitParams
Serialize the state of this controller into init parameters.
Parameters
Parameter | Type | Default value | Description |
---|---|---|---|
includeDerived | boolean | false | Include derived state which may not be intrinsic to this controller, such as orbit controller position. |
Returns
Overrides
Source
@novorender/web_app/controller/orbit.ts:111
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:116
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
>
Overrides
Source
@novorender/web_app/controller/orbit.ts:191
See
Remarks
If there are no changes, the returned object will be empty, i.e. {}.
touchChanged
touchChanged(
event
):void
|Promise
\<void
>
Handler for touch events.
Parameters
Parameter | Type |
---|---|
event | TouchEvent |
Returns
void
| Promise
\< void
>
Inherited from
Source
@novorender/web_app/controller/base.ts:203
update
update():
void
Update internal controller state
Returns
void
Overrides
Source
@novorender/web_app/controller/orbit.ts:163
updateParams
updateParams(
params
):void
Update controller parameters.
Parameters
Parameter | Type | Description |
---|---|---|
params | Partial \< OrbitControllerParams > | Set of parameters to change. |
Returns
void
Source
@novorender/web_app/controller/orbit.ts:107
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/base.ts:226
Remarks
This function will retain the current camera controller rotation.
assert
static
assert(controller
):asserts controller is OrbitController
OrbitController type assert function.
Parameters
Parameter | Type | Description |
---|---|---|
controller | BaseController | The controller to type assert. |
Returns
asserts controller is OrbitController
Source
@novorender/web_app/controller/orbit.ts:222
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
BaseController
.getDistanceFromViewPlane
Source
@novorender/web_app/controller/base.ts:258
is
static
is(controller
):controller is OrbitController
OrbitController type guard function.
Parameters
Parameter | Type | Description |
---|---|---|
controller | BaseController | The controller to type guard. |
Returns
controller is OrbitController