@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
27 lines (26 loc) • 917 B
JavaScript
;
import {
BaseRayObjectIntersectionsController
} from "./_BaseRayObjectIntersectionsController";
export class RayObjectIntersectionsContextmenuController extends BaseRayObjectIntersectionsController {
constructor() {
super(...arguments);
this._propertiesListByObject = /* @__PURE__ */ new Map();
this._intersectedStateByObject = /* @__PURE__ */ new Map();
}
onContextmenu(event) {
this._setIntersectedState(this._objects, this._intersectedStateByObject);
const objects = this._objects;
for (const object of objects) {
const propertiesList = this._propertiesListByObject.get(object);
if (propertiesList) {
const isIntersecting = this._intersectedStateByObject.get(object);
if (isIntersecting == true) {
for (const properties of propertiesList) {
properties.contextmenu.callback();
}
}
}
}
}
}