Loading js/x3dom_init.js +14 −0 Original line number Diff line number Diff line Loading @@ -711,6 +711,7 @@ X3DOMObject.Marker.prototype._registerEvents = function(){ marker.on('mousedown',function(e){ var self = this; var elem = $(this).parent().parent().parent(); var index = parseInt($(elem).attr("id").substr(PREFIX.length)); Loading @@ -727,6 +728,13 @@ X3DOMObject.Marker.prototype._registerEvents = function(){ Scene.element.addEventListener('mousemove',X3DOMObject.Marker.mouseMove,true); Scene.element.addEventListener('mouseup',X3DOMObject.Marker.mouseUp,true); // check for button released outside the window $(window).on('mouseover.drag_marker',function(e) { if (e && e.buttons===0 && Scene.markerToDrag) { X3DOMObject.Marker.mouseUp.apply(self,[event]); } }); }); marker.on('mouseup',function(e){ Loading @@ -752,8 +760,10 @@ X3DOMObject.Marker.mouseUp = function(){ } */ Scene.markerToDrag=null; Scene.element.removeEventListener('mouseup',X3DOMObject.Marker.mouseUp,true); Scene.element.removeEventListener('mousemove',X3DOMObject.Marker.mouseMove,true); $(window).off('.drag_marker'); Scene.draggedTransformNode = null; Scene.draggingUpVec = null; Loading @@ -768,6 +778,8 @@ X3DOMObject.Marker.mouseUp = function(){ // from https://x3dom.org/x3dom/example/MovingObjectsWithDOMEvents.html X3DOMObject.Marker.dragStart = function(elem){ Scene.markerToDrag=elem; // move up from <shape> to <transform> var transformNode = $(elem).parent(); var tr0 = $(transformNode).attr("translation"); Loading Loading @@ -825,7 +837,9 @@ X3DOMObject.Marker.mouseMove = function(event){ if (!SETTINGS.slidingdrag){ X3DOMObject.Marker.drag(event.offsetX - Scene.lastMouseX, event.offsetY - Scene.lastMouseY); }else{ Scene.markerToDrag.isPickable=false; var sr = Scene.element.runtime.shootRay(event.clientX,event.clientY); Scene.markerToDrag.isPickable=true; if (sr.pickObject != null){ if (!$(sr.pickObject).hasClass("shapemarker")){ var sphere = Scene.draggedTransformNode.parent().parent(); Loading Loading
js/x3dom_init.js +14 −0 Original line number Diff line number Diff line Loading @@ -711,6 +711,7 @@ X3DOMObject.Marker.prototype._registerEvents = function(){ marker.on('mousedown',function(e){ var self = this; var elem = $(this).parent().parent().parent(); var index = parseInt($(elem).attr("id").substr(PREFIX.length)); Loading @@ -727,6 +728,13 @@ X3DOMObject.Marker.prototype._registerEvents = function(){ Scene.element.addEventListener('mousemove',X3DOMObject.Marker.mouseMove,true); Scene.element.addEventListener('mouseup',X3DOMObject.Marker.mouseUp,true); // check for button released outside the window $(window).on('mouseover.drag_marker',function(e) { if (e && e.buttons===0 && Scene.markerToDrag) { X3DOMObject.Marker.mouseUp.apply(self,[event]); } }); }); marker.on('mouseup',function(e){ Loading @@ -752,8 +760,10 @@ X3DOMObject.Marker.mouseUp = function(){ } */ Scene.markerToDrag=null; Scene.element.removeEventListener('mouseup',X3DOMObject.Marker.mouseUp,true); Scene.element.removeEventListener('mousemove',X3DOMObject.Marker.mouseMove,true); $(window).off('.drag_marker'); Scene.draggedTransformNode = null; Scene.draggingUpVec = null; Loading @@ -768,6 +778,8 @@ X3DOMObject.Marker.mouseUp = function(){ // from https://x3dom.org/x3dom/example/MovingObjectsWithDOMEvents.html X3DOMObject.Marker.dragStart = function(elem){ Scene.markerToDrag=elem; // move up from <shape> to <transform> var transformNode = $(elem).parent(); var tr0 = $(transformNode).attr("translation"); Loading Loading @@ -825,7 +837,9 @@ X3DOMObject.Marker.mouseMove = function(event){ if (!SETTINGS.slidingdrag){ X3DOMObject.Marker.drag(event.offsetX - Scene.lastMouseX, event.offsetY - Scene.lastMouseY); }else{ Scene.markerToDrag.isPickable=false; var sr = Scene.element.runtime.shootRay(event.clientX,event.clientY); Scene.markerToDrag.isPickable=true; if (sr.pickObject != null){ if (!$(sr.pickObject).hasClass("shapemarker")){ var sphere = Scene.draggedTransformNode.parent().parent(); Loading