123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980 |
- <!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"></div>
- <div id="obj-tooltip">Module: </div>
- <div id="val-tooltip">Value: </div>
- <!--<div id="stat-tooltip">Status: </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 src="https://dl.dropboxusercontent.com/u/3587259/Code/Threejs/CSS3DRenderer.js"></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 createLabel(name) {
- var text2 = document.createElement('div');
- text2.style.position = 'absolute';
- //text2.style.zIndex = 1; // if you still don't see the label, try uncommenting this
- text2.style.width = 100;
- text2.style.height = 100;
- text2.style.padding = "5px";
- text2.style.backgroundColor = '#303030';
- text2.style.color = '#fff';
- text2.innerHTML = name;
- //text2.style.top = 200 + 'px';
- //text2.style.left = 200 + 'px';
- text2.id = "text"+name;
- document.body.appendChild(text2);
- }
- 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 = new THREE.CSS3DRenderer();
- 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.");
- createLabel("001");
- 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.");
- createLabel("002");
- 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.");
- createLabel("003");
- 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.");
- createLabel("004");
- 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.");
- createLabel("005");
- 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.");
- createLabel("006");
- 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.");
- createLabel("007");
- 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.");
- createLabel("008");
- 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.");
- createLabel("009");
- 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.");
- createLabel("010");
- 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.");
- createLabel("011");
- 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.");
- createLabel("012");
- 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.");
- createLabel("013");
- 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.");
- createLabel("014");
- 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.");
- createLabel("015");
- 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.");
- createLabel("016");
- 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.");
- createLabel("017");
- 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.");
- createLabel("018");
- 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.");
- createLabel("019");
- 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.");
- createLabel("020");
- 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.");
- createLabel("021");
- 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.");
- createLabel("022");
- 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.");
- createLabel("023");
- 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.");
- createLabel("024");
- 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.");
- createLabel("025");
- 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.");
- createLabel("026");
- 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.");
- createLabel("027");
- 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.");
- createLabel("028");
- 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.");
- createLabel("029");
- 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.");
- createLabel("030");
- 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.");
- createLabel("031");
- 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.");
- createLabel("032");
- 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.");
- createLabel("033");
-
- 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.");
- createLabel("034");
- 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.");
- createLabel("035");
- 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.");
- createLabel("036");
- 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.");
- createLabel("037");
- 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.");
- createLabel("038");
- 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.");
- createLabel("039");
- 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.");
- createLabel("040");
- 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.");
- createLabel("041");
- 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.");
- createLabel("042");
- 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.");
- createLabel("043");
- 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.");
- createLabel("044");
- 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.");
- createLabel("045");
- 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.");
- createLabel("046");
- 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.");
- createLabel("047");
- 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.");
- createLabel("048");
- 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.");
- createLabel("049");
- 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.");
- createLabel("050");
- 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.");
- createLabel("051");
- 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.");
- createLabel("052");
- 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.");
- createLabel("053");
- 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.");
- createLabel("054");
- 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.");
- createLabel("055");
- 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.");
- createLabel("056");
- 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.");
- createLabel("057");
- 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.");
- createLabel("058");
- 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.");
- createLabel("059");
- 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.");
- createLabel("060");
- 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.");
- createLabel("061");
- 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.");
- createLabel("062");
- 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.");
- createLabel("063");
- 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.");
- createLabel("064");
- 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.");
- createLabel("065");
- 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.");
- createLabel("066");
- 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.");
- createLabel("067");
- 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.");
- createLabel("068");
- 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.");
- createLabel("069");
- 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.");
- createLabel("070");
- 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.");
- createLabel("071");
- 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.");
- createLabel("072");
- 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.");
- createLabel("073");
- 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.");
- createLabel("074");
- 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);
- createLabel("075");
- 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.");
- createLabel("076");
- 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.");
- createLabel("077");
- 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.");
- createLabel("078");
- 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.");
- createLabel("079");
- 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.");
- createLabel("080");
- 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.");
- createLabel("081");
- 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.");
- createLabel("082");
- 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.");
- createLabel("083");
- 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.");
- createLabel("084");
- 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.");
- createLabel("085");
- 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.");
- createLabel("086");
- 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.");
- createLabel("087");
- 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.");
- createLabel("088");
- 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.");
- createLabel("089");
- 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.");
- createLabel("090");
- 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.");
- createLabel("091");
- 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.");
- createLabel("092");
- 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.");
- createLabel("093");
- 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.");
- createLabel("094");
- 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.");
- createLabel("095");
- 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.");
- createLabel("096");
- 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.");
- createLabel("097");
- 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.");
- createLabel("098");
- 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.");
- createLabel("099");
- 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.");
- createLabel("100");
- 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.");
- createLabel("101");
- 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.");
- createLabel("102");
- //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);
- */
- //console.log(camera.position);
- // if camera.position.y more than 90 then show module number
- scene.traverse( function( node ) {
- if (node.name != "") {
- //console.log(node.name);
- var _id = node.name;
- _id = "#" + _id.split("_")[-1];
- if (camera.position.y > 0) {
- //console.log(scene.children);
- var obj1 = scene.getObjectByName( node.name );
- var width = window.innerWidth, height = window.innerHeight;
- var widthHalf = width / 2, heightHalf = height / 2;
- var pos = obj1.position.clone();
- pos.project(camera);
- pos.x = ( pos.x * widthHalf ) + widthHalf;
- pos.y = - ( pos.y * heightHalf ) + heightHalf;
- $(_id).show();
- $(_id).css("top", pos.y + 'px');
- $(_id).css("left", (pos.x-10) + 'px');
- //console.log(pos);
- } else {
- $(_id).hide();
- }
- }
- });
- /*
- if (camera.position.y > 0) {
- //console.log(scene.children);
- var obj1 = scene.getObjectByName( "2A_15_60e_001" );
- var width = window.innerWidth, height = window.innerHeight;
- var widthHalf = width / 2, heightHalf = height / 2;
- var pos = obj1.position.clone();
- pos.project(camera);
- pos.x = ( pos.x * widthHalf ) + widthHalf;
- pos.y = - ( pos.y * heightHalf ) + heightHalf;
- $("#text001").show();
- $("#text001").css("top", pos.y + 'px');
- $("#text001").css("left", (pos.x-10) + 'px');
- //console.log(pos);
- } else {
- $("#text001").hide();
- }
- */
-
- // 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 );
- //console.log("Check intersection");
- //console.log(intersects);
- 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 <= 0) {
- colour = "0xff0000";
- } else {
- colour = "0x00ff00";
- }
-
- object = scene.getObjectByName( prop, true );
- object.material.color.setHex( colour );
- }
- }
- },
- error: function () {
- console.log("Error.")
- }
- });
- }
- });
- </script>
- </body>
- </html>
|