IUserScene
IUserScene
IUserScene – интерфейс, позволяющий взаимодействовать со сценой. Расширяет THREE.Scene
export interface IUserScene extends THREE.Scene {
readonly name: string;
get needsUpdate(): boolean;
get needsRedraw(): boolean;
get intersectionChecker(): ISceneIntersectionChecker;
set clippingEnable(value: boolean);
get clippingEnable(): boolean;
addRange(objects: THREE.Object3D[]): void;
updateRange(objects: TPair<THREE.Object3D, UpdateType>[]): void;
removeRange(objects: THREE.Object3D[]): void;
has(obj: THREE.Object3D): boolean;
traverse(callback: (object: THREE.Object3D) => void): void;
setClipping(planes: THREE.Plane[]): void;
manageScene(context?: IRenderOperationContext): boolean;
render(context: IRenderOperationContext): void;
}
Поля
readonly name
Имя сцены.
readonly name: string;
Свойства
get needsUpdate()
Показывает, нужно ли обновить сцену.
get needsUpdate(): boolean;
Возвращает true
, если нужно обновить сцену, в противном случае – false
.
get needsRedraw()
Показывает, нужно ли перерисовать сцену.
get needsRedraw(): boolean;
Возвращает true
, если нужно перерисовать сцену, в противном случае – false
.
get intersectionChecker()
Предоставляет ISceneIntersectionChecker – интерфейс обработки пересечений для данной сцены.
get intersectionChecker(): ISceneIntersectionChecker | null;
Если проверка пересечений на сцене поддерживается, то возвращается интерфейс обработки пересечений. В противном случае возвращается null
. Подробнее: ISceneIntersectionChecker.
get clippingEnable()
Показывает, влияют ли секущие плоскости на отрисовку и проверку пересечений на данной сцене.
get clippingEnable(): boolean;
Возвращает true
, если секущие плоскости влияют на отрисовку и проверку пересечений на данной сцене.
set clippingEnable()
Включает или выключает влияние секущих плоскостей на отрисовку и проверку пересечений на данной сцене.
set clippingEnable(value: boolean);
где:
value
– параметр. Если value
равен true
, то объекты на сцене обрезаются секущими плоскостями, а также при проверке пересечений на данной сцене не учитываются отсечённые объекты.
Методы
addRange()
Метод добавляет список объектов на сцену.
addRange(objects: THREE.Object3D[]): void;
где:
objects
– список объектов для добавления на сцену. Подробнее: THREE.Object3D.
updateRange()
Метод обновляет объекты на сцене.
updateRange(objects: TPair<THREE.Object3D, UpdateType>[]): void;
где:
objects
– список объектов для обновления. Каждый элемент списка является парой из самого объекта и соответствующего ему типа обновления.
Подробнее: THREE.Object3D, UpdateType.
removeRange()
Метод удаляет список объектов со сцены.
removeRange(objects: THREE.Object3D[]): void;
где:
objects
– список объектов для удаления. Подробнее: THREE.Object3D.
has()
Метод показывает, добавлен ли объект на сцену.
has(obj: THREE.Object3D): boolean;
где:
objects
– проверяемый объект. Подробнее: THREE.Object3D.
Возвращает true
, если объект добавлен на сцену. В противном случае – false
.
traverse()
Метод осуществляет перебор объектов на сцене.
traverse(callback: (object: THREE.Object3D) => void): void;
где:
callback
– функция, вызываемая для всех объектов на сцене.
setClipping()
Метод задает плоскости сечения для данной сцены.
setClipping(planes: THREE.Plane[]): void;
где:
planes
– список плоскостей сечения. Подробнее: THREE.Plane.
manageScene()
Метод передает управление сцене для выполнения внутренних операций: обработки изменений на сцене, оптимизации отрисовки, оптимизации проверки пересечений и т.д.
manageScene(context?: IRenderOperationContext): boolean;
где:
context
– контекст операции рендера. Подробнее: IRenderOperationContext.
Возвращает true
, если все запланированные операции на сцене были выполнены. Возвращает false
, если требуется повторная передача управления.
render()
Метод выполняет отрисовку сцены в данном контексте.
render(context?: IRenderOperationContext): void;
где:
context
– контекст операции рендера. Подробнее: IRenderOperationContext.