UNPKG

@babylonjs/viewer

Version:

The Babylon Viewer aims to simplify a specific but common Babylon.js use case: loading, viewing, and interacting with a 3D model.

43 lines (40 loc) 1.88 kB
import { c as FlowGraphEventBlock, _ as _IsDescendantOf } from './KHR_interactivity-Bmb38TjL.esm.js'; import { f as RichTypeNumber, R as RichTypeAny } from './declarationMapper-rcGCdcDP.esm.js'; import { R as RegisterClass } from './index-FzOfPXLV.esm.js'; import './objectModelMapping-CJnQ6at_.esm.js'; /** * A pointe out event block. * This block can be used as an entry pointer to when a pointer is out of a specific target mesh. */ class FlowGraphPointerOutEventBlock extends FlowGraphEventBlock { constructor(config) { super(config); this.type = "PointerOut" /* FlowGraphEventType.PointerOut */; this.pointerId = this.registerDataOutput("pointerId", RichTypeNumber); this.targetMesh = this.registerDataInput("targetMesh", RichTypeAny, config?.targetMesh); this.meshOutOfPointer = this.registerDataOutput("meshOutOfPointer", RichTypeAny); } _executeEvent(context, payload) { const mesh = this.targetMesh.getValue(context); this.meshOutOfPointer.setValue(payload.mesh, context); this.pointerId.setValue(payload.pointerId, context); const skipEvent = payload.over && _IsDescendantOf(payload.mesh, mesh); if (!skipEvent && (payload.mesh === mesh || _IsDescendantOf(payload.mesh, mesh))) { this._execute(context); return !this.config?.stopPropagation; } return true; } _preparePendingTasks(_context) { // no-op } _cancelPendingTasks(_context) { // no-op } getClassName() { return "FlowGraphPointerOutEventBlock" /* FlowGraphBlockNames.PointerOutEvent */; } } RegisterClass("FlowGraphPointerOutEventBlock" /* FlowGraphBlockNames.PointerOutEvent */, FlowGraphPointerOutEventBlock); export { FlowGraphPointerOutEventBlock }; //# sourceMappingURL=flowGraphPointerOutEventBlock-0CkcUepx.esm.js.map