> For the complete documentation index, see [llms.txt](https://oasiscatalog.gitbook.io/o3d/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://oasiscatalog.gitbook.io/o3d/dokumentaciya/rakursy.md).

# Ракурсы

Данные методы доступны только при использовании JavaScript API метода интеграции.

Пример:

```javascript
var o3d = new O3d(config);
o3d.on('start', function () {
    o3d.on('changeView', function (id) {
        var view = o3d.getView(id);
        console.log('View:', view);
    });

});
```

## Методы

### `getViews()`

Возвращает все доступные ракурсы.

* `@return` *{*[*View*](https://github.com/oasiscatalog/o3d/tree/8b289c36cd104380b99f413ffe27b71f4b912955/views.html#view)*{}}*

### `getView(id)`

Возвращает данные о ракурсе.

* `id` *{integer}* - ID ракурса
* `@return` *{*[*View*](https://github.com/oasiscatalog/o3d/tree/8b289c36cd104380b99f413ffe27b71f4b912955/views.html#view)*}*

### `getActiveView()`

Возвращает активный ракурс или null, если пользователь произвольно изменил камеру.

* `@return` *{*[*View*](https://github.com/oasiscatalog/o3d/tree/8b289c36cd104380b99f413ffe27b71f4b912955/views.html#view)*}*

### `setActiveView(id[, changeArea, callback])`

Устанавливает ракурс.

* `id` *{integer}* - ID ракурса
* `changeArea` *{boolean} \[true]* - включать связанное с ракурсом место нанесения
* `callback` *{*`function (result)`*}* - функция обратного вызова
  * `result` *{boolean}* - было ли переключение (`false` - если ракурс уже был активным)

### `getCanvasData(callback[, type, encoderOptions])`

Получает toDataUrl() canvas текущего вида.

* `callback` *{*`function (result)`*}* - функция обратного вызова
  * `result` *{string}* - data:uri изображения
* `type` *{string}* - MIME-тип содержимого, см. `CanvasRenderingContext2D.toDataUrl()`
* `encoderOptions` *{\*}* - дополнительные опции, см. `CanvasRenderingContext2D.toDataUrl()`

## События

### `changeView` *{integer}*

Генерируется при включении ракурса пользователем. Передаётся ID ракурса.

## Типы

### `View` *{Object}* <a href="#view" id="view"></a>

Данные о ракурсе.

* `id` *{integer}* - ID ракурса
* `title` *{string}* - название
* `areaId` *{string}* - ID связанного ракурса
* `image` *{string}* - URL 2D изображения ракурса
