Compare commits

..

2 Commits

Author SHA1 Message Date
Jurij Podgoršek 111feb350a Nekaj izbrisov 2021-04-28 17:34:31 +02:00
Jurij Podgoršek d7b3c48843 Odstranjen vmesnik za spremembe 2021-04-28 17:29:56 +02:00
6 changed files with 47 additions and 321 deletions

View File

@ -1,107 +0,0 @@
<html >
<head>
<meta charset="UTF-8">
<title>cancerainbow control</title>
<style type="text/css">
body {
margin: 0
}
.noUi-target {
width: 500px;
}
table tr td {
padding-top: 1rem;
}
</style>
<link href="node_modules/nouislider/distribute/nouislider.min.css" rel="stylesheet">
</head>
<body>
<table>
<tr>
<td>
vidni kot (FOV)
</td>
<td>
<div id="fovCtl"></div>
</td>
<td id="fovVal"></td>
</tr>
<tr>
<td>
visina objekta
</td>
<td>
<div id="visinaCtl"></div>
</td>
<td id="visinaVal"></td>
</tr>
<tr>
<td>
sirina objekta
</td>
<td>
<div id="sirinaCtl"></div>
</td>
<td id="sirinaVal"></td>
</tr>
<tr>
<td>
limit objektov
</td>
<td>
<div id="obj_limitCtl"></div>
</td>
<td id="obj_limitVal"></td>
</tr>
<tr>
<td>
rotacija X
</td>
<td>
<div id="rotxCtl"></div>
</td>
<td id="rotxVal"></td>
</tr>
<tr>
<td>
rotacija Y
</td>
<td>
<div id="rotyCtl"></div>
</td>
<td id="rotyVal"></td>
</tr>
<tr>
<td>
rotacija Z
</td>
<td>
<div id="rotzCtl"></div>
</td>
<td id="rotzVal"></td>
</tr>
<tr>
<td>
barva
</td>
<td>
<div id="barva_modCtl"></div>
</td>
<td id="barva_modVal"></td>
</tr>
<tr>
<td>
kamera
</td>
<td>
<div id="cam_rot_offsetCtl"></div>
</td>
<td id="cam_rot_offsetVal"></td>
</tr>
</table>
<script src="node_modules/nouislider/distribute/nouislider.min.js"></script>
<script src="control.js"></script>
</body>
</html>

View File

@ -1,154 +0,0 @@
// Interaktivnost
var socket = new WebSocket(location.origin.replace(/https?/, 'wss'));
function throttle (cb, limit) {
var w = false;
return function () {
if (!w) {
cb.apply(this, arguments);
w = true;
setTimeout(function () {
w = false;
}, limit);
}
}
}
inputi = {
"fov": {
val: 120,
min: 30,
max: 179
},
"sirina": {
val: 2,
min: 1,
max: 6,
step: 0.1
},
"visina": {
val: 2,
min: 1,
max: 6,
step: 0.1
},
"obj_limit": {
val: 1000,
min: 1,
max: 10000
},
"rotx": {
val: 0,
min: -0.1,
max: 0.1,
step: 0.001
},
"roty": {
val: 0,
min: -0.1,
max: 0.1,
step: 0.001
},
"rotz": {
val: 0,
min: -0.1,
max: 0.1,
step: 0.001
},
"barva_mod": {
val: 0.001,
min: 0.001,
max: 0.18,
step: 0.001
},
"cam_rot_offset": {
val: 0,
min: -10,
max: 10,
step: 0.1
}
};
Object.keys(inputi).map(function (name) {
var valEl = document.getElementById(name + "Val");
if (!valEl) { return; }
var ctlEl = document.getElementById(name + "Ctl");
var params = inputi[name];
var step = params.step;
if (!step) step = 1;
noUiSlider.create(ctlEl, {
start: [params.val],
range: {
min: [params.min],
max: [params.max]
},
step: step
});
ctlEl.noUiSlider.on('slide', throttle(function(val) {
console.log("update!");
var value = val[0];
valEl.innerHTML = value;
socket.send(['adjust', name, value].join(':'));
}, 125));
valEl.innerHTML = ctlEl.noUiSlider.get();
});
callbacks = {
fov: function(val) {
if (typeof camera === 'undefined') return;
FOV = val;
camera.fov = val;
camera.updateProjectionMatrix();
},
sirina: function(val) {
width = parseFloat(val);
},
visina: function (val) {
height = parseFloat(val);
},
rotx: function(val) {
rotacijaX = parseFloat(val);
},
roty: function(val) {
rotacijaY = parseFloat(val);
},
rotz: function(val) {
rotacijaZ = parseFloat(val);
},
obj_limit: function(val) {
obj_limit = parseInt(val);
},
default: function(name, val) {
window[name] = parseFloat(val);
}
};
socket.onmessage = function (msg) {
var parts = msg.data.split(":");
var cmd = parts[0];
switch (cmd) {
case 'adjust':
var name = parts[1];
var val = parts[2];
if (name in callbacks) {
callbacks[name].call(this, val);
} else {
callbacks["default"].call(this, name, val);
}
var valEl = document.getElementById(name + "Val");
if (!valEl) { return; }
var ctlEl = document.getElementById(name + "Ctl");
ctlEl.noUiSlider.set(val, false);
valEl.innerHTML = ctlEl.noUiSlider.get();
}
};

View File

@ -12,6 +12,7 @@
<body>
<div id="anim-container">
</div>
Dodan tekst
<script src="node_modules/three/build/three.min.js"></script>
<script src="anim.js"></script>
<script src="control.js"></script>

86
package-lock.json generated
View File

@ -15,15 +15,15 @@
"integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
"requires": {
"bytes": "3.1.0",
"content-type": "1.0.4",
"content-type": "~1.0.4",
"debug": "2.6.9",
"depd": "1.1.2",
"depd": "~1.1.2",
"http-errors": "1.7.2",
"iconv-lite": "0.4.24",
"on-finished": "2.3.0",
"on-finished": "~2.3.0",
"qs": "6.7.0",
"raw-body": "2.4.0",
"type-is": "1.6.18"
"type-is": "~1.6.17"
}
},
"bytes": {
@ -99,36 +99,36 @@
"resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
"integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
"requires": {
"accepts": "1.3.7",
"accepts": "~1.3.7",
"array-flatten": "1.1.1",
"body-parser": "1.19.0",
"content-disposition": "0.5.3",
"content-type": "1.0.4",
"content-type": "~1.0.4",
"cookie": "0.4.0",
"cookie-signature": "1.0.6",
"debug": "2.6.9",
"depd": "1.1.2",
"encodeurl": "1.0.2",
"escape-html": "1.0.3",
"etag": "1.8.1",
"finalhandler": "1.1.2",
"depd": "~1.1.2",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
"finalhandler": "~1.1.2",
"fresh": "0.5.2",
"merge-descriptors": "1.0.1",
"methods": "1.1.2",
"on-finished": "2.3.0",
"parseurl": "1.3.3",
"methods": "~1.1.2",
"on-finished": "~2.3.0",
"parseurl": "~1.3.3",
"path-to-regexp": "0.1.7",
"proxy-addr": "2.0.6",
"proxy-addr": "~2.0.5",
"qs": "6.7.0",
"range-parser": "1.2.1",
"range-parser": "~1.2.1",
"safe-buffer": "5.1.2",
"send": "0.17.1",
"serve-static": "1.14.1",
"setprototypeof": "1.1.1",
"statuses": "1.5.0",
"type-is": "1.6.18",
"statuses": "~1.5.0",
"type-is": "~1.6.18",
"utils-merge": "1.0.1",
"vary": "1.1.2"
"vary": "~1.1.2"
},
"dependencies": {
"accepts": {
@ -136,7 +136,7 @@
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
"integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
"requires": {
"mime-types": "2.1.27",
"mime-types": "~2.1.24",
"negotiator": "0.6.2"
}
},
@ -176,12 +176,12 @@
"integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
"requires": {
"debug": "2.6.9",
"encodeurl": "1.0.2",
"escape-html": "1.0.3",
"on-finished": "2.3.0",
"parseurl": "1.3.3",
"statuses": "1.5.0",
"unpipe": "1.0.0"
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"on-finished": "~2.3.0",
"parseurl": "~1.3.3",
"statuses": "~1.5.0",
"unpipe": "~1.0.0"
}
},
"forwarded": {
@ -199,10 +199,10 @@
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
"integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
"requires": {
"depd": "1.1.2",
"depd": "~1.1.2",
"inherits": "2.0.3",
"setprototypeof": "1.1.1",
"statuses": "1.5.0",
"statuses": ">= 1.5.0 < 2",
"toidentifier": "1.0.0"
}
},
@ -211,7 +211,7 @@
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"requires": {
"safer-buffer": "2.1.2"
"safer-buffer": ">= 2.1.2 < 3"
}
},
"inherits": {
@ -277,7 +277,7 @@
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
"integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
"requires": {
"forwarded": "0.1.2",
"forwarded": "~0.1.2",
"ipaddr.js": "1.9.1"
}
},
@ -313,18 +313,18 @@
"integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
"requires": {
"debug": "2.6.9",
"depd": "1.1.2",
"destroy": "1.0.4",
"encodeurl": "1.0.2",
"escape-html": "1.0.3",
"etag": "1.8.1",
"depd": "~1.1.2",
"destroy": "~1.0.4",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
"fresh": "0.5.2",
"http-errors": "1.7.2",
"http-errors": "~1.7.2",
"mime": "1.6.0",
"ms": "2.1.1",
"on-finished": "2.3.0",
"range-parser": "1.2.1",
"statuses": "1.5.0"
"on-finished": "~2.3.0",
"range-parser": "~1.2.1",
"statuses": "~1.5.0"
},
"dependencies": {
"ms": {
@ -339,9 +339,9 @@
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
"integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
"requires": {
"encodeurl": "1.0.2",
"escape-html": "1.0.3",
"parseurl": "1.3.3",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"parseurl": "~1.3.3",
"send": "0.17.1"
}
},
@ -371,7 +371,7 @@
"integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
"requires": {
"media-typer": "0.3.0",
"mime-types": "2.1.27"
"mime-types": "~2.1.24"
},
"dependencies": {
"mime-db": {

View File

@ -1,14 +0,0 @@
{
"name": "cancerain",
"version": "0.3.0",
"description": "epilepsija",
"dependencies": {
"express": "^4.17.1",
"nouislider": "14.6.2",
"three": "0.120.1",
"ws": "^7.3.1"
},
"scripts": {
"start": "node server.js"
}
}

View File

@ -11,10 +11,10 @@ const include_files = [
'/node_modules/three/build/three.min.js',
'/node_modules/nouislider/distribute/nouislider.min.js',
'/node_modules/nouislider/distribute/nouislider.min.css',
]
];
const app = express()
const server = http.Server(app)
const app = express();
const server = http.Server(app);
app.get('/', function(req, res) {
res.sendFile(__dirname + '/index.html');