IGizmoObject
IGizmoObject
IGizmoObject – интерфейс, описывающий поведение объектов гизмо.
export interface IGizmoObject extends THREE.Object3D {
//Метод возвращает статус ховера над IGizmoObject.
getHovered(): boolean;
//Метод задает ховер для IGizmoObject.
setHovered(value: boolean): void;
//Метод возвращает статус активности манипуляций над IGizmoObject.
getActive(): boolean;
//Метод задает статус активности манипуляций над IGizmoObject.
setActive(value: boolean): void;
//Метод освобождает выделенные объектом ресурсы.
dispose(): void;
}
GizmoObject
GizmoObject – реализация интерфейса IGizmoObject. При изменении ховера, либо активности объекта, меняет материал геометрий.
export class GizmoObject extends THREE.Object3D<ViewObjectEventMap> implements IGizmoObject {
constructor(protected _meshes: THREE.Mesh[],
readonly baseMaterial: THREE.Material,
readonly hoverMaterial: THREE.Material,
readonly activeMaterial: THREE.Material
);
getHovered(): boolean;
setHovered(value: boolean): void;
getActive(): boolean;
setActive(value: boolean): void;
dispose(): void;
override raycast(raycaster: THREE.Raycaster, intersects: THREE.Intersection[]): void;
}
Поля
_meshes: THREE.Mesh[]
Геометрии, используемые для рендера на сцене. Также используются при расчете пересечений с GizmoObject
.
baseMaterial: THREE.Material
Материал геометрий, применяемый в отсутствии ховера и при неактивном GizmoObject
. По умолчанию: GizmoMaterials.gizmoMaterial.
baseMaterial: THREE.Material;
hoverMaterial: THREE.Material
Материал геометрий, применяемый при ховере над GizmoObject
. По умолчанию: GizmoMaterials.matYellowTransparent.
hoverMaterial: THREE.Material;
activeMaterial: THREE.Material
Материал геометрий, применяемый при активной манипуляции над GizmoObject
. По умолчанию: GizmoMaterials.matYellow.
activeMaterial: THREE.Material;
Конструктор
constructor(protected _meshes: THREE.Mesh[],
readonly baseMaterial: THREE.Material,
readonly hoverMaterial: THREE.Material,
readonly activeMaterial: THREE.Material
);
где:
_meshes
– геометрии объекта для отрисовки на сцене.
baseMaterial
– материал геометрий, применяемый в отсутствии ховера и при неактивном GizmoObject
. Необязательный параметр. Подробнее: THREE.Material.
hoverMaterial
– материал геометрий, применяемый при ховере над GizmoObject
. Необязательный параметр. Подробнее: THREE.Material.
activeMaterial
– материал геометрий, применяемый при активной манипуляции над GizmoObject
. Необязательный параметр. Подробнее: THREE.Material.
Методы
getHovered()
Метод возвращает статус ховера для GizmoObject
.
getHovered(): boolean;
Возвращает true
, если над объектом находится курсор.
setHovered()
Метод устанавливает значение ховера для GizmoObject
.
setHovered(value: boolean): void;
где:
value
- значение ховера.
Если value
равно true
, то материал геометрий изменится на hoverMaterial
, если GizmoObject
не активен. В противном случае, материалом геометрий будет или baseMaterial
, или activeMaterial
, в зависимости от активности GizmoObject
.
getActive()
Метод возвращает статус активности для GizmoObject
.
getActive(): boolean;
Возвращает true
, если объект активен.
setActive()
Метод устанавливает статус активности для GizmoObject
.
setActive(value: boolean): void;
где:
value
- значение активности.
Если value
равно true
, то материал геометрий изменится на activeMaterial
. В противном случае, материалом геометрий будет или baseMaterial
, или hoverMaterial
, в зависимости от значения ховера для GizmoObject
. Активность GizmoObject
имеет больший приоритет в установке материала геометрий, чем ховер.
raycast
Переопределённый метод Object3D.raycast. Проверяет пересечения для всех геометрий GizmoObject
.
override raycast(raycaster: THREE.Raycaster, intersects: THREE.Intersection[]): void