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