1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813 |
- <!doctype html>
- <html lang="en">
- <head>
- <meta charset="utf-8">
- <title>The Vault GUI</title>
- <link rel="stylesheet" href="{{ static_url("style.css") }}">
- <link rel="stylesheet" href="//code.jquery.com/ui/1.12.0/themes/base/jquery-ui.css">
- <!--[if lt IE 9]>
- <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- </head>
- <body>
- <div id="container"></div>
- <!--<div id="slider"></div>-->
- <div id="slider-tooltip">123456</div>
- <div id="obj-tooltip">12345</div>
- <div id="val-tooltip">12345</div>
- <div class="window-item window-unitem" id="message">
- <div class="bar-header">
- <div class="bar-title noselect">Message Log</div>
-
- <div class="bar-dropdown noselect">^</div>
- <div class="bar-close noselect">×</div>
- </div>
- <div class="bar-message">
- <div class="bar-wrapper" style="height:200px; overflow-y:scroll;">
- </div>
- </div>
- </div>
-
- <!--
- <div class="window-item window-unitem" id="settings">
- <div class="bar-header">
- <div class="bar-title noselect">Settings</div>
-
- <div class="bar-dropdown noselect">^</div>
- <div class="bar-close noselect">×</div>
- </div>
- <div class="bar-settings">
- <div class="bar-wrapper">
- <div class="bar-setup">
- <span class="bl bar-hl">Start time</span>
- <span class="br bar-info">
- <input id="start_time" class="jscolor" value="1472688000">
- </span>
- </div>
- <div class="bar-setup">
- <span class="bl bar-hl">End time</span>
- <span class="br bar-info">
- <input id="end_time" class="jscolor" value="1472774400">
- </span>
- </div>
- </div>
- </div>
- </div>
- -->
-
- <div class="window-item" id="orientation">
- <div class="bar-header">
- <div class="bar-title noselect">Orientation</div>
-
- <div class="bar-dropdown noselect">^</div>
- <div class="bar-close noselect">×</div>
- </div>
- <div class="bar-orientation">
- <canvas class="bar-wrapper" id="compass" width="200" height="180"></canvas>
- </div>
- </div>
-
-
- <div id="window-tab">
- <div id="offMessage" class="noselect bar-pil">Message Log</div>
- <div id="offOrientation" class="noselect bar-pil">Orientation</div>
- <!--<div id="offSettings" class="noselect bar-pil">Settings</div>-->
- </div>
-
- <div class="window-cp" id="control-panel">
- <div class="bar-header">
- <div id="toggleGUI" class="bar-button noselect">Show/Hide GUI</div>
- <div id="showTabs" class="bar-button noselect">Windows</div>
- <!--<div id="runSimulation" class="bar-button noselect">Run</div>-->
- <!---
- <div id="testTrigger" class="bar-button noselect">Test Trigger</div>
- -->
- </div>
- </div>
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
- <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
- <script src="{{ static_url("scripts.js") }}"></script>
- <script src="{{ static_url("three.min.js") }}"></script>
- <script src="{{ static_url("OrbitControls.js") }}"></script>
- <script>
- // Global variable
- var img = null,
- needle = null,
- ctx = null;
- function clearCanvas() {
- // clear canvas
- ctx.clearRect(0, 0, 200, 200);
- }
- function draw(degrees) {
- //console.log("Draw degree");
- //console.log(degrees);
- clearCanvas();
- // Draw the compass onto the canvas
- ctx.drawImage(img, 0, 0);
- // Save the current drawing state
- ctx.save();
- // Now move across and down half the
- ctx.translate(100, 100);
- // Rotate around this point
- ctx.rotate(degrees * (Math.PI / 180));
- // Draw the image back and up
- ctx.drawImage(needle, -100, -100);
- // Restore the previous drawing state
- ctx.restore();
- // Increment the angle of the needle by 5 degrees
- //degrees += 5;
- }
- function imgLoaded() {
- // Image loaded event complete. Start the timer
- draw(myvalue);
- //setInterval(draw, 100);
- }
- function init() {
- // Grab the compass element
- var canvas = document.getElementById('compass');
- // Canvas supported?
- if (canvas.getContext('2d')) {
- ctx = canvas.getContext('2d');
- // Load the needle image
- needle = new Image();
- needle.src = 'http://katrin.kit.edu/static/needle.png';
- // Load the compass image
- img = new Image();
- img.src = 'http://katrin.kit.edu/static/compass.png';
- img.onload = imgLoaded;
- } else {
- alert("Canvas not supported!");
- }
- }
-
- var myvalue = 0;
- init();
-
-
- </script>
- <script>
- var camera, scene, renderer;
- var container;
- var mycontrol;
- var enableControls = true;
- var pv001;
- var data;
- var raycaster = new THREE.Raycaster();
- var mouse = new THREE.Vector2();
- function onMouseMove( event ) {
- // calculate mouse position in normalized device coordinates
- // (-1 to +1) for both components
- mouse.x = ( event.clientX / window.innerWidth ) * 2 - 1;
- mouse.y = - ( event.clientY / window.innerHeight ) * 2 + 1;
- }
- init();
- animate();
- window.addEventListener( 'mousemove', onMouseMove, false );
- function init() {
- setMessage("3D", "Initialization.");
- scene = new THREE.Scene();
-
- camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 10000);
- camera.position.set(0, 45, 100);
- camera.lookAt(scene.position);
- container = document.getElementById( 'container' );
- document.body.appendChild( container );
- renderer = new THREE.WebGLRenderer({ alpha: true, antialias: true });
- renderer.setSize(window.innerWidth, window.innerHeight);
- renderer.setClearColor( 0xffffff, 0);
- container.appendChild(renderer.domElement);
- mycontrol = new THREE.OrbitControls( camera );
- var size = 40, step = 1;
-
- var geometry = new THREE.Geometry();
- var material = new THREE.LineBasicMaterial({color: 0xe3e3e3, linewidth: 1, fog:true});
- for ( var i = - size; i <= size; i += step ) {
- geometry.vertices.push(new THREE.Vector3( -size, -0.04, i ));
- geometry.vertices.push(new THREE.Vector3( size, -0.04, i ));
-
- geometry.vertices.push(new THREE.Vector3( i, -0.04, -size ));
- geometry.vertices.push(new THREE.Vector3( i, -0.04, size ));
- }
- var line = new THREE.LineSegments( geometry, material );
- scene.add(line);
-
- setMessage("3D", "Added grid plane.");
- /*
- var geometry = new THREE.BoxGeometry( 1, 1, 1 );
- var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
- var cube = new THREE.Mesh( geometry, material );
- */
-
- var light = new THREE.DirectionalLight( 0xffffff );
- light.position.set( 0, 1, 1 ).normalize();
- scene.add(light);
- setMessage("3D", "Added directional light.");
-
- pv001 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv001.position.set(-18, 0.5, 29);
- pv001.rotateY( Math.PI / 3 );
- pv001.name = "2A_15_60e_001";
- scene.add(pv001);
- setMessage("3D", "Loaded PV001.");
- pv002 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv002.position.set(-14, 0.5, 30);
- pv002.rotateY( Math.PI / 3 );
- pv002.name = "5A_15_60e_002";
- scene.add(pv002);
- setMessage("3D", "Loaded PV002.");
- pv003 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv003.position.set(9.5, 0.5, 2);
- pv003.rotateY( Math.PI / 3 );
- pv003.name = "6A_30_60e_003";
- scene.add(pv003);
- setMessage("3D", "Loaded PV003.");
- pv004 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv004.position.set(6, 0.5, 1);
- pv004.rotateY( Math.PI / 3 );
- pv004.name = "1A_30_60e_004";
- scene.add(pv004);
- setMessage("3D", "Loaded PV004.");
- pv005 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv005.position.set(-8, 0.5, -3);
- pv005.rotateY( Math.PI / 3 );
- pv005.name = "6A_45_60e_005";
- scene.add(pv005);
- setMessage("3D", "Loaded PV005.");
- pv006 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv006.position.set(-4.5, 0.5, -2);
- pv006.rotateY( Math.PI / 3 );
- pv006.name = "1A_45_60e_006";
- scene.add(pv006);
- setMessage("3D", "Loaded PV006.");
- pv007 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv007.position.set(-5, 0.5, -16);
- pv007.rotateY( Math.PI / 3 );
- pv007.name = "6C_60_60e_007";
- scene.add(pv007);
- setMessage("3D", "Loaded PV007.");
- pv008 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv008.position.set(-7, 0.5, -9);
- pv008.rotateY( Math.PI / 3 );
- pv008.name = "1C_60_60e_008";
- scene.add(pv008);
- setMessage("3D", "Loaded PV008.");
- pv009 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv009.position.set(13, 0.5, 3);
- pv009.rotateY( Math.PI / 4 );
- pv009.name = "2A_15_45e_009";
- scene.add(pv009);
- setMessage("3D", "Loaded PV009.");
- pv010 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv010.position.set(18, 0.5, 4);
- pv010.rotateY( Math.PI / 4 );
- pv010.name = "1A_15_45e_010";
- scene.add(pv010);
- setMessage("3D", "Loaded PV010.");
- pv011 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv011.position.set(3.5, 0.5, -0.5);
- pv011.rotateY( Math.PI / 4 );
- pv011.name = "4A_15_45e_011";
- scene.add(pv011);
- setMessage("3D", "Loaded PV011.");
- pv012 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv012.position.set(17, 0.5, -1);
- pv012.rotateY( Math.PI / 4 );
- pv012.name = "6A_30_45e_012";
- scene.add(pv012);
- setMessage("3D", "Loaded PV012.");
- pv013 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv013.position.set(-2, 0.5, -1);
- pv013.rotateY( Math.PI / 4 );
- pv013.name = "2A_30_45e_013";
- scene.add(pv013);
- setMessage("3D", "Loaded PV013.");
- pv014 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv014.position.set(9, 0.5, -3);
- pv014.rotateY( Math.PI / 4 );
- pv014.name = "2A_45_45e_014";
- scene.add(pv014);
- setMessage("3D", "Loaded PV014.");
- pv015 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv015.position.set(12.5, 0.5, -2);
- pv015.rotateY( Math.PI / 4 );
- pv015.name = "4A_45_45e_015";
- scene.add(pv015);
- setMessage("3D", "Loaded PV015.");
- pv016 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv016.position.set(-1, 0.5, -22);
- pv016.rotateY( Math.PI / 4 );
- pv016.name = "6A_60_45e_016";
- scene.add(pv016);
- setMessage("3D", "Loaded PV016.");
- pv017 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv017.position.set(-2, 0.5, -26);
- pv017.rotateY( Math.PI / 4 );
- pv017.name = "2A_60_45e_017";
- scene.add(pv017);
- setMessage("3D", "Loaded PV017.");
- pv018 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv018.position.set(-8.5, 0.5, 23);
- pv018.rotateY( Math.PI / 6 );
- pv018.name = "3A_15_30e_018";
- scene.add(pv018);
- setMessage("3D", "Loaded PV018.");
- pv019 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv019.position.set(-10, 0.5, 26.5);
- pv019.rotateY( Math.PI / 6 );
- pv019.name = "1A_15_30e_019";
- scene.add(pv019);
- setMessage("3D", "Loaded PV019.");
- pv020 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv020.position.set(6, 0.5, 14);
- pv020.rotateY( Math.PI / 6 );
- pv020.name = "1B_15_30e_020";
- scene.add(pv020);
- setMessage("3D", "Loaded PV020.");
- pv021 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv021.position.set(12, 0.5, 19);
- pv021.rotateY( Math.PI / 6 );
- pv021.name = "1D_15_30e_021";
- scene.add(pv021);
- setMessage("3D", "Loaded PV021.");
- pv022 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv022.position.set(6, 0.5, 17);
- pv022.rotateY( Math.PI / 6 );
- pv022.name = "1C_15_30e_022";
- scene.add(pv022);
- setMessage("3D", "Loaded PV022.");
- pv023 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv023.position.set(9, 0.5, 18);
- pv023.rotateY( Math.PI / 6 );
- pv023.name = "5A_15_30e_023";
- scene.add(pv023);
- setMessage("3D", "Loaded PV023.");
- pv024 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv024.position.set(-16, 0.5, 24);
- pv024.rotateY( Math.PI / 6 );
- pv024.name = "6D_30_30e_024";
- scene.add(pv024);
- setMessage("3D", "Loaded PV024.");
- pv025 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv025.position.set(-15, 0.5, 26);
- pv025.rotateY( Math.PI / 6 );
- pv025.name = "3D_30_30e_025";
- scene.add(pv025);
- setMessage("3D", "Loaded PV025.");
- pv026 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv026.position.set(1.5, 0.5, -7.5);
- pv026.rotateY( Math.PI / 6 );
- pv026.name = "6A_45_30e_026";
- scene.add(pv026);
- setMessage("3D", "Loaded PV026.");
- pv027 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv027.position.set(-3, 0.5, -8.5);
- pv027.rotateY( Math.PI / 6 );
- pv027.name = "3A_45_30e_027";
- scene.add(pv027);
- setMessage("3D", "Loaded PV027.");
- pv028 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv028.position.set(3, 0.5, -4.5);
- pv028.rotateY( Math.PI / 6 );
- pv028.name = "1A_45_30e_028";
- scene.add(pv028);
- setMessage("3D", "Loaded PV028.");
- pv029 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv029.position.set(3, 0.5, -25);
- pv029.rotateY( Math.PI / 6 );
- pv029.name = "6A_60_30e_029";
- scene.add(pv029);
- setMessage("3D", "Loaded PV029.");
- pv030 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv030.position.set(1, 0.5, -13);
- pv030.rotateY( Math.PI / 6 );
- pv030.name = "3A_60_30e_030";
- scene.add(pv030);
- setMessage("3D", "Loaded PV030.");
- pv031 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv031.position.set(0, 0.5, -16);
- pv031.rotateY( Math.PI / 6 );
- pv031.name = "1A_60_30e_031";
- scene.add(pv031);
- setMessage("3D", "Loaded PV031.");
- pv032 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv032.position.set(7, 0.5, 10.5);
- pv032.rotateY( Math.PI / 12 );
- pv032.name = "3A_15_15e_032";
- scene.add(pv032);
- setMessage("3D", "Loaded PV032.");
- pv033 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv033.position.set(-10, 0.5, 29.5);
- pv033.rotateY( Math.PI / 12 );
- pv033.name = "1B_15_15e_033";
- scene.add(pv033);
- setMessage("3D", "Loaded PV033.");
-
- pv034 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv034.position.set(-11, 0.5, 31.5);
- pv034.rotateY( Math.PI / 12 );
- pv034.name = "4B_15_15e_034";
- scene.add(pv034);
- setMessage("3D", "Loaded PV034.");
- pv035 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv035.position.set(-13, 0.5, 19);
- pv035.rotateY( Math.PI / 12 );
- pv035.name = "3A_30_15e_035";
- scene.add(pv035);
- setMessage("3D", "Loaded PV035.");
- pv036 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv036.position.set(-13, 0.5, 21);
- pv036.rotateY( Math.PI / 12 );
- pv036.name = "1A_30_15e_036";
- scene.add(pv036);
- setMessage("3D", "Loaded PV036.");
- pv037 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv037.position.set(-7, 0.5, 20);
- pv037.rotateY( Math.PI / 12 );
- pv037.name = "5A_30_15e_037";
- scene.add(pv037);
- setMessage("3D", "Loaded PV037.");
- pv038 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv038.position.set(8, 0.5, -14);
- pv038.rotateY( Math.PI / 12 );
- pv038.name = "3A_45_15e_038";
- scene.add(pv038);
- setMessage("3D", "Loaded PV038.");
- pv039 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv039.position.set(8, 0.5, -10);
- pv039.rotateY( Math.PI / 12 );
- pv039.name = "1A_45_15e_039";
- scene.add(pv039);
- setMessage("3D", "Loaded PV039.");
- pv040 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv040.position.set(9, 0.5, -6.5);
- pv040.rotateY( Math.PI / 12 );
- pv040.name = "4A_45_15e_040";
- scene.add(pv040);
- setMessage("3D", "Loaded PV040.");
- pv041 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv041.position.set(4, 0.5, -20.5);
- pv041.rotateY( Math.PI / 12 );
- pv041.name = "6A_60_15e_041";
- scene.add(pv041);
- setMessage("3D", "Loaded PV041.");
- pv042 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv042.position.set(9, 0.5, -22);
- pv042.rotateY( Math.PI / 12 );
- pv042.name = "3A_60_15e_042";
- scene.add(pv042);
- setMessage("3D", "Loaded PV042.");
- pv043 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv043.position.set(8, 0.5, -17.5);
- pv043.rotateY( Math.PI / 12 );
- pv043.name = "1A_60_15e_043";
- scene.add(pv043);
- setMessage("3D", "Loaded PV043.");
- pv044 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv044.position.set(2, 0.5, 33);
- pv044.rotateY( Math.PI );
- pv044.name = "3B_15_00s_044";
- scene.add(pv044);
- setMessage("3D", "Loaded PV044.");
- pv045 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv045.position.set(5, 0.5, 34.5);
- pv045.rotateY( Math.PI );
- pv045.name = "4B_15_00s_045";
- scene.add(pv045);
- setMessage("3D", "Loaded PV045.");
- pv046 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv046.position.set(-1, 0.5, 35);
- pv046.rotateY( Math.PI );
- pv046.name = "6A_02_00s_046";
- scene.add(pv046);
- setMessage("3D", "Loaded PV046.");
- pv047 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv047.position.set(3, 0.5, 36);
- pv047.rotateY( Math.PI );
- pv047.name = "2A_02_00s_047";
- scene.add(pv047);
- setMessage("3D", "Loaded PV047.");
- pv048 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv048.position.set(6, 0.5, 37);
- pv048.rotateY( Math.PI );
- pv048.name = "1A_02_00s_048";
- scene.add(pv048);
- setMessage("3D", "Loaded PV048.");
- pv049 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv049.position.set(-11, 0.5, 14);
- pv049.rotateY( Math.PI );
- pv049.name = "3C_30_00s_049";
- scene.add(pv049);
- setMessage("3D", "Loaded PV049.");
- pv050 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv050.position.set(-10.5, 0.5, 11);
- pv050.rotateY( Math.PI );
- pv050.name = "1A_30_00s_050";
- scene.add(pv050);
- setMessage("3D", "Loaded PV050.");
- pv051 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv051.position.set(8, 0.5, 7.5);
- pv051.rotateY( Math.PI );
- pv051.name = "1B_30_00s_051";
- scene.add(pv051);
- setMessage("3D", "Loaded PV051.");
- pv052 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv052.position.set(-10, 0.5, 8);
- pv052.rotateY( Math.PI );
- pv052.name = "1D_30_00s_052";
- scene.add(pv052);
- setMessage("3D", "Loaded PV052.");
- pv053 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv053.position.set(3, 0.5, 25);
- pv053.rotateY( Math.PI );
- pv053.name = "1C_30_00s_053";
- scene.add(pv053);
- setMessage("3D", "Loaded PV053.");
- pv054 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv054.position.set(2.5, 0.5, 28);
- pv054.rotateY( Math.PI );
- pv054.name = "4D_30_00s_054";
- scene.add(pv054);
- setMessage("3D", "Loaded PV054.");
- pv055 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv055.position.set(15, 0.5, -7);
- pv055.rotateY( Math.PI );
- pv055.name = "3A_45_00s_055";
- scene.add(pv055);
- setMessage("3D", "Loaded PV055.");
- pv056 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv056.position.set(15, 0.5, -11);
- pv056.rotateY( Math.PI );
- pv056.name = "4A_45_00s_056";
- scene.add(pv056);
- setMessage("3D", "Loaded PV056.");
- pv057 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv057.position.set(9, 0.5, -27.5);
- pv057.rotateY( Math.PI );
- pv057.name = "6A_60_00s_057";
- scene.add(pv057);
- setMessage("3D", "Loaded PV057.");
- pv058 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv058.position.set(0, 0.5, -30);
- pv058.rotateY( Math.PI );
- pv058.name = "3A_60_00s_058";
- scene.add(pv058);
- setMessage("3D", "Loaded PV058.");
- pv059 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv059.position.set(8, 0.5, 25.5);
- pv059.rotateY( 11 * Math.PI / 12 );
- pv059.name = "3B_15_15w_059";
- scene.add(pv059);
- setMessage("3D", "Loaded PV059.");
- pv060 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv060.position.set(2.5, 0.5, 31);
- pv060.rotateY( 11 * Math.PI / 12 );
- pv060.name = "1B_15_15w_060";
- scene.add(pv060);
- setMessage("3D", "Loaded PV060.");
- pv061 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv061.position.set(9.5, 0.5, 35.5);
- pv061.rotateY( 11 * Math.PI / 12 );
- pv061.name = "4B_15_15w_061";
- scene.add(pv061);
- setMessage("3D", "Loaded PV061.");
- pv062 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv062.position.set(8, 0.5, 22.15);
- pv062.rotateY( 11 * Math.PI / 12 );
- pv062.name = "3A_30_15w_062";
- scene.add(pv062);
- setMessage("3D", "Loaded PV062.");
- pv063 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv063.position.set(12.5, 0.5, 23.25);
- pv063.rotateY( 11 * Math.PI / 12 );
- pv063.name = "1A_30_15w_063";
- scene.add(pv063);
- setMessage("3D", "Loaded PV063.");
- pv064 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv064.position.set(3.5, 0.5, 21);
- pv064.rotateY( 11 * Math.PI / 12 );
- pv064.name = "5A_30_15w_064";
- scene.add(pv064);
- setMessage("3D", "Loaded PV064.");
- pv065 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv065.position.set(16, 0.5, -19);
- pv065.rotateY( 11 * Math.PI / 12 );
- pv065.name = "3A_45_15w_065";
- scene.add(pv065);
- setMessage("3D", "Loaded PV065.");
- pv066 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv066.position.set(17, 0.5, -22);
- pv066.rotateY( 11 * Math.PI / 12 );
- pv066.name = "1A_45_15w_066";
- scene.add(pv066);
- setMessage("3D", "Loaded PV066.");
- pv067 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv067.position.set(15, 0.5, -15);
- pv067.rotateY( 11 * Math.PI / 12 );
- pv067.name = "4A_45_15w_067";
- scene.add(pv067);
- setMessage("3D", "Loaded PV067.");
- pv068 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv068.position.set(15, 0.5, -27);
- pv068.rotateY( 11 * Math.PI / 12 );
- pv068.name = "6A_60_15w_068";
- scene.add(pv068);
- setMessage("3D", "Loaded PV068.");
- pv069 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv069.position.set(20, 0.5, -25.75);
- pv069.rotateY( 11 * Math.PI / 12 );
- pv069.name = "3A_60_15w_069";
- scene.add(pv069);
- setMessage("3D", "Loaded PV069.");
- pv070 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv070.position.set(25, 0.5, -24.5);
- pv070.rotateY( 11 * Math.PI / 12 );
- pv070.name = "1A_60_15w_070";
- scene.add(pv070);
- setMessage("3D", "Loaded PV070.");
- pv071 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv071.position.set(17, 0.5, 25);
- pv071.rotateY( 11 * Math.PI / 6 );
- pv071.name = "3A_15_30w_071";
- scene.add(pv071);
- setMessage("3D", "Loaded PV071.");
- pv072 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv072.position.set(6.75, 0.5, 32.5);
- pv072.rotateY( 11 * Math.PI / 6 );
- pv072.name = "1A_15_30w_072";
- scene.add(pv072);
- setMessage("3D", "Loaded PV072.");
- pv073 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv073.position.set(10.5, 0.5, 38.25);
- pv073.rotateY( 11 * Math.PI / 6 );
- pv073.name = "1B_15_30w_073";
- scene.add(pv073);
- setMessage("3D", "Loaded PV073.");
- pv074 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv074.position.set(12.5, 0.5, 27.5);
- pv074.rotateY( 11 * Math.PI / 6 );
- pv074.name = "1D_15_30w_074";
- scene.add(pv074);
- setMessage("3D", "Loaded PV074.");
- pv075 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv075.position.set(7.5, 0.5, 29.5);
- pv075.rotateY( 11 * Math.PI / 6 );
- pv075.name = "1C_15_30w_075";
- scene.add(pv075);
- pv076 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv076.position.set(11, 0.5, 33.5);
- pv076.rotateY( 11 * Math.PI / 6 );
- pv076.name = "5D_15_30w_076";
- scene.add(pv076);
- setMessage("3D", "Loaded PV076.");
- pv077 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv077.position.set(13, 0.5, 12);
- pv077.rotateY( 11 * Math.PI / 6 );
- pv077.name = "6D_30_30w_077";
- scene.add(pv077);
- setMessage("3D", "Loaded PV077.");
- pv078 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv078.position.set(12, 0.5, 15);
- pv078.rotateY( 11 * Math.PI / 6 );
- pv078.name = "3D_30_30w_078";
- scene.add(pv078);
- setMessage("3D", "Loaded PV078.");
- pv079 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv079.position.set(14, 0.5, 9);
- pv079.rotateY( 11 * Math.PI / 6 );
- pv079.name = "1D_30_30w_079";
- scene.add(pv079);
- setMessage("3D", "Loaded PV079.");
- pv080 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv080.position.set(20, 0.5, -4);
- pv080.rotateY( 11 * Math.PI / 6 );
- pv080.name = "3A_45_30w_080";
- scene.add(pv080);
- setMessage("3D", "Loaded PV080.");
- pv081 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv081.position.set(21, 0.5, -7);
- pv081.rotateY( 11 * Math.PI / 6 );
- pv081.name = "1A_45_30w_081";
- scene.add(pv081);
- setMessage("3D", "Loaded PV081.");
- pv082 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv082.position.set(21.5, 0.5, -11);
- pv082.rotateY( 11 * Math.PI / 6 );
- pv082.name = "5A_45_30w_082";
- scene.add(pv082);
- setMessage("3D", "Loaded PV082.");
- pv083 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv083.position.set(24, 0.5, -21);
- pv083.rotateY( 11 * Math.PI / 6 );
- pv083.name = "6A_60_30w_083";
- scene.add(pv083);
- setMessage("3D", "Loaded PV083.");
- pv084 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv084.position.set(23, 0.5, -18);
- pv084.rotateY( 11 * Math.PI / 6 );
- pv084.name = "3A_60_30w_084";
- scene.add(pv084);
- setMessage("3D", "Loaded PV084.");
- pv085 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv085.position.set(23, 0.5, -14);
- pv085.rotateY( 11 * Math.PI / 6 );
- pv085.name = "1A_60_30w_085";
- scene.add(pv085);
- setMessage("3D", "Loaded PV085.");
- pv086 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv086.position.set(12, 0.5, 30.5);
- pv086.rotateY( 7 * Math.PI / 4 );
- pv086.name = "2A_15_45w_086";
- scene.add(pv086);
- setMessage("3D", "Loaded PV086.");
- pv087 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv087.position.set(16, 0.5, 30.5);
- pv087.rotateY( 7 * Math.PI / 4 );
- pv087.name = "1A_15_45w_087";
- scene.add(pv087);
- setMessage("3D", "Loaded PV087.");
- pv088 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv088.position.set(17, 0.5, 27.5);
- pv088.rotateY( 7 * Math.PI / 4 );
- pv088.name = "4A_15_45w_088";
- scene.add(pv088);
- setMessage("3D", "Loaded PV088.");
- pv089 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv089.position.set(20, 0.5, 11);
- pv089.rotateY( 7 * Math.PI / 4 );
- pv089.name = "6A_30_45w_089";
- scene.add(pv089);
- setMessage("3D", "Loaded PV089.");
- pv090 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv090.position.set(19, 0.5, 14);
- pv090.rotateY( 7 * Math.PI / 4 );
- pv090.name = "2A_30_45w_090";
- scene.add(pv090);
- setMessage("3D", "Loaded PV090.");
- pv091 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv091.position.set(29, 0.5, -14);
- pv091.rotateY( 7 * Math.PI / 4 );
- pv091.name = "2C_45_45w_091";
- scene.add(pv091);
- setMessage("3D", "Loaded PV091.");
- pv092 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv092.position.set(23, 0.5, 7);
- pv092.rotateY( 7 * Math.PI / 4 );
- pv092.name = "4C_45_45w_092";
- scene.add(pv092);
- setMessage("3D", "Loaded PV092.");
- pv093 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv093.position.set(30, 0.5, -18);
- pv093.rotateY( 7 * Math.PI / 4 );
- pv093.name = "6A_60_45w_093";
- scene.add(pv093);
- setMessage("3D", "Loaded PV093.");
- pv094 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv094.position.set(30, 0.5, -22);
- pv094.rotateY( 7 * Math.PI / 4 );
- pv094.name = "2A_60_45w_094";
- scene.add(pv094);
- setMessage("3D", "Loaded PV094.");
- pv095 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv095.position.set(15, 0.5, 34);
- pv095.rotateY( 5 * Math.PI / 3);
- pv095.name = "6A_15_60w_095";
- scene.add(pv095);
- setMessage("3D", "Loaded PV095.");
- pv096 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv096.position.set(14, 0.5, 37);
- pv096.rotateY( 5 * Math.PI / 3);
- pv096.name = "2A_15_60w_096";
- scene.add(pv096);
- setMessage("3D", "Loaded PV096.");
- pv097 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv097.position.set(16, 0.5, 20);
- pv097.rotateY( 5 * Math.PI / 3);
- pv097.name = "6A_30_60w_097";
- scene.add(pv097);
- setMessage("3D", "Loaded PV097.");
- pv098 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv098.position.set(17, 0.5, 17);
- pv098.rotateY( 5 * Math.PI / 3);
- pv098.name = "1A_30_60w_098";
- scene.add(pv098);
- setMessage("3D", "Loaded PV098.");
- pv099 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv099.position.set(25, 0.5, -1);
- pv099.rotateY( 5 * Math.PI / 3);
- pv099.name = "6A_45_60w_099";
- scene.add(pv099);
- setMessage("3D", "Loaded PV099.");
- pv100 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv100.position.set(22, 0.5, 2);
- pv100.rotateY( 5 * Math.PI / 3);
- pv100.name = "1A_45_60w_100";
- scene.add(pv100);
- setMessage("3D", "Loaded PV100.");
- pv101 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv101.position.set(28, 0.5, -10);
- pv101.rotateY( 5 * Math.PI / 3);
- pv101.name = "2C_60_60w_101";
- scene.add(pv101);
- setMessage("3D", "Loaded PV101.");
- pv102 = new THREE.Mesh(
- new THREE.CubeGeometry( 4, 1, 1 ),
- new THREE.MeshPhongMaterial( {
- color: 0xD3D3D3,
- specular: 0x050505,
- shininess: 100
- })
- );
- pv102.position.set(26, 0.5, -6);
- pv102.rotateY( 5 * Math.PI / 3);
- pv102.name = "1C_60_60w_102";
- scene.add(pv102);
- setMessage("3D", "Loaded PV102.");
- //scene.fog = new THREE.FogExp2( 0x000000, 0.0128 );
- //renderer.setClearColor( scene.fog.color, 1 );
- render();
- }
-
- function animate() {
- requestAnimationFrame(animate);
- if (enableControls){
- mycontrol.enabled = true;
- } else {
- mycontrol.enabled = false;
- }
-
- mycontrol.update();
- render();
- }
-
- var vector;
- function render() {
- /*
- var speed = 0.0002;
- var distance = 200;
- var timer = Date.now() * speed;
- camera.position.x = Math.cos(timer) * distance;
- camera.position.z = Math.sin(timer) * distance;
- camera.lookAt(scene.position);
- */
-
- // update the picking ray with the camera and mouse position
- raycaster.setFromCamera( mouse, camera );
- // calculate objects intersecting the picking ray
- var intersects = raycaster.intersectObjects( scene.children );
- for ( var i = 0; i < intersects.length; i++ ) {
- //intersects[ i ].object.material.color.set( 0xff0000 );
- //$("#obj-tooltip").text(intersects[ i ].object.name);
- if (intersects[ i ].object.name != "") {
- $("#obj-tooltip").text("Module: " + intersects[ i ].object.name);
- $("#val-tooltip").text("Value: " + data[ intersects[ i ].object.name ]);
- }
- }
-
- renderer.render(scene, camera);
-
- vector = camera.getWorldDirection();
- theta = Math.atan2(vector.x,vector.z);
- theta = theta + 3.142; // add/minux pi to inverse
- var degree = theta * (180/3.142);
- //console.log(degree);
- draw(degree);
- }
-
- $("#testTrigger").click(function() {
- console.log("clicked");
- pv001.material.color.setHex( 0x00ff00 );
- pv001.scale.y = 10;
- pv001.position.y = 5.5;
- setMessage("3D", "Updated PV001.");
- render();
- });
-
- $("#message").mousedown(function() {
- console.log("clicked");
- enableControls = false;
- setMessage("GUI", "De-select main scene. Click on main scene to re-select.");
- //render();
- });
-
- $("#orientation").mousedown(function() {
- console.log("clicked");
- enableControls = false;
- setMessage("GUI", "De-select main scene. Click on main scene to re-select.");
- //render();
- });
-
- $("#settings").mousedown(function() {
- console.log("clicked");
- enableControls = false;
- setMessage("GUI", "De-select main scene. Click on main scene to re-select.");
- //render();
- });
-
- $("#slider").mousedown(function() {
- console.log("clicked");
- enableControls = false;
- setMessage("GUI", "De-select main scene. Click on main scene to re-select.");
- //render();
- });
-
- $("#container").click(function() {
- console.log("clicked");
- enableControls = true;
- animate();
- setMessage("GUI", "Selected main scene.");
- });
- </script>
- <script>
- jQuery(window).load(function () {
- myTimer();
- var myVar = setInterval(myTimer, 10000);
- function myTimer() {
- var dataToSend = {};
- var object;
- var colour;
- var value;
-
- $.ajax({
- url: '/getdata/',
- type: 'GET',
- data: dataToSend,
- success: function (response) {
- //var objresponse = JSON.parse(response);
- console.log(response);
- data = response;
- var obj = response;
- for (var prop in obj) {
- value = obj[prop];
- if (prop == "time") {
- $("#slider-tooltip").text(value);
- } else {
- // 0 = red
- // 1 = green
- if (value == "") {
- colour = "0x808080";
- } else {
- if ( value == 0) {
- colour = "0xff0000";
- } else if (value == 3) {
- colour = "0x00ff00";
- }
- }
- object = scene.getObjectByName( prop, true );
- object.material.color.setHex( colour );
- }
- }
- },
- error: function () {
- console.log("Error.")
- }
- });
- }
- });
- </script>
- </body>
- </html>
|