@planara/core 2.1.1 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants/colors.d.ts +35 -0
- package/dist/constants/colors.d.ts.map +1 -0
- package/dist/constants/figure-geometries.d.ts +10 -0
- package/dist/constants/figure-geometries.d.ts.map +1 -0
- package/dist/constants/layers.d.ts +39 -0
- package/dist/constants/layers.d.ts.map +1 -0
- package/dist/constants/threshold.d.ts +5 -0
- package/dist/constants/threshold.d.ts.map +1 -0
- package/dist/core/editor-renderer.d.ts +8 -2
- package/dist/core/editor-renderer.d.ts.map +1 -1
- package/dist/core/preview-renderer.d.ts.map +1 -1
- package/dist/core/renderer.d.ts +55 -4
- package/dist/core/renderer.d.ts.map +1 -1
- package/dist/events/editor-events.d.ts +4 -4
- package/dist/events/editor-events.d.ts.map +1 -1
- package/dist/events/event-topics.d.ts +2 -2
- package/dist/events/event-topics.d.ts.map +1 -1
- package/dist/extensions/orbit-extension.d.ts +3 -2
- package/dist/extensions/orbit-extension.d.ts.map +1 -1
- package/dist/handlers/display/wireframe-handler.d.ts +14 -13
- package/dist/handlers/display/wireframe-handler.d.ts.map +1 -1
- package/dist/handlers/scene/add-figure-scene-handler.d.ts +23 -0
- package/dist/handlers/scene/add-figure-scene-handler.d.ts.map +1 -0
- package/dist/handlers/scene/delete-figure-scene-handler.d.ts +24 -0
- package/dist/handlers/scene/delete-figure-scene-handler.d.ts.map +1 -0
- package/dist/handlers/select/edge-select-handler.d.ts +46 -0
- package/dist/handlers/select/edge-select-handler.d.ts.map +1 -0
- package/dist/handlers/select/face-select-handler.d.ts +34 -0
- package/dist/handlers/select/face-select-handler.d.ts.map +1 -0
- package/dist/handlers/select/mesh-select-handler.d.ts +20 -8
- package/dist/handlers/select/mesh-select-handler.d.ts.map +1 -1
- package/dist/handlers/tool/base-tool-handler.d.ts +6 -4
- package/dist/handlers/tool/base-tool-handler.d.ts.map +1 -1
- package/dist/handlers/tool/rotate-tool-handler.d.ts +2 -1
- package/dist/handlers/tool/rotate-tool-handler.d.ts.map +1 -1
- package/dist/handlers/tool/scale-tool-handler.d.ts +2 -1
- package/dist/handlers/tool/scale-tool-handler.d.ts.map +1 -1
- package/dist/handlers/tool/translate-tool-handler.d.ts +2 -1
- package/dist/handlers/tool/translate-tool-handler.d.ts.map +1 -1
- package/dist/hub/editor-hub.d.ts +9 -5
- package/dist/hub/editor-hub.d.ts.map +1 -1
- package/dist/index.cjs.js +230 -201
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +9508 -5981
- package/dist/index.full.d.ts +87 -23
- package/dist/index.public.d.ts +36 -23
- package/dist/index.umd.js +197 -168
- package/dist/interfaces/api/raycast-api.d.ts +23 -0
- package/dist/interfaces/api/raycast-api.d.ts.map +1 -0
- package/dist/interfaces/api/scene-api.d.ts +50 -0
- package/dist/interfaces/api/scene-api.d.ts.map +1 -0
- package/dist/interfaces/handler/handler.d.ts +2 -5
- package/dist/interfaces/handler/handler.d.ts.map +1 -1
- package/dist/interfaces/handler/scene-handler.d.ts +14 -0
- package/dist/interfaces/handler/scene-handler.d.ts.map +1 -0
- package/dist/interfaces/manager/display-manager.d.ts +1 -1
- package/dist/interfaces/manager/manager.d.ts +2 -5
- package/dist/interfaces/manager/manager.d.ts.map +1 -1
- package/dist/interfaces/manager/scene-manager.d.ts +8 -0
- package/dist/interfaces/manager/scene-manager.d.ts.map +1 -0
- package/dist/interfaces/manager/select-manager.d.ts +1 -1
- package/dist/interfaces/manager/tool-manager.d.ts +1 -1
- package/dist/interfaces/store/editor-store.d.ts +44 -0
- package/dist/interfaces/store/editor-store.d.ts.map +1 -0
- package/dist/ioc/container.d.ts.map +1 -1
- package/dist/managers/display/display-manager.d.ts +6 -4
- package/dist/managers/display/display-manager.d.ts.map +1 -1
- package/dist/managers/scene/scene-manager.d.ts +19 -0
- package/dist/managers/scene/scene-manager.d.ts.map +1 -0
- package/dist/managers/select/select-manager.d.ts +11 -2
- package/dist/managers/select/select-manager.d.ts.map +1 -1
- package/dist/managers/tool/tool-manager.d.ts +6 -7
- package/dist/managers/tool/tool-manager.d.ts.map +1 -1
- package/dist/store/index.d.ts +37 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/types/api/editor-api.d.ts +4 -0
- package/dist/types/api/editor-api.d.ts.map +1 -0
- package/dist/types/listener/selected-listener.d.ts +3 -0
- package/dist/types/listener/selected-listener.d.ts.map +1 -0
- package/dist/utils/helpers.d.ts +4 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/renderer-api.d.ts +20 -2
- package/dist/utils/renderer-api.d.ts.map +1 -1
- package/package.json +3 -2
package/dist/index.full.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { DisplayMode } from '@planara/types';
|
|
2
|
+
import { Disposable as Disposable_2 } from 'tsyringe';
|
|
2
3
|
import { Figure } from '@planara/types';
|
|
4
|
+
import { FigureType } from '@planara/types';
|
|
5
|
+
import { SceneMode } from '@planara/types';
|
|
3
6
|
import { SelectMode } from '@planara/types';
|
|
4
7
|
import * as THREE from 'three';
|
|
5
8
|
import { ToolType } from '@planara/types';
|
|
@@ -26,13 +29,13 @@ export declare function createAppHub(canvas: HTMLCanvasElement): EditorHub;
|
|
|
26
29
|
* @public
|
|
27
30
|
*/
|
|
28
31
|
export declare type EditorEvents = {
|
|
29
|
-
/** Событие наведения на объект (hover). Payload: объект с
|
|
32
|
+
/** Событие наведения на объект (hover). Payload: объект с пересечениями или null */
|
|
30
33
|
[EventTopics.SelectHover]: {
|
|
31
|
-
|
|
34
|
+
intersection: THREE.Intersection;
|
|
32
35
|
} | null;
|
|
33
|
-
/** Событие клика по объекту. Payload: объект с
|
|
36
|
+
/** Событие клика по объекту. Payload: объект с пересечениями или null */
|
|
34
37
|
[EventTopics.SelectClick]: {
|
|
35
|
-
|
|
38
|
+
intersection: THREE.Intersection;
|
|
36
39
|
} | null;
|
|
37
40
|
/** Событие выбора объекта для редактирования. Payload: выбранный режим выборки */
|
|
38
41
|
[EventTopics.ToolSelect]: {
|
|
@@ -45,19 +48,21 @@ export declare type EditorEvents = {
|
|
|
45
48
|
* Хаб для управления редактированием
|
|
46
49
|
* @public
|
|
47
50
|
*/
|
|
48
|
-
export declare class EditorHub {
|
|
51
|
+
export declare class EditorHub implements Disposable_2 {
|
|
49
52
|
private _displayManager;
|
|
50
53
|
private _selectManager;
|
|
51
54
|
private _toolManager;
|
|
55
|
+
private _sceneManager;
|
|
52
56
|
private _renderer;
|
|
53
|
-
constructor(_displayManager: IDisplayManager, _selectManager: ISelectManager, _toolManager: IToolManager, _renderer: EditorRenderer);
|
|
57
|
+
constructor(_displayManager: IDisplayManager, _selectManager: ISelectManager, _toolManager: IToolManager, _sceneManager: ISceneManager, _renderer: EditorRenderer);
|
|
54
58
|
setDisplayMode(mode: DisplayMode): void;
|
|
59
|
+
setSceneMode(sceneMode: SceneMode): void;
|
|
55
60
|
setSelectMode(mode: SelectMode): void;
|
|
56
61
|
setToolMode(mode: ToolType): void;
|
|
57
62
|
resizeRenderer(): void;
|
|
58
63
|
updateRenderer(): void;
|
|
59
|
-
addFigure(figure:
|
|
60
|
-
|
|
64
|
+
addFigure(mode: SceneMode, figure: FigureType): void;
|
|
65
|
+
dispose(): Promise<void> | void;
|
|
61
66
|
}
|
|
62
67
|
|
|
63
68
|
/**
|
|
@@ -75,7 +80,7 @@ export declare class EditorRenderer extends Renderer {
|
|
|
75
80
|
private _transform;
|
|
76
81
|
private readonly _transformHelper;
|
|
77
82
|
/** Raycast для получения событий наведения/клика по модели*/
|
|
78
|
-
private _raycaster;
|
|
83
|
+
private readonly _raycaster;
|
|
79
84
|
/** Курсор мыши */
|
|
80
85
|
private readonly _mouse;
|
|
81
86
|
/** Были ли инициализированы обработчики событий (hover/click) */
|
|
@@ -109,6 +114,12 @@ export declare class EditorRenderer extends Renderer {
|
|
|
109
114
|
* @internal
|
|
110
115
|
*/
|
|
111
116
|
detachTransformControls(): void;
|
|
117
|
+
/**
|
|
118
|
+
* Настройка режимов для `Raycaster`.
|
|
119
|
+
* @internal
|
|
120
|
+
*/
|
|
121
|
+
setRaycastMode(mode: SelectMode): void;
|
|
122
|
+
dispose(): void;
|
|
112
123
|
/** Инициализация обработчиков событий на hover/click */
|
|
113
124
|
private _initMouseListeners;
|
|
114
125
|
/** Обработчик события для hover */
|
|
@@ -141,16 +152,16 @@ export declare class EventBus {
|
|
|
141
152
|
* @public
|
|
142
153
|
*/
|
|
143
154
|
export declare enum EventTopics {
|
|
144
|
-
/** Событие наведения на объект (hover). Payload:
|
|
155
|
+
/** Событие наведения на объект (hover). Payload: intersection: Intersection | null */
|
|
145
156
|
SelectHover = "select.hover",
|
|
146
|
-
/** Событие клика по объекту. Payload:
|
|
157
|
+
/** Событие клика по объекту. Payload: intersection: Intersection | null */
|
|
147
158
|
SelectClick = "select.click",
|
|
148
159
|
/** Событие выбора объекта для редактирования. Payload: mode: SelectMode, object: THREE.Object3D | null */
|
|
149
160
|
ToolSelect = "tool.select"
|
|
150
161
|
}
|
|
151
162
|
|
|
152
163
|
/**
|
|
153
|
-
* Маркерный интерфейс для
|
|
164
|
+
* Маркерный интерфейс для менеджера отображения.
|
|
154
165
|
* @public
|
|
155
166
|
*/
|
|
156
167
|
export declare interface IDisplayManager extends IManager {
|
|
@@ -161,26 +172,29 @@ export declare interface IDisplayManager extends IManager {
|
|
|
161
172
|
* Каждый менеджер отвечает за одну фичу.
|
|
162
173
|
* @public
|
|
163
174
|
*/
|
|
164
|
-
export declare interface IManager {
|
|
175
|
+
export declare interface IManager extends Disposable_2 {
|
|
165
176
|
/**
|
|
166
177
|
* Выполняет основное действие менеджера.
|
|
167
178
|
*/
|
|
168
179
|
manage(...args: unknown[]): void;
|
|
169
|
-
/**
|
|
170
|
-
* Освобождает ресурсы менеджера.
|
|
171
|
-
*/
|
|
172
|
-
destroy(): void;
|
|
173
180
|
}
|
|
174
181
|
|
|
175
182
|
/**
|
|
176
|
-
* Маркерный интерфейс для
|
|
183
|
+
* Маркерный интерфейс для менеджера сцены.
|
|
184
|
+
* @public
|
|
185
|
+
*/
|
|
186
|
+
export declare interface ISceneManager extends IManager {
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Маркерный интерфейс для менеджера выборки.
|
|
177
191
|
* @public
|
|
178
192
|
*/
|
|
179
193
|
export declare interface ISelectManager extends IManager {
|
|
180
194
|
}
|
|
181
195
|
|
|
182
196
|
/**
|
|
183
|
-
* Маркерный интерфейс для
|
|
197
|
+
* Маркерный интерфейс для менеджера инструментов.
|
|
184
198
|
* @public
|
|
185
199
|
*/
|
|
186
200
|
export declare interface IToolManager extends IManager {
|
|
@@ -228,7 +242,7 @@ export declare class PreviewRenderer extends Renderer {
|
|
|
228
242
|
* Отвечает за инициализацию сцены, камеры и цикла рендеринга.
|
|
229
243
|
* @public
|
|
230
244
|
*/
|
|
231
|
-
export declare abstract class Renderer {
|
|
245
|
+
export declare abstract class Renderer implements Disposable_2 {
|
|
232
246
|
/** Корневой объект сцены */
|
|
233
247
|
protected scene: THREE.Scene;
|
|
234
248
|
/** Камера для сцены */
|
|
@@ -261,7 +275,7 @@ export declare abstract class Renderer {
|
|
|
261
275
|
*/
|
|
262
276
|
loop(): void;
|
|
263
277
|
/**
|
|
264
|
-
*
|
|
278
|
+
* Добавление фигуры на сцену.
|
|
265
279
|
* @param figure - Данные фигуры: position, normal, uv
|
|
266
280
|
*/
|
|
267
281
|
addFigure(figure: Figure): THREE.Mesh;
|
|
@@ -286,8 +300,58 @@ export declare abstract class Renderer {
|
|
|
286
300
|
* @internal
|
|
287
301
|
*/
|
|
288
302
|
getMeshes(): THREE.Mesh[];
|
|
289
|
-
/**
|
|
290
|
-
|
|
303
|
+
/**
|
|
304
|
+
* Добавляет объект в сцену и (опционально) выставляет ему слой.
|
|
305
|
+
*
|
|
306
|
+
* @param obj - Объект, который нужно добавить в сцену.
|
|
307
|
+
* @param layer - (Опц.) Номер слоя, который следует установить объекту перед добавлением.
|
|
308
|
+
*
|
|
309
|
+
* @remarks
|
|
310
|
+
* Если рендерер уже диспоузнут (scene отсутствует), метод тихо завершится.
|
|
311
|
+
* Слой задаётся через `obj.layers.set(layer)`, после чего объект добавляется в `this.scene`.
|
|
312
|
+
*
|
|
313
|
+
* @example
|
|
314
|
+
* // Добавить оверлей на слой подсветок:
|
|
315
|
+
* add(overlayLine, OVERLAY_LAYER);
|
|
316
|
+
*
|
|
317
|
+
* @internal
|
|
318
|
+
*/
|
|
319
|
+
addObject(obj: THREE.Object3D, layer?: number): void;
|
|
320
|
+
/**
|
|
321
|
+
* Удаляет объект из сцены (или из его родителя, если он есть).
|
|
322
|
+
*
|
|
323
|
+
* @param obj - Объект, который необходимо удалить.
|
|
324
|
+
*
|
|
325
|
+
* @remarks
|
|
326
|
+
* Если у объекта есть `parent`, он будет удалён из родителя. Иначе — метод попытается
|
|
327
|
+
* удалить его напрямую из `this.scene`. В рамках данного API метод не отвечает за
|
|
328
|
+
* освобождение GPU-ресурсов; освобождайте геометрию/материалы отдельно при необходимости.
|
|
329
|
+
*
|
|
330
|
+
* @example
|
|
331
|
+
* // Снять оверлей со сцены:
|
|
332
|
+
* removeObject(overlayLine);
|
|
333
|
+
*
|
|
334
|
+
* @internal
|
|
335
|
+
*/
|
|
336
|
+
removeObject(obj: THREE.Object3D): void;
|
|
337
|
+
/**
|
|
338
|
+
* Включает указанный слой у активной камеры.
|
|
339
|
+
*
|
|
340
|
+
* @param layer - Номер слоя, который требуется сделать видимым для камеры.
|
|
341
|
+
*
|
|
342
|
+
* @remarks
|
|
343
|
+
* Полезно для показа служебных оверлеев (например, подсветки) на отдельном слое.
|
|
344
|
+
* Метод не изменяет слои Raycaster — ими должен управлять другой слой API (например, IRaycastAPI).
|
|
345
|
+
*
|
|
346
|
+
* @example
|
|
347
|
+
* // Убедиться, что камера видит слой оверлеев:
|
|
348
|
+
* enableCameraLayer(OVERLAY_LAYER);
|
|
349
|
+
*
|
|
350
|
+
* @internal
|
|
351
|
+
*/
|
|
352
|
+
enableCameraLayer(layer: number): void;
|
|
353
|
+
/** Освобождает ресурсы рендерера, очищает внутренние данные. */
|
|
354
|
+
dispose(): Promise<void> | void;
|
|
291
355
|
}
|
|
292
356
|
|
|
293
357
|
export { }
|
package/dist/index.public.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { DisplayMode } from '@planara/types';
|
|
2
|
+
import { Disposable as Disposable_2 } from 'tsyringe';
|
|
2
3
|
import { Figure } from '@planara/types';
|
|
4
|
+
import { FigureType } from '@planara/types';
|
|
5
|
+
import { SceneMode } from '@planara/types';
|
|
3
6
|
import { SelectMode } from '@planara/types';
|
|
4
7
|
import * as THREE from 'three';
|
|
5
8
|
import { ToolType } from '@planara/types';
|
|
@@ -26,13 +29,13 @@ export declare function createAppHub(canvas: HTMLCanvasElement): EditorHub;
|
|
|
26
29
|
* @public
|
|
27
30
|
*/
|
|
28
31
|
export declare type EditorEvents = {
|
|
29
|
-
/** Событие наведения на объект (hover). Payload: объект с
|
|
32
|
+
/** Событие наведения на объект (hover). Payload: объект с пересечениями или null */
|
|
30
33
|
[EventTopics.SelectHover]: {
|
|
31
|
-
|
|
34
|
+
intersection: THREE.Intersection;
|
|
32
35
|
} | null;
|
|
33
|
-
/** Событие клика по объекту. Payload: объект с
|
|
36
|
+
/** Событие клика по объекту. Payload: объект с пересечениями или null */
|
|
34
37
|
[EventTopics.SelectClick]: {
|
|
35
|
-
|
|
38
|
+
intersection: THREE.Intersection;
|
|
36
39
|
} | null;
|
|
37
40
|
/** Событие выбора объекта для редактирования. Payload: выбранный режим выборки */
|
|
38
41
|
[EventTopics.ToolSelect]: {
|
|
@@ -45,19 +48,21 @@ export declare type EditorEvents = {
|
|
|
45
48
|
* Хаб для управления редактированием
|
|
46
49
|
* @public
|
|
47
50
|
*/
|
|
48
|
-
export declare class EditorHub {
|
|
51
|
+
export declare class EditorHub implements Disposable_2 {
|
|
49
52
|
private _displayManager;
|
|
50
53
|
private _selectManager;
|
|
51
54
|
private _toolManager;
|
|
55
|
+
private _sceneManager;
|
|
52
56
|
private _renderer;
|
|
53
|
-
constructor(_displayManager: IDisplayManager, _selectManager: ISelectManager, _toolManager: IToolManager, _renderer: EditorRenderer);
|
|
57
|
+
constructor(_displayManager: IDisplayManager, _selectManager: ISelectManager, _toolManager: IToolManager, _sceneManager: ISceneManager, _renderer: EditorRenderer);
|
|
54
58
|
setDisplayMode(mode: DisplayMode): void;
|
|
59
|
+
setSceneMode(sceneMode: SceneMode): void;
|
|
55
60
|
setSelectMode(mode: SelectMode): void;
|
|
56
61
|
setToolMode(mode: ToolType): void;
|
|
57
62
|
resizeRenderer(): void;
|
|
58
63
|
updateRenderer(): void;
|
|
59
|
-
addFigure(figure:
|
|
60
|
-
|
|
64
|
+
addFigure(mode: SceneMode, figure: FigureType): void;
|
|
65
|
+
dispose(): Promise<void> | void;
|
|
61
66
|
}
|
|
62
67
|
|
|
63
68
|
/**
|
|
@@ -75,7 +80,7 @@ export declare class EditorRenderer extends Renderer {
|
|
|
75
80
|
private _transform;
|
|
76
81
|
private readonly _transformHelper;
|
|
77
82
|
/** Raycast для получения событий наведения/клика по модели*/
|
|
78
|
-
private _raycaster;
|
|
83
|
+
private readonly _raycaster;
|
|
79
84
|
/** Курсор мыши */
|
|
80
85
|
private readonly _mouse;
|
|
81
86
|
/** Были ли инициализированы обработчики событий (hover/click) */
|
|
@@ -95,6 +100,8 @@ export declare class EditorRenderer extends Renderer {
|
|
|
95
100
|
/* Excluded from this release type: setTransformControlsMode */
|
|
96
101
|
/* Excluded from this release type: attachTransformControls */
|
|
97
102
|
/* Excluded from this release type: detachTransformControls */
|
|
103
|
+
/* Excluded from this release type: setRaycastMode */
|
|
104
|
+
dispose(): void;
|
|
98
105
|
/** Инициализация обработчиков событий на hover/click */
|
|
99
106
|
private _initMouseListeners;
|
|
100
107
|
/** Обработчик события для hover */
|
|
@@ -127,16 +134,16 @@ export declare class EventBus {
|
|
|
127
134
|
* @public
|
|
128
135
|
*/
|
|
129
136
|
export declare enum EventTopics {
|
|
130
|
-
/** Событие наведения на объект (hover). Payload:
|
|
137
|
+
/** Событие наведения на объект (hover). Payload: intersection: Intersection | null */
|
|
131
138
|
SelectHover = "select.hover",
|
|
132
|
-
/** Событие клика по объекту. Payload:
|
|
139
|
+
/** Событие клика по объекту. Payload: intersection: Intersection | null */
|
|
133
140
|
SelectClick = "select.click",
|
|
134
141
|
/** Событие выбора объекта для редактирования. Payload: mode: SelectMode, object: THREE.Object3D | null */
|
|
135
142
|
ToolSelect = "tool.select"
|
|
136
143
|
}
|
|
137
144
|
|
|
138
145
|
/**
|
|
139
|
-
* Маркерный интерфейс для
|
|
146
|
+
* Маркерный интерфейс для менеджера отображения.
|
|
140
147
|
* @public
|
|
141
148
|
*/
|
|
142
149
|
export declare interface IDisplayManager extends IManager {
|
|
@@ -147,26 +154,29 @@ export declare interface IDisplayManager extends IManager {
|
|
|
147
154
|
* Каждый менеджер отвечает за одну фичу.
|
|
148
155
|
* @public
|
|
149
156
|
*/
|
|
150
|
-
export declare interface IManager {
|
|
157
|
+
export declare interface IManager extends Disposable_2 {
|
|
151
158
|
/**
|
|
152
159
|
* Выполняет основное действие менеджера.
|
|
153
160
|
*/
|
|
154
161
|
manage(...args: unknown[]): void;
|
|
155
|
-
/**
|
|
156
|
-
* Освобождает ресурсы менеджера.
|
|
157
|
-
*/
|
|
158
|
-
destroy(): void;
|
|
159
162
|
}
|
|
160
163
|
|
|
161
164
|
/**
|
|
162
|
-
* Маркерный интерфейс для
|
|
165
|
+
* Маркерный интерфейс для менеджера сцены.
|
|
166
|
+
* @public
|
|
167
|
+
*/
|
|
168
|
+
export declare interface ISceneManager extends IManager {
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Маркерный интерфейс для менеджера выборки.
|
|
163
173
|
* @public
|
|
164
174
|
*/
|
|
165
175
|
export declare interface ISelectManager extends IManager {
|
|
166
176
|
}
|
|
167
177
|
|
|
168
178
|
/**
|
|
169
|
-
* Маркерный интерфейс для
|
|
179
|
+
* Маркерный интерфейс для менеджера инструментов.
|
|
170
180
|
* @public
|
|
171
181
|
*/
|
|
172
182
|
export declare interface IToolManager extends IManager {
|
|
@@ -201,7 +211,7 @@ export declare class ObjLoader {
|
|
|
201
211
|
* Отвечает за инициализацию сцены, камеры и цикла рендеринга.
|
|
202
212
|
* @public
|
|
203
213
|
*/
|
|
204
|
-
export declare abstract class Renderer {
|
|
214
|
+
export declare abstract class Renderer implements Disposable_2 {
|
|
205
215
|
/** Корневой объект сцены */
|
|
206
216
|
protected scene: THREE.Scene;
|
|
207
217
|
/** Камера для сцены */
|
|
@@ -234,15 +244,18 @@ export declare abstract class Renderer {
|
|
|
234
244
|
*/
|
|
235
245
|
loop(): void;
|
|
236
246
|
/**
|
|
237
|
-
*
|
|
247
|
+
* Добавление фигуры на сцену.
|
|
238
248
|
* @param figure - Данные фигуры: position, normal, uv
|
|
239
249
|
*/
|
|
240
250
|
addFigure(figure: Figure): THREE.Mesh;
|
|
241
251
|
/* Excluded from this release type: addMesh */
|
|
242
252
|
/* Excluded from this release type: removeMesh */
|
|
243
253
|
/* Excluded from this release type: getMeshes */
|
|
244
|
-
|
|
245
|
-
|
|
254
|
+
/* Excluded from this release type: addObject */
|
|
255
|
+
/* Excluded from this release type: removeObject */
|
|
256
|
+
/* Excluded from this release type: enableCameraLayer */
|
|
257
|
+
/** Освобождает ресурсы рендерера, очищает внутренние данные. */
|
|
258
|
+
dispose(): Promise<void> | void;
|
|
246
259
|
}
|
|
247
260
|
|
|
248
261
|
export { }
|