Skip to content
This repository was archived by the owner on Jun 16, 2022. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions lib/cookie.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
export function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
var expires = "expires="+d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

export function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "0";
}

export function getData() {
var settings = {
"hardware": { // Hardware: camera to use (back / front / back #2)
"camera": getCookie("camera") // camera id
},
"software": { // Software: software only settings
"setup": getCookie("setup") // setup: 0 if not setted up, 1 if setted up
},
"hardware-server": { // Hardware-Server: is hardware available and enabled on the server?
"kinect": getCookie("kinect"), // kinect: 1 if kinect available and user enabled it, 0 otherwise
"leapmotion": getCookie("leapmotion") // leapmotion: 1 if kinect available and user enabled it, 0 otherwise
}
};

return settings;
}
3 changes: 3 additions & 0 deletions src/index.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
import 'aframe'
import '../lib/aframe-ar.js'
import * as BasicEntities from './entities/basicEntities.js'
import * as Cookies from '../lib/cookie.js'

var settings = Cookies.getData();

// generates a basic scene and appends a basic block to it
let { scene, container, camera } = BasicEntities.scene()
Expand Down
66 changes: 66 additions & 0 deletions src/setup.ejs
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
<title>Setup page</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
var expires = "expires="+d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

function isChecked(id) {
if(document.getElementById(id).checked) {
return "1";
}
return "0";
}

function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
if(c.substring(name.length, c.length) === "1") {
return true;
}
}
}
return false;
}


function setData() {
var days = 1;
setCookie("kinect", isChecked("kinect"), days)
setCookie("leapmotion", isChecked("leapmotion"), days)
setCookie("setup", "1", days)
window.location.href = ".";
}
</script>
</head>
<body>
<input type="checkbox" id="leapmotion" />Enable LeapMotion<br />
<input type="checkbox" id="kinect" />Enable Kinect<br />
<!-- TODO: camera -->
<!-- <input type="submit" onclick="setData()" /> -->
<script type="text/javascript">
$(document).ready(function() {
document.getElementById("leapmotion").checked = getCookie("leapmotion");
document.getElementById("kinect").checked = getCookie("kinect");
});

$(document).keypress(function(event){
if(event.ctrlKey && event.altKey && String.fromCharCode(event.which) === "o") {
setData();
}
});
</script>
<!--
4 changes: 4 additions & 0 deletions webpack.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ module.exports = {
new HtmlWebpackPlugin({
title: 'OSVR Demo',
template: './src/index.ejs',
}),
new HtmlWebpackPlugin({
template: './src/setup.ejs',
filename: 'setup.html'
})
],
node: {
Expand Down