UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

131 lines (130 loc) 3.47 kB
"use strict"; import { ObjectNamedFunction2 } from "./_Base"; import { Poly } from "../Poly"; function setup(setupOptions) { const { controller, object3D, evaluator, options } = setupOptions; controller.addPropertiesForObject(object3D, options); evaluator.onDispose(() => { controller.removePropertiesForObject(object3D, options); }); Poly.onObjectsAddRemoveHooks.assignOnRemoveHookCallback(object3D, (object) => { controller.removePropertiesForObject(object3D, options); }); } export class addObjectToObjectClickCheck extends ObjectNamedFunction2 { static type() { return "addObjectToObjectClickCheck"; } func(object3D, evaluator, options) { setup({ object3D, evaluator, options, controller: this.scene.actorsManager.rayObjectIntersectionClick }); } } export class addObjectToObjectDoubleClickCheck extends ObjectNamedFunction2 { static type() { return "addObjectToObjectDoubleClickCheck"; } func(object3D, evaluator, options) { setup({ object3D, evaluator, options, controller: this.scene.actorsManager.rayObjectIntersectionDoubleClick }); } } export class addObjectToObjectMouseClickCheck extends ObjectNamedFunction2 { static type() { return "addObjectToObjectMouseClickCheck"; } func(object3D, evaluator, options) { setup({ object3D, evaluator, options, controller: this.scene.actorsManager.rayObjectIntersectionMouseClick }); } } export class addObjectToObjectContextmenuCheck extends ObjectNamedFunction2 { static type() { return "addObjectToObjectContextmenuCheck"; } func(object3D, evaluator, options) { setup({ object3D, evaluator, options, controller: this.scene.actorsManager.rayObjectIntersectionContextmenu }); } } export class addObjectToObjectHoveredCheck extends ObjectNamedFunction2 { static type() { return "addObjectToObjectHoveredCheck"; } func(object3D, evaluator, options) { setup({ object3D, evaluator, options, controller: this.scene.actorsManager.rayObjectIntersectionHover }); } } export class addObjectToObjectLongPressCheck extends ObjectNamedFunction2 { static type() { return "addObjectToObjectLongPressCheck"; } func(object3D, evaluator, options) { setup({ object3D, evaluator, options, controller: this.scene.actorsManager.rayObjectIntersectionLongPress }); } } export class addObjectToObjectPointerdownCheck extends ObjectNamedFunction2 { static type() { return "addObjectToObjectPointerdownCheck"; } func(object3D, evaluator, options) { setup({ object3D, evaluator, options, controller: this.scene.actorsManager.rayObjectIntersectionPointerdown }); } } export class addObjectToObjectPointerupCheck extends ObjectNamedFunction2 { static type() { return "addObjectToObjectPointerupCheck"; } func(object3D, evaluator, options) { setup({ object3D, evaluator, options, controller: this.scene.actorsManager.rayObjectIntersectionPointerup }); } } export class addObjectToObjectSwipeCheck extends ObjectNamedFunction2 { static type() { return "addObjectToObjectSwipeCheck"; } func(object3D, evaluator, options) { setup({ object3D, evaluator, options, controller: this.scene.actorsManager.rayObjectIntersectionSwipe }); } }