IRenderViewer3D
IRenderViewer3D
IRenderViewer3D – интерфейс для работы с отрисовкой сцен и объектами на сцене.
export interface IRenderViewer3D {
getIntersectionChecker(): IModelIntersectionChecker;
updateCurrentCanvas(): Promise<void>;
placeObjectOnScene(iObj: THREE.Object3D, sceneID?: string, redraw?: boolean): Promise<void>;
removeObjectFromScene(iObj: THREE.Object3D, redraw?: boolean): Promise<void>;
setClipping(planes: THREE.Plane[], sceneID?: string): void;
setActiveClipPlaneIndices(indices: number[]): void;
getScenes(): IUserScene[];
addScene(name: string | IUserScene, isClippable?: boolean): IUserScene;
removeScene(scene: IUserScene): void;
}
Методы
getIntersectionChecker()
Предоставляет IModelIntersectionChecker – интерфейс обработки пересечений для всех сцен.
getIntersectionChecker(): IModelIntersectionChecker;
Возвращает интерфейс обработки пересечений. Подробнее: IModelIntersectionChecker.
updateCurrentCanvas()
Метод вызывает полную перерисовку сцен.
Если параметр force
установлен в true
, то отрисовка кадра произойдёт после принудительного обновления сцен.
updateCurrentCanvas(force?: boolean): Promise<void>;
где:
force
– флаг, указывающий на принудительное обновление сцен. По умолчанию – false
.
placeObjectOnScene()
Метод помещает объект на определённую сцену.
placeObjectOnScene(iObj: THREE.Object3D, sceneID?: string, redraw?: boolean): Promise<void>;
где:
iObj
– объект, который нужно поместить на сцену.
sceneID
– имя сцены. Необязательный параметр. По умолчанию – MainScene
.
redraw
– флаг, указывающий на принудительную перерисовку сцен после добавления объекта. По умолчанию – false
.
removeObjectFromScene()
Метод удаляет объект со сцены.
removeObjectFromScene(iObj: THREE.Object3D, redraw?: boolean): Promise<void>;
где:
iObj
– объект, который нужно удалить.
redraw
– флаг, указывающий на принудительную перерисовку сцен после удаления объекта. По умолчанию – false
.
setClipping()
Метод задает секущие плоскости для визулизации.
setClipping(planes: THREE.Plane[]): void;
где:
planes
– список плоскостей сечения. Подробнее: THREE.Plane.
setActiveClipPlaneIndices()
Метод задает активные плоскости сечения. Сечения активных плоскостей окрашены в голубой цвет.
setActiveClipPlaneIndices(indices: number[]): void;
где:
indices
– список индексов активных плоскостей сечения. Каждый индекс указывает на плоскость в списке, переданном в setClipping().
getScenes()
Метод возвращает список всех используемых сцен.
getScenes(): IUserScene[];
Возвращает список сцен. Подробнее: IUserScene.
addScene()
Метод добавляет новую сцену для отрисовки.
addScene(name: string | IUserScene, isClippable?: boolean): IUserScene;
где:
name
– идентификатор новой сцены, либо объект сцены. Подробнее: IUserScene.
isClippable
– необязательный параметр, указывающий, влияют ли секущие плоскости на отрисовку этой сцены.
Если false
, то секущие плоскости не применяются к объектам на этой сцене и проверка пересечений с объектами на этой сцене также не учитывает секущие плоскости.
Возвращает добавленную сцену. Подробнее: IUserScene.
removeScene()
Метод удаляет сцену из списка используемых для отрисовки сцен.
removeScene(scene: IUserScene): void;
где:
scene
– сцена для удаления. Подробнее: IUserScene.