@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
131 lines (130 loc) • 3.47 kB
JavaScript
;
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
});
}
}