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.