diff --git a/viz/build/linq.d.ts b/viz/build/linq.d.ts new file mode 100644 index 0000000..7e0d05f --- /dev/null +++ b/viz/build/linq.d.ts @@ -0,0 +1,13 @@ +declare var container: HTMLDivElement; +declare var camera: THREE.PerspectiveCamera; +declare var scene: THREE.Scene; +declare var renderer: THREE.CanvasRenderer; +declare var group: THREE.Group; +declare var mouseX: number, mouseY: number; +declare var windowHalfX: number; +declare var windowHalfY: number; +declare function init(): void; +declare function onWindowResize(): void; +declare function onDocumentMouseMove(event: any): void; +declare function animate(): void; +declare function render(): void; diff --git a/viz/build/linq.js b/viz/build/linq.js new file mode 100644 index 0000000..857e288 --- /dev/null +++ b/viz/build/linq.js @@ -0,0 +1,66 @@ +var container; +var camera; +var scene; +var renderer; +var group; +var mouseX = 0, mouseY = 0; +var windowHalfX = window.innerWidth / 2; +var windowHalfY = window.innerHeight / 2; +document.addEventListener('mousemove', onDocumentMouseMove, false); +init(); +animate(); +function init() { + container = document.createElement('div'); + document.body.appendChild(container); + camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 1, 10000); + camera.position.z = 500; + scene = new THREE.Scene(); + scene.background = new THREE.Color(0xffffff); + var geometry = new THREE.BoxBufferGeometry(100, 100, 100); + var material = new THREE.MeshNormalMaterial({ overdraw: 0.5 }); + group = new THREE.Group(); + for (var i = 0; i < 200; i++) { + var mesh = new THREE.Mesh(geometry, material); + mesh.position.x = Math.random() * 2000 - 1000; + mesh.position.y = Math.random() * 2000 - 1000; + mesh.position.z = Math.random() * 2000 - 1000; + mesh.rotation.x = Math.random() * 2 * Math.PI; + mesh.rotation.y = Math.random() * 2 * Math.PI; + mesh.matrixAutoUpdate = false; + mesh.updateMatrix(); + group.add(mesh); + } + scene.add(group); + renderer = new THREE.CanvasRenderer(); + renderer.setPixelRatio(window.devicePixelRatio); + renderer.setSize(window.innerWidth, window.innerHeight); + container.appendChild(renderer.domElement); + window.addEventListener('resize', onWindowResize, false); +} +function onWindowResize() { + windowHalfX = window.innerWidth / 2; + windowHalfY = window.innerHeight / 2; + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + renderer.setSize(window.innerWidth, window.innerHeight); +} +function onDocumentMouseMove(event) { + mouseX = (event.clientX - windowHalfX) * 10; + mouseY = (event.clientY - windowHalfY) * 10; +} +// +function animate() { + requestAnimationFrame(animate); + render(); +} +function render() { + camera.position.x += (mouseX - camera.position.x) * .05; + camera.position.y += (-mouseY - camera.position.y) * .05; + camera.lookAt(scene.position); + var currentSeconds = Date.now(); + group.rotation.x = Math.sin(currentSeconds * 0.0007) * 0.5; + group.rotation.y = Math.sin(currentSeconds * 0.0003) * 0.5; + group.rotation.z = Math.sin(currentSeconds * 0.0002) * 0.5; + renderer.render(scene, camera); +} +//# sourceMappingURL=linq.js.map \ No newline at end of file diff --git a/viz/build/linq.js.map b/viz/build/linq.js.map new file mode 100644 index 0000000..557734e --- /dev/null +++ b/viz/build/linq.js.map @@ -0,0 +1 @@ +{"version":3,"file":"linq.js","sourceRoot":"","sources":["../test/treeTest/server.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/viz/test/treeTest/3DApp.ts b/viz/test/treeTest/3DApp.ts new file mode 100644 index 0000000..c587cff --- /dev/null +++ b/viz/test/treeTest/3DApp.ts @@ -0,0 +1,101 @@ +var container: HTMLDivElement; + +var camera: THREE.PerspectiveCamera; +var scene: THREE.Scene; +var renderer: THREE.CanvasRenderer; + +var group: THREE.Group; + +var mouseX = 0, mouseY = 0; + +var windowHalfX = window.innerWidth / 2; +var windowHalfY = window.innerHeight / 2; + +document.addEventListener('mousemove', onDocumentMouseMove, false); + +init(); +animate(); + +function init() { + + container = document.createElement('div'); + document.body.appendChild(container); + + camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 1, 10000); + camera.position.z = 500; + + scene = new THREE.Scene(); + scene.background = new THREE.Color(0xffffff); + + var geometry = new THREE.BoxBufferGeometry(100, 100, 100); + var material = new THREE.MeshNormalMaterial({ overdraw: 0.5 }); + + group = new THREE.Group(); + + for (var i = 0; i < 200; i++) { + + var mesh = new THREE.Mesh(geometry, material); + mesh.position.x = Math.random() * 2000 - 1000; + mesh.position.y = Math.random() * 2000 - 1000; + mesh.position.z = Math.random() * 2000 - 1000; + mesh.rotation.x = Math.random() * 2 * Math.PI; + mesh.rotation.y = Math.random() * 2 * Math.PI; + mesh.matrixAutoUpdate = false; + mesh.updateMatrix(); + group.add(mesh); + + } + + scene.add(group); + + renderer = new THREE.CanvasRenderer(); + renderer.setPixelRatio(window.devicePixelRatio); + renderer.setSize(window.innerWidth, window.innerHeight); + container.appendChild(renderer.domElement); + + window.addEventListener('resize', onWindowResize, false); + +} + +function onWindowResize() { + + windowHalfX = window.innerWidth / 2; + windowHalfY = window.innerHeight / 2; + + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + + renderer.setSize(window.innerWidth, window.innerHeight); + +} + +function onDocumentMouseMove(event) { + + mouseX = (event.clientX - windowHalfX) * 10; + mouseY = (event.clientY - windowHalfY) * 10; + +} + +// + +function animate() { + + requestAnimationFrame(animate); + + render(); +} + +function render() { + + camera.position.x += (mouseX - camera.position.x) * .05; + camera.position.y += (- mouseY - camera.position.y) * .05; + camera.lookAt(scene.position); + + var currentSeconds = Date.now(); + group.rotation.x = Math.sin(currentSeconds * 0.0007) * 0.5; + group.rotation.y = Math.sin(currentSeconds * 0.0003) * 0.5; + group.rotation.z = Math.sin(currentSeconds * 0.0002) * 0.5; + + renderer.render(scene, camera); + +} \ No newline at end of file diff --git a/viz/test/treeTest/README.md b/viz/test/treeTest/README.md new file mode 100644 index 0000000..1c666a1 --- /dev/null +++ b/viz/test/treeTest/README.md @@ -0,0 +1,3 @@ +# treeTest + + diff --git a/viz/test/treeTest/package-lock.json b/viz/test/treeTest/package-lock.json new file mode 100644 index 0000000..554fb04 --- /dev/null +++ b/viz/test/treeTest/package-lock.json @@ -0,0 +1,27 @@ +{ + "name": "tree-test", + "version": "0.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@types/node": { + "version": "8.10.29", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.29.tgz", + "integrity": "sha512-zbteaWZ2mdduacm0byELwtRyhYE40aK+pAanQk415gr1eRuu67x7QGOLmn8jz5zI8LDK7d0WI/oT6r5Trz4rzQ==", + "dev": true + }, + "@types/three": { + "version": "0.92.18", + "resolved": "https://registry.npmjs.org/@types/three/-/three-0.92.18.tgz", + "integrity": "sha512-UtF8lf2LKnvo/ORGvX1CKLVld0ZWzkUUSrmc9LssHo6jfXG7t7SgVfMZ4IkvrNBTd4eqQP1MlaEH2enbKfh8NA==", + "requires": { + "@types/webvr-api": "0.0.34" + } + }, + "@types/webvr-api": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/webvr-api/-/webvr-api-0.0.34.tgz", + "integrity": "sha512-gVAPKK+L1blPJCFnUDmkIdRfIU8xbwl05MDXPRjnjoeDXUUzR6frPuyx9RQz+OCodmxlBcJOkjVTMTZi1BcuZw==" + } + } +} diff --git a/viz/test/treeTest/package.json b/viz/test/treeTest/package.json new file mode 100644 index 0000000..664f25f --- /dev/null +++ b/viz/test/treeTest/package.json @@ -0,0 +1,15 @@ +{ + "name": "tree-test", + "version": "0.0.0", + "description": "treeTest", + "main": "server.js", + "author": { + "name": "" + }, + "devDependencies": { + "@types/node": "^8.0.14" + }, + "dependencies": { + "@types/three": "^0.92.18" + } +} diff --git a/viz/test/treeTest/treeTest.njsproj b/viz/test/treeTest/treeTest.njsproj new file mode 100644 index 0000000..ebfa32a --- /dev/null +++ b/viz/test/treeTest/treeTest.njsproj @@ -0,0 +1,85 @@ + + + + 14.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + treeTest + treeTest + Debug|Any CPU + True + + + + Debug + 2.0 + 1b3989a2-4334-4b78-a666-4d65f1f64141 + . + 3DApp.ts + True + + + . + . + v4.0 + {3AF33F2E-1136-4D97-BBB7-1795711AC8B8};{349c5851-65df-11da-9384-00065b846f21};{9092AA53-FB77-4645-B42D-1CCCA6BD08BD} + 1337 + true + CommonJS + 2.8 + true + True + + + true + + + true + + + + + + + + + + + + + + + False + True + 0 + / + http://localhost:48022/ + False + True + http://localhost:1337 + False + + + + + + + CurrentPage + True + False + False + False + + + + + + + + + False + False + + + + + \ No newline at end of file diff --git a/viz/test/treeTest/treeTest.sln b/viz/test/treeTest/treeTest.sln new file mode 100644 index 0000000..c78acb4 --- /dev/null +++ b/viz/test/treeTest/treeTest.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28010.2019 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9092AA53-FB77-4645-B42D-1CCCA6BD08BD}") = "treeTest", "treeTest.njsproj", "{1B3989A2-4334-4B78-A666-4D65F1F64141}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1B3989A2-4334-4B78-A666-4D65F1F64141}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1B3989A2-4334-4B78-A666-4D65F1F64141}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1B3989A2-4334-4B78-A666-4D65F1F64141}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1B3989A2-4334-4B78-A666-4D65F1F64141}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {78D8450B-34CA-4E02-BF96-556A21EAB5F6} + EndGlobalSection +EndGlobal diff --git a/viz/test/treeTest/tsconfig.json b/viz/test/treeTest/tsconfig.json new file mode 100644 index 0000000..67837c5 --- /dev/null +++ b/viz/test/treeTest/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "module": "amd", + "target": "es5", + "lib": [ "dom", "es5", "dom.iterable", "scripthost" ], + "sourceMap": true, + "allowSyntheticDefaultImports": true, + "outDir": "../dist", + "outFile": "../../build/linq.js", + "declaration": true + }, + "exclude": [ + "node_modules" + ] +}