-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcontrols.js
68 lines (68 loc) · 1.81 KB
/
controls.js
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
document.addEventListener('keypress', event=>{
var rOt = Rot();
switch(event.key){
case 'y':
xyz = !xyz; toggleCSS('xyz');toggleXYZ();
break;
case 't':
biDir = !biDir; toggleCSS('biDir'); //UI
break;
case 'h':
grnd = !grnd; toggleCSS('grnd');toggleGrnd();
break;
case 'g':
edgeAni = !edgeAni; toggleCSS('edgeAni'); toggleEdgeAni();
break;
case 'i':
calibrateLocalRotate();
rOt.x+=6;
camParentEl.setAttribute('rotation',pathParse(rOt));
break;
case 'k':
calibrateLocalRotate();
rOt.x-=6;
camParentEl.setAttribute('rotation',pathParse(rOt));
break;
case 'j':
calibrateLocalRotate();
rOt.y+=6;
camParentEl.setAttribute('rotation',pathParse(rOt));
break;
case 'l':
calibrateLocalRotate();
rOt.y-=6;
camParentEl.setAttribute('rotation',pathParse(rOt));
break;
case '=':
if (del==true){ del=false; selectEdge();toggleCSS('del');}
else{addN0de(null);}
break;
case '-':
if(del==false){del=true;toggleCSS('del');selectEdge();}
break;
case '[':
if (!del){
nodeA = (document.querySelector('.HIGHLIGHT')) ? document.querySelector('.HIGHLIGHT').getAttribute('id') : null;
nA.innerText=nodeA;
if (nodeA!=null&&nodeB!=null){if(checkEdges()){addEdge(nodeA,nodeB,biDir,false);nodeA=null;nodeB=null;}}
}
break;
case ']':
if (!del){
nodeB = (document.querySelector('.HIGHLIGHT')) ? document.querySelector('.HIGHLIGHT').getAttribute('id') : null;
nB.innerText=nodeB;
if (nodeA!=null&&nodeB!=null){if(checkEdges()){addEdge(nodeA,nodeB,biDir,false);nodeA=null;nodeB=null;}}
}
break;
case '\\':
if(del){deleteNode(); deleteEdge();}
break;
case 'q':
cameraEl.setAttribute('position',{x:0,y:1,z:2});
break;
case 'o':
camParentEl.setAttribute('rotation',{x:0,y:0,z:0});
default:
break;
}
});