Use wheel event instead of deprecated DOMMouseScroll and mousewheel.

This commit is contained in:
Viktor Kovacs 2021-05-09 15:38:32 +02:00
parent 31635229af
commit e9509d1696
3 changed files with 97 additions and 9 deletions

View File

@ -248,8 +248,7 @@ OV.Navigation = class
if (this.canvas.addEventListener) {
this.canvas.addEventListener ('mousedown', this.OnMouseDown.bind (this));
this.canvas.addEventListener ('DOMMouseScroll', this.OnMouseWheel.bind (this));
this.canvas.addEventListener ('mousewheel', this.OnMouseWheel.bind (this));
this.canvas.addEventListener ('wheel', this.OnMouseWheel.bind (this));
this.canvas.addEventListener ('touchstart', this.OnTouchStart.bind (this));
this.canvas.addEventListener ('touchmove', this.OnTouchMove.bind (this));
this.canvas.addEventListener ('touchend', this.OnTouchEnd.bind (this));
@ -460,13 +459,7 @@ OV.Navigation = class
ev.preventDefault ();
let params = ev || window.event;
let delta = 0;
if (params.detail) {
delta = -params.detail;
} else if (params.wheelDelta) {
delta = params.wheelDelta / 40;
}
let delta = -params.deltaY / 40;
let ratio = 0.1;
if (delta < 0) {
ratio = ratio * -1.0;

View File

@ -0,0 +1,22 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no">
<link rel="icon" type="image/png" href="assets/images/3dviewer_net_favicon.png">
<title>Online 3D Viewer</title>
</head>
<body>
<div style="background:#cccccc;width:800px;height:600px;"></div>
<iframe
src="../../website/embed.html#model=../test/testfiles/obj/hundred_cubes.obj,../test/testfiles/obj/hundred_cubes.mtl$camera=1,1,1,0,0,0,0,0,1"
width=800 height=600
style="border:1px solid #eeeeee;">
</iframe>
<div style="background:#cccccc;width:800px;height:2000px;"></div>
</body>
</html>

View File

@ -0,0 +1,73 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no">
<title>Online 3D Viewer</title>
<script type="text/javascript" src="../../libs/three.min-126.js"></script>
<!-- importer start -->
<script type="text/javascript" src="../../source/core/core.js"></script>
<script type="text/javascript" src="../../source/core/taskrunner.js"></script>
<script type="text/javascript" src="../../source/geometry/geometry.js"></script>
<script type="text/javascript" src="../../source/geometry/coord2d.js"></script>
<script type="text/javascript" src="../../source/geometry/coord3d.js"></script>
<script type="text/javascript" src="../../source/geometry/matrix.js"></script>
<script type="text/javascript" src="../../source/geometry/transformation.js"></script>
<script type="text/javascript" src="../../source/geometry/tween.js"></script>
<script type="text/javascript" src="../../source/io/binaryreader.js"></script>
<script type="text/javascript" src="../../source/io/binarywriter.js"></script>
<script type="text/javascript" src="../../source/io/textwriter.js"></script>
<script type="text/javascript" src="../../source/io/bufferutils.js"></script>
<script type="text/javascript" src="../../source/io/fileutils.js"></script>
<script type="text/javascript" src="../../source/model/modelentities.js"></script>
<script type="text/javascript" src="../../source/model/mesh.js"></script>
<script type="text/javascript" src="../../source/model/meshbuffer.js"></script>
<script type="text/javascript" src="../../source/model/model.js"></script>
<script type="text/javascript" src="../../source/model/modelutils.js"></script>
<script type="text/javascript" src="../../source/model/modelfinalization.js"></script>
<script type="text/javascript" src="../../source/import/importerutils.js"></script>
<script type="text/javascript" src="../../source/import/importerbase.js"></script>
<script type="text/javascript" src="../../source/import/importerobj.js"></script>
<script type="text/javascript" src="../../source/import/importerstl.js"></script>
<script type="text/javascript" src="../../source/import/importeroff.js"></script>
<script type="text/javascript" src="../../source/import/importerply.js"></script>
<script type="text/javascript" src="../../source/import/importer3ds.js"></script>
<script type="text/javascript" src="../../source/import/importergltf.js"></script>
<script type="text/javascript" src="../../source/import/importer.js"></script>
<script type="text/javascript" src="../../source/export/exporterutils.js"></script>
<script type="text/javascript" src="../../source/export/exporterbase.js"></script>
<script type="text/javascript" src="../../source/export/exporterobj.js"></script>
<script type="text/javascript" src="../../source/export/exporterstl.js"></script>
<script type="text/javascript" src="../../source/export/exporterply.js"></script>
<script type="text/javascript" src="../../source/export/exporteroff.js"></script>
<script type="text/javascript" src="../../source/export/exportergltf.js"></script>
<script type="text/javascript" src="../../source/export/exporter.js"></script>
<script type="text/javascript" src="../../source/external/rhino.importer.js"></script>
<script type="text/javascript" src="../../source/external/rhino.exporter.js"></script>
<script type="text/javascript" src="../../source/external/three.converter.js"></script>
<script type="text/javascript" src="../../source/external/three.model.loader.js"></script>
<script type="text/javascript" src="../../source/parameters/parameterlist.js"></script>
<script type="text/javascript" src="../../source/viewer/domutils.js"></script>
<script type="text/javascript" src="../../source/viewer/navigation.js"></script>
<script type="text/javascript" src="../../source/viewer/viewer.js"></script>
<script type="text/javascript" src="../../source/viewer/domviewer.js"></script>
<!-- importer end -->
<script type='text/javascript'>
OV.Init3DViewerElements ();
</script>
</head>
<body>
<div style="background:#cccccc;width:800px;height:600px;"></div>
<div class="online_3d_viewer"
style="width: 800px; height: 600px;"
model="../../test/testfiles/obj/hundred_cubes.obj,../../test/testfiles/obj/hundred_cubes.mtl"
camera="3,1,2,0,0,0,0,0,1">
</div>
<div style="background:#cccccc;width:800px;height:2000px;"></div>
</body>
</html>