@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.
63 lines (59 loc) • 2.62 kB
JavaScript
import { a as FlowGraphEventBlock, e as _IsDescendantOf } from './KHR_interactivity-CEwUaqxQ.esm.js';
import { d as RichTypeNumber, R as RichTypeAny } from './declarationMapper-CqO08-WM.esm.js';
import { u as RegisterClass } from './index-MZPybX0H.esm.js';
import './objectModelMapping-De5EKNEZ.esm.js';
import './spotLight.pure-CRdZC6Ci.esm.js';
/** This file must only contain pure code and pure imports */
/**
* A pointer over event block.
* This block can be used as an entry pointer to when a pointer is over a specific target mesh.
*/
class FlowGraphPointerOverEventBlock extends FlowGraphEventBlock {
constructor(config) {
super(config);
this.type = "PointerOver" /* FlowGraphEventType.PointerOver */;
this.pointerId = this.registerDataOutput("pointerId", RichTypeNumber);
this.targetMesh = this.registerDataInput("targetMesh", RichTypeAny, config?.targetMesh);
this.meshUnderPointer = this.registerDataOutput("meshUnderPointer", RichTypeAny);
}
_executeEvent(context, payload) {
const mesh = this.targetMesh.getValue(context);
this.meshUnderPointer.setValue(payload.mesh, context);
// skip if we moved from a mesh that is under the hierarchy of the target mesh
const skipEvent = payload.out && _IsDescendantOf(payload.out, mesh);
this.pointerId.setValue(payload.pointerId, context);
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 "FlowGraphPointerOverEventBlock" /* FlowGraphBlockNames.PointerOverEvent */;
}
}
let _Registered = false;
/**
* Register side effects for flowGraphPointerOverEventBlock.
* Safe to call multiple times; only the first call has an effect.
*/
function RegisterFlowGraphPointerOverEventBlock() {
if (_Registered) {
return;
}
_Registered = true;
RegisterClass("FlowGraphPointerOverEventBlock" /* FlowGraphBlockNames.PointerOverEvent */, FlowGraphPointerOverEventBlock);
}
/**
* Re-exports pure implementation and applies runtime side effects.
* Import flowGraphPointerOverEventBlock.pure for tree-shakeable, side-effect-free usage.
*/
RegisterFlowGraphPointerOverEventBlock();
export { FlowGraphPointerOverEventBlock, RegisterFlowGraphPointerOverEventBlock };
//# sourceMappingURL=flowGraphPointerOverEventBlock-DedghW38.esm.js.map