summaryrefslogtreecommitdiff
path: root/js/pb.js
blob: 0e44fc80f87e54885822b4e658e2c6ebc961eee4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
var loadUrl = '/img/load';
function getCookie(name) {
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg) {
			return getCookieVal(j);
		}
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0)
			break;
	}
	return null;
}

function saveScene(){
	if (!renderer) {
		alert("WebGL Rendering was not started yet!");
	} else {
		// Prepare data
		var dataUrl = renderer.domElement.toDataURL("image/png");
		//Remove header
		dataUrl = dataUrl.replace("data:image/png;base64,", "");
		var seconds = new Date() / 1000;
		seconds = seconds.toFixed(0);
		var userName = getCookie("imname");
		var filename;
		if (!userName) {
			filename = seconds + "_imgrid";
		} else {
			filename = seconds + "_imgrid_" + userName;
		}
		filename += ".png";
		
		// Send post request
	    $.post(
		        '/cgi-bin/saveImg.cgi',
		        { name: filename, picture: dataUrl },
		        function(response) {
               console.log(response);
		        }
		); 		
	}
}


function loadNew() {
	//Get values for url
	textureURL = document.getElementById("texture").value;
	heightmapURL = document.getElementById("heightmap").value;
	
	//Validate urls
	if (isUrl(textureURL) && isUrl(heightmapURL)){
		//Post to server
	    $.post(
	        loadUrl,
	        { texture: textureURL, heightmap: heightmapURL },
	        function(response) {
             console.log(response);
	        }
	    ); 
	} else {	
		//Invalid URL(s)
		alert("Texture and/or heightmap URLs are invalid.\nAlso note that only JPG pictures are supported!");
	}
}

function isUrl(s) {
	var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?\.(jpg|JPG|jpeg|JPEG)/;
	return regexp.test(s);
}