[gs-longan](../README.md) / [Rendering](../modules/Rendering.md) / Camera

# Class: Camera

[Rendering](../modules/Rendering.md).Camera

## Table of contents

### Constructors

- [constructor](Rendering.Camera.md#constructor)

### Properties

- [\_isModelNeedUpdate](Rendering.Camera.md#_ismodelneedupdate)
- [changed](Rendering.Camera.md#changed)
- [isChanged](Rendering.Camera.md#ischanged)
- [modelNeedUpdate](Rendering.Camera.md#modelneedupdate)

### Accessors

- [data](Rendering.Camera.md#data)
- [extent](Rendering.Camera.md#extent)
- [far](Rendering.Camera.md#far)
- [field](Rendering.Camera.md#field)
- [fov](Rendering.Camera.md#fov)
- [height](Rendering.Camera.md#height)
- [isModelNeedUpdate](Rendering.Camera.md#ismodelneedupdate)
- [near](Rendering.Camera.md#near)
- [position](Rendering.Camera.md#position)
- [projInverseMatrix](Rendering.Camera.md#projinversematrix)
- [projMatrix](Rendering.Camera.md#projmatrix)
- [projViewInverseMatrix](Rendering.Camera.md#projviewinversematrix)
- [projViewMatrix](Rendering.Camera.md#projviewmatrix)
- [projection](Rendering.Camera.md#projection)
- [renderingNearFar](Rendering.Camera.md#renderingnearfar)
- [renderingPosition](Rendering.Camera.md#renderingposition)
- [renderingTarget](Rendering.Camera.md#renderingtarget)
- [renderingUp](Rendering.Camera.md#renderingup)
- [target](Rendering.Camera.md#target)
- [up](Rendering.Camera.md#up)
- [viewDirect](Rendering.Camera.md#viewdirect)
- [viewLength](Rendering.Camera.md#viewlength)
- [viewMatrix](Rendering.Camera.md#viewmatrix)
- [width](Rendering.Camera.md#width)

### Methods

- [Check\_View\_and\_Extent](Rendering.Camera.md#check_view_and_extent)
- [checkViewPoint](Rendering.Camera.md#checkviewpoint)
- [dolly](Rendering.Camera.md#dolly)
- [keepRatio](Rendering.Camera.md#keepratio)
- [reset](Rendering.Camera.md#reset)
- [roll](Rendering.Camera.md#roll)
- [setExtent](Rendering.Camera.md#setextent)
- [setField](Rendering.Camera.md#setfield)
- [update](Rendering.Camera.md#update)
- [zoom](Rendering.Camera.md#zoom)

## Constructors

### constructor

• **new Camera**(`viewer`): [`Camera`](Rendering.Camera.md)

#### Parameters

| Name | Type |
| :------ | :------ |
| `viewer` | [`Viewer`](Viewer.md) |

#### Returns

[`Camera`](Rendering.Camera.md)

## Properties

### \_isModelNeedUpdate

• **\_isModelNeedUpdate**: `boolean` = `false`

___

### changed

• **changed**: [`List`](List.md)\<(`viewer`: [`Viewer`](Viewer.md), `args`: [`EventArgs`](EventArgs.md)) => `void`\>

___

### isChanged

• **isChanged**: `boolean` = `false`

___

### modelNeedUpdate

• **modelNeedUpdate**: [`List`](List.md)\<(`viewer`: [`Viewer`](Viewer.md), `args`: [`EventArgs`](EventArgs.md)) => `void`\>

## Accessors

### data

• `get` **data**(): `Object`

#### Returns

`Object`

| Name | Type |
| :------ | :------ |
| `height` | `number` |
| `position` | `Float64Array` |
| `target` | `Float64Array` |
| `up` | `Float64Array` |
| `width` | `number` |

• `set` **data**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `Object` |
| `value.height` | `number` |
| `value.position` | `Float64Array` |
| `value.target` | `Float64Array` |
| `value.up` | `Float64Array` |
| `value.width` | `number` |

#### Returns

`void`

___

### extent

• `get` **extent**(): `Float64Array`

#### Returns

`Float64Array`

___

### far

• `get` **far**(): `number`

#### Returns

`number`

• `set` **far**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `number` |

#### Returns

`void`

___

### field

• `get` **field**(): `Float64Array`

#### Returns

`Float64Array`

___

### fov

• `get` **fov**(): `number`

#### Returns

`number`

• `set` **fov**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `number` |

#### Returns

`void`

___

### height

• `get` **height**(): `number`

#### Returns

`number`

• `set` **height**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `number` |

#### Returns

`void`

___

### isModelNeedUpdate

• `get` **isModelNeedUpdate**(): `boolean`

#### Returns

`boolean`

• `set` **isModelNeedUpdate**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `boolean` |

#### Returns

`void`

___

### near

• `get` **near**(): `number`

#### Returns

`number`

• `set` **near**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `number` |

#### Returns

`void`

___

### position

• `get` **position**(): `Float64Array`

#### Returns

`Float64Array`

• `set` **position**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `ArrayLike`\<`number`\> |

#### Returns

`void`

___

### projInverseMatrix

• `get` **projInverseMatrix**(): `Float32Array`

#### Returns

`Float32Array`

___

### projMatrix

• `get` **projMatrix**(): `Float32Array`

#### Returns

`Float32Array`

___

### projViewInverseMatrix

• `get` **projViewInverseMatrix**(): `Float32Array`

#### Returns

`Float32Array`

___

### projViewMatrix

• `get` **projViewMatrix**(): `Float32Array`

#### Returns

`Float32Array`

___

### projection

• `get` **projection**(): [`ProjectionType`](../enums/ProjectionType.md)

#### Returns

[`ProjectionType`](../enums/ProjectionType.md)

• `set` **projection**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | [`ProjectionType`](../enums/ProjectionType.md) |

#### Returns

`void`

___

### renderingNearFar

• `get` **renderingNearFar**(): `Float32Array`

#### Returns

`Float32Array`

___

### renderingPosition

• `get` **renderingPosition**(): `Float32Array`

#### Returns

`Float32Array`

___

### renderingTarget

• `get` **renderingTarget**(): `Float32Array`

#### Returns

`Float32Array`

___

### renderingUp

• `get` **renderingUp**(): `Float32Array`

#### Returns

`Float32Array`

___

### target

• `get` **target**(): `Float64Array`

#### Returns

`Float64Array`

• `set` **target**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `ArrayLike`\<`number`\> |

#### Returns

`void`

___

### up

• `get` **up**(): `Float64Array`

#### Returns

`Float64Array`

• `set` **up**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `ArrayLike`\<`number`\> |

#### Returns

`void`

___

### viewDirect

• `get` **viewDirect**(): `Float64Array`

#### Returns

`Float64Array`

___

### viewLength

• `get` **viewLength**(): `number`

#### Returns

`number`

___

### viewMatrix

• `get` **viewMatrix**(): `Float32Array`

#### Returns

`Float32Array`

___

### width

• `get` **width**(): `number`

#### Returns

`number`

• `set` **width**(`value`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `value` | `number` |

#### Returns

`void`

## Methods

### Check\_View\_and\_Extent

▸ **Check_View_and_Extent**(`bb`): [`Separation`](../enums/BBState.md#separation) \| [`Inclusion`](../enums/BBState.md#inclusion) \| [`Intersection`](../enums/BBState.md#intersection)

#### Parameters

| Name | Type |
| :------ | :------ |
| `bb` | `Float32Array` |

#### Returns

[`Separation`](../enums/BBState.md#separation) \| [`Inclusion`](../enums/BBState.md#inclusion) \| [`Intersection`](../enums/BBState.md#intersection)

___

### checkViewPoint

▸ **checkViewPoint**(`point`): `boolean`

#### Parameters

| Name | Type |
| :------ | :------ |
| `point` | `Float32Array` |

#### Returns

`boolean`

___

### dolly

▸ **dolly**(`x`, `y`, `z`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `x` | `number` |
| `y` | `number` |
| `z` | `number` |

#### Returns

`void`

___

### keepRatio

▸ **keepRatio**(`ratio`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `ratio` | `number` |

#### Returns

`void`

___

### reset

▸ **reset**(): `void`

#### Returns

`void`

___

### roll

▸ **roll**(`start`, `end`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `start` | `Float64Array` |
| `end` | `Float64Array` |

#### Returns

`void`

___

### setExtent

▸ **setExtent**(`near`, `far`, `needUpdate?`): `void`

#### Parameters

| Name | Type | Default value |
| :------ | :------ | :------ |
| `near` | `number` | `undefined` |
| `far` | `number` | `undefined` |
| `needUpdate` | `boolean` | `true` |

#### Returns

`void`

___

### setField

▸ **setField**(`width`, `height`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `width` | `number` |
| `height` | `number` |

#### Returns

`void`

___

### update

▸ **update**(): `void`

#### Returns

`void`

___

### zoom

▸ **zoom**(`factor`): `void`

#### Parameters

| Name | Type |
| :------ | :------ |
| `factor` | `number` |

#### Returns

`void`
