From 445219b013c45420b4777ce5b5efc54023a30823 Mon Sep 17 00:00:00 2001
From: Thomas FORGIONE
Date: Thu, 23 Apr 2015 17:49:59 +0200
Subject: [PATCH] From python CGI to jekyll stuff
---
CNAME | 1 +
HermiteTest/index.html | 18 +-
HermiteTest/index.py | 28 -
README.md | 3 -
templates/body.html => _layouts/main.html | 15 +-
_layouts/withjs.html | 23 +
bouncing/index.html | 21 +-
bouncing/index.py | 28 -
errors/403/index.html | 10 -
errors/403/index.py | 23 -
errors/404/index.html | 10 -
errors/404/index.py | 23 -
errors/500/index.html | 10 -
errors/500/index.py | 23 -
img/python-powered.svg | 4571 -----------------
index.html | 90 +-
index.py | 9 -
multisphere/index.html | 24 +-
multisphere/index.py | 28 -
prototype/index.html | 59 +-
prototype/index.py | 33 -
prototype/js/gen.py | 49 -
{css => static/css}/style.css | 0
{data => static/data}/castle/154B175A_c.bmp | Bin
{data => static/data}/castle/16CBEF1C_c.bmp | Bin
{data => static/data}/castle/1916F8C5_c.bmp | Bin
{data => static/data}/castle/19D5421D_c.bmp | Bin
{data => static/data}/castle/1D0CA178_c.bmp | Bin
{data => static/data}/castle/1FEE462_c.bmp | Bin
{data => static/data}/castle/20EF7F7C_c.bmp | Bin
{data => static/data}/castle/3AB7B2BC_c.bmp | Bin
{data => static/data}/castle/3C6851DA_c.bmp | Bin
{data => static/data}/castle/49254A53_c.bmp | Bin
{data => static/data}/castle/5EDC83BD_c.bmp | Bin
{data => static/data}/castle/60A64656_c.bmp | Bin
{data => static/data}/castle/61BE951F_c.bmp | Bin
{data => static/data}/castle/6AE21407_c.bmp | Bin
{data => static/data}/castle/6DAF90F6_c.bmp | Bin
{data => static/data}/castle/7EB1C6A1_c.bmp | Bin
{data => static/data}/castle/Castle.zip | Bin
.../data}/castle/Masks/148EB7B9_a.bmp | Bin
.../data}/castle/Masks/1FEE462_a.bmp | Bin
.../data}/castle/Masks/3C6851DA_a.bmp | Bin
.../data}/castle/Masks/5EDC83BD_a.bmp | Bin
.../data}/castle/Masks/7EB1C6A1_a.bmp | Bin
{data => static/data}/castle/Masks/Thumbs.db | Bin
{data => static/data}/castle/Readme.txt | 0
.../data}/castle/Sky texture/3FA1757A_c.bmp | Bin
.../data}/castle/Sky texture/401FFEF3_c.bmp | Bin
.../data}/castle/Sky texture/41BAF66_c.bmp | Bin
.../data}/castle/Sky texture/452E0376_c.bmp | Bin
.../data}/castle/Sky texture/64B5A924_c.bmp | Bin
.../data}/castle/Sky texture/73058137_c.bmp | Bin
.../data}/castle/Sky texture/7A3E773_c.bmp | Bin
.../data}/castle/Sky texture/823E4B9_c.bmp | Bin
.../data}/castle/Sky texture/954754D_c.bmp | Bin
.../data}/castle/Sky texture/Thumbs.db | Bin
.../princess peaches castle (outside).mtl | 0
.../princess peaches castle (outside).obj | 0
.../princess peaches castle (outside)_grp.png | Bin
.../tree texture and mask/1E114049_a.bmp | Bin
.../tree texture and mask/1E114049_c.bmp | Bin
.../castle/tree texture and mask/Thumbs.db | Bin
{data => static/data}/first/3C96C6A_c.bmp | Bin
{data => static/data}/first/48F5B267_c.bmp | Bin
{data => static/data}/first/5C3492AB_c.png | Bin
{data => static/data}/first/6B88A261_c.bmp | Bin
{data => static/data}/first/6E3E7EFA_c.bmp | Bin
{data => static/data}/first/777F0E0B_c.png | Bin
{data => static/data}/first/77928504_c.png | Bin
{data => static/data}/first/7A7501A5_c.bmp | Bin
{data => static/data}/first/7F0DBBD7_c.bmp | Bin
{data => static/data}/first/Floor 1.mtl | 0
{data => static/data}/first/Floor 1.obj | 0
{data => static/data}/first/Sky_grp.png | Bin
{data => static/data}/first/readme.txt | 0
{data => static/data}/first/toto.zip | Bin
{data => static/data}/spheres/1.obj | 0
{data => static/data}/spheres/10.obj | 0
{data => static/data}/spheres/11.obj | 0
{data => static/data}/spheres/12.obj | 0
{data => static/data}/spheres/13.obj | 0
{data => static/data}/spheres/14.obj | 0
{data => static/data}/spheres/15.obj | 0
{data => static/data}/spheres/16.obj | 0
{data => static/data}/spheres/17.obj | 0
{data => static/data}/spheres/18.obj | 0
{data => static/data}/spheres/19.obj | 0
{data => static/data}/spheres/2.obj | 0
{data => static/data}/spheres/20.obj | 0
{data => static/data}/spheres/21.obj | 0
{data => static/data}/spheres/22.obj | 0
{data => static/data}/spheres/23.obj | 0
{data => static/data}/spheres/24.obj | 0
{data => static/data}/spheres/25.obj | 0
{data => static/data}/spheres/3.obj | 0
{data => static/data}/spheres/4.obj | 0
{data => static/data}/spheres/5.obj | 0
{data => static/data}/spheres/6.obj | 0
{data => static/data}/spheres/7.obj | 0
{data => static/data}/spheres/8.obj | 0
{data => static/data}/spheres/9.obj | 0
{js => static/js}/BouncingCube.js | 0
{js => static/js}/BufferGeometryToGeometry.js | 0
{js => static/js}/Camera.js | 0
{js => static/js}/CameraContainer.js | 0
{js => static/js}/Cube.js | 0
{js => static/js}/FixedCamera.js | 2 +-
{js => static/js}/Hermite.js | 0
.../js/HermiteTest}/HermiteTest.js | 0
{js => static/js}/PointerCamera.js | 0
{js => static/js}/ProgressiveSphere.js | 0
{js => static/js}/Tools.js | 0
{js => static/js}/ToolsTest.js | 0
.../js => static/js/bouncing}/BouncingMain.js | 0
.../js/multisphere}/MultiSphere.js | 2 +-
{prototype/js => static/js/prototype}/main.js | 23 +-
{stream/js => static/js/stream}/main.js | 0
{js => static/js}/three.js | 0
{js => static/js}/three/DDSLoader.js | 0
{js => static/js}/three/MTLLoader.js | 0
{js => static/js}/three/OBJLoader.js | 0
{js => static/js}/three/OBJMTLLoader.js | 0
{js => static/js}/three/OrbitControls.js | 0
{js => static/js}/three/stats.min.js | 0
{js => static/js}/three/three.min.js | 0
stream/index.html | 40 +-
stream/index.py | 48 -
templates/.htaccess | 1 -
templates/head.html | 7 -
templates/jsIncludes.html | 18 -
templates/page.html | 4 -
webtools/.htaccess | 1 -
webtools/Web.py | 61 -
webtools/__init__.py | 0
135 files changed, 194 insertions(+), 5112 deletions(-)
create mode 100644 CNAME
delete mode 100755 HermiteTest/index.py
delete mode 100644 README.md
rename templates/body.html => _layouts/main.html (52%)
create mode 100644 _layouts/withjs.html
delete mode 100755 bouncing/index.py
delete mode 100644 errors/403/index.html
delete mode 100755 errors/403/index.py
delete mode 100644 errors/404/index.html
delete mode 100755 errors/404/index.py
delete mode 100644 errors/500/index.html
delete mode 100755 errors/500/index.py
delete mode 100644 img/python-powered.svg
delete mode 100755 index.py
delete mode 100755 multisphere/index.py
delete mode 100755 prototype/index.py
delete mode 100755 prototype/js/gen.py
rename {css => static/css}/style.css (100%)
rename {data => static/data}/castle/154B175A_c.bmp (100%)
rename {data => static/data}/castle/16CBEF1C_c.bmp (100%)
rename {data => static/data}/castle/1916F8C5_c.bmp (100%)
rename {data => static/data}/castle/19D5421D_c.bmp (100%)
rename {data => static/data}/castle/1D0CA178_c.bmp (100%)
rename {data => static/data}/castle/1FEE462_c.bmp (100%)
rename {data => static/data}/castle/20EF7F7C_c.bmp (100%)
rename {data => static/data}/castle/3AB7B2BC_c.bmp (100%)
rename {data => static/data}/castle/3C6851DA_c.bmp (100%)
rename {data => static/data}/castle/49254A53_c.bmp (100%)
rename {data => static/data}/castle/5EDC83BD_c.bmp (100%)
rename {data => static/data}/castle/60A64656_c.bmp (100%)
rename {data => static/data}/castle/61BE951F_c.bmp (100%)
rename {data => static/data}/castle/6AE21407_c.bmp (100%)
rename {data => static/data}/castle/6DAF90F6_c.bmp (100%)
rename {data => static/data}/castle/7EB1C6A1_c.bmp (100%)
rename {data => static/data}/castle/Castle.zip (100%)
rename {data => static/data}/castle/Masks/148EB7B9_a.bmp (100%)
rename {data => static/data}/castle/Masks/1FEE462_a.bmp (100%)
rename {data => static/data}/castle/Masks/3C6851DA_a.bmp (100%)
rename {data => static/data}/castle/Masks/5EDC83BD_a.bmp (100%)
rename {data => static/data}/castle/Masks/7EB1C6A1_a.bmp (100%)
rename {data => static/data}/castle/Masks/Thumbs.db (100%)
rename {data => static/data}/castle/Readme.txt (100%)
rename {data => static/data}/castle/Sky texture/3FA1757A_c.bmp (100%)
rename {data => static/data}/castle/Sky texture/401FFEF3_c.bmp (100%)
rename {data => static/data}/castle/Sky texture/41BAF66_c.bmp (100%)
rename {data => static/data}/castle/Sky texture/452E0376_c.bmp (100%)
rename {data => static/data}/castle/Sky texture/64B5A924_c.bmp (100%)
rename {data => static/data}/castle/Sky texture/73058137_c.bmp (100%)
rename {data => static/data}/castle/Sky texture/7A3E773_c.bmp (100%)
rename {data => static/data}/castle/Sky texture/823E4B9_c.bmp (100%)
rename {data => static/data}/castle/Sky texture/954754D_c.bmp (100%)
rename {data => static/data}/castle/Sky texture/Thumbs.db (100%)
rename {data => static/data}/castle/princess peaches castle (outside).mtl (100%)
rename {data => static/data}/castle/princess peaches castle (outside).obj (100%)
rename {data => static/data}/castle/princess peaches castle (outside)_grp.png (100%)
rename {data => static/data}/castle/tree texture and mask/1E114049_a.bmp (100%)
rename {data => static/data}/castle/tree texture and mask/1E114049_c.bmp (100%)
rename {data => static/data}/castle/tree texture and mask/Thumbs.db (100%)
rename {data => static/data}/first/3C96C6A_c.bmp (100%)
rename {data => static/data}/first/48F5B267_c.bmp (100%)
rename {data => static/data}/first/5C3492AB_c.png (100%)
rename {data => static/data}/first/6B88A261_c.bmp (100%)
rename {data => static/data}/first/6E3E7EFA_c.bmp (100%)
rename {data => static/data}/first/777F0E0B_c.png (100%)
rename {data => static/data}/first/77928504_c.png (100%)
rename {data => static/data}/first/7A7501A5_c.bmp (100%)
rename {data => static/data}/first/7F0DBBD7_c.bmp (100%)
rename {data => static/data}/first/Floor 1.mtl (100%)
rename {data => static/data}/first/Floor 1.obj (100%)
rename {data => static/data}/first/Sky_grp.png (100%)
rename {data => static/data}/first/readme.txt (100%)
rename {data => static/data}/first/toto.zip (100%)
rename {data => static/data}/spheres/1.obj (100%)
rename {data => static/data}/spheres/10.obj (100%)
rename {data => static/data}/spheres/11.obj (100%)
rename {data => static/data}/spheres/12.obj (100%)
rename {data => static/data}/spheres/13.obj (100%)
rename {data => static/data}/spheres/14.obj (100%)
rename {data => static/data}/spheres/15.obj (100%)
rename {data => static/data}/spheres/16.obj (100%)
rename {data => static/data}/spheres/17.obj (100%)
rename {data => static/data}/spheres/18.obj (100%)
rename {data => static/data}/spheres/19.obj (100%)
rename {data => static/data}/spheres/2.obj (100%)
rename {data => static/data}/spheres/20.obj (100%)
rename {data => static/data}/spheres/21.obj (100%)
rename {data => static/data}/spheres/22.obj (100%)
rename {data => static/data}/spheres/23.obj (100%)
rename {data => static/data}/spheres/24.obj (100%)
rename {data => static/data}/spheres/25.obj (100%)
rename {data => static/data}/spheres/3.obj (100%)
rename {data => static/data}/spheres/4.obj (100%)
rename {data => static/data}/spheres/5.obj (100%)
rename {data => static/data}/spheres/6.obj (100%)
rename {data => static/data}/spheres/7.obj (100%)
rename {data => static/data}/spheres/8.obj (100%)
rename {data => static/data}/spheres/9.obj (100%)
rename {js => static/js}/BouncingCube.js (100%)
rename {js => static/js}/BufferGeometryToGeometry.js (100%)
rename {js => static/js}/Camera.js (100%)
rename {js => static/js}/CameraContainer.js (100%)
rename {js => static/js}/Cube.js (100%)
rename {js => static/js}/FixedCamera.js (99%)
rename {js => static/js}/Hermite.js (100%)
rename {HermiteTest/js => static/js/HermiteTest}/HermiteTest.js (100%)
rename {js => static/js}/PointerCamera.js (100%)
rename {js => static/js}/ProgressiveSphere.js (100%)
rename {js => static/js}/Tools.js (100%)
rename {js => static/js}/ToolsTest.js (100%)
rename {bouncing/js => static/js/bouncing}/BouncingMain.js (100%)
rename {multisphere/js => static/js/multisphere}/MultiSphere.js (97%)
rename {prototype/js => static/js/prototype}/main.js (94%)
rename {stream/js => static/js/stream}/main.js (100%)
rename {js => static/js}/three.js (100%)
rename {js => static/js}/three/DDSLoader.js (100%)
rename {js => static/js}/three/MTLLoader.js (100%)
rename {js => static/js}/three/OBJLoader.js (100%)
rename {js => static/js}/three/OBJMTLLoader.js (100%)
rename {js => static/js}/three/OrbitControls.js (100%)
rename {js => static/js}/three/stats.min.js (100%)
rename {js => static/js}/three/three.min.js (100%)
delete mode 100755 stream/index.py
delete mode 100644 templates/.htaccess
delete mode 100644 templates/head.html
delete mode 100644 templates/jsIncludes.html
delete mode 100644 templates/page.html
delete mode 100644 webtools/.htaccess
delete mode 100755 webtools/Web.py
delete mode 100644 webtools/__init__.py
diff --git a/CNAME b/CNAME
new file mode 100644
index 0000000..4d7d667
--- /dev/null
+++ b/CNAME
@@ -0,0 +1 @@
+3dinterface.no-ip.org
diff --git a/HermiteTest/index.html b/HermiteTest/index.html
index de5e12e..b24c4df 100644
--- a/HermiteTest/index.html
+++ b/HermiteTest/index.html
@@ -1,7 +1,11 @@
-
- Hermite test
-
-
-
-#
-
+---
+layout: withjs
+title: Hermite Test
+extrajs:
+---
+
+
diff --git a/HermiteTest/index.py b/HermiteTest/index.py
deleted file mode 100755
index f3cc931..0000000
--- a/HermiteTest/index.py
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/python
-# -*- coding: utf-8 -*-
-
-import sys
-from webtools import Web
-
-def main():
- print('Content-type: text/html')
- print()
-
- page = Web.Element(Web.ROOT_DIR + 'templates/page.html')
- head = Web.Element(Web.ROOT_DIR + 'templates/head.html')
- body = Web.Element(Web.ROOT_DIR + 'templates/body.html')
- jsIncludes = Web.Element(Web.ROOT_DIR + 'templates/jsIncludes.html')
- mainJs = Web.Element()
- mainJs.open_string = ' '
- content = Web.Element('index.html')
-
- page.add_child(head)
- page.add_child(body)
- body.add_child(content)
- body.add_child(jsIncludes)
- jsIncludes.add_child(mainJs)
-
- page.print()
-
-if __name__ == '__main__':
- main()
diff --git a/README.md b/README.md
deleted file mode 100644
index f0a126a..0000000
--- a/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# 3D Interface
-
-Various 3d interfaces based on Three.js
diff --git a/templates/body.html b/_layouts/main.html
similarity index 52%
rename from templates/body.html
rename to _layouts/main.html
index 26c64c2..a90adb1 100644
--- a/templates/body.html
+++ b/_layouts/main.html
@@ -1,6 +1,14 @@
+
+
+
+ 3DUI - {{ page.title }}
+
+
+
+
- Welcome !
+ Welcome !
-#
+ {{ content }}
+ {{ page.extrajs }}
+
+
diff --git a/_layouts/withjs.html b/_layouts/withjs.html
new file mode 100644
index 0000000..3b3a8bc
--- /dev/null
+++ b/_layouts/withjs.html
@@ -0,0 +1,23 @@
+---
+layout: main
+---
+{{ content }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bouncing/index.html b/bouncing/index.html
index 7e56794..486918e 100644
--- a/bouncing/index.html
+++ b/bouncing/index.html
@@ -1,8 +1,13 @@
-
- Bouncing cube
-
- Click on the cube to make it jump !
-
-
-#
-
+---
+layout: withjs
+title: Bouncing cube
+extrajs:
+---
+
+ Bouncing cube
+
+ Click on the cube to make it jump !
+
+
+
+
diff --git a/bouncing/index.py b/bouncing/index.py
deleted file mode 100755
index cdb72a9..0000000
--- a/bouncing/index.py
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/python
-# -*- coding: utf-8 -*-
-
-import sys
-from webtools import Web
-
-def main():
- print('Content-type: text/html')
- print()
-
- page = Web.Element(Web.ROOT_DIR + 'templates/page.html')
- head = Web.Element(Web.ROOT_DIR + 'templates/head.html')
- body = Web.Element(Web.ROOT_DIR + 'templates/body.html')
- jsIncludes = Web.Element(Web.ROOT_DIR + 'templates/jsIncludes.html')
- mainJs = Web.Element()
- mainJs.open_string = ' '
- content = Web.Element('index.html')
-
- page.add_child(head)
- page.add_child(body)
- body.add_child(content)
- body.add_child(jsIncludes)
- jsIncludes.add_child(mainJs)
-
- page.print()
-
-if __name__ == '__main__':
- main()
diff --git a/errors/403/index.html b/errors/403/index.html
deleted file mode 100644
index 45ed43a..0000000
--- a/errors/403/index.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
- Error 403
-
- You're not supposed to be here :o
-
-
- Please go back to the index or wherever you want...
-
-#
-
diff --git a/errors/403/index.py b/errors/403/index.py
deleted file mode 100755
index 117f8db..0000000
--- a/errors/403/index.py
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/bin/python
-# -*- coding: utf-8 -*-
-
-import sys
-from webtools import Web
-
-def main():
- print('Content-type: text/html')
- print()
-
- page = Web.Element(Web.ROOT_DIR + 'templates/page.html')
- head = Web.Element(Web.ROOT_DIR + 'templates/head.html')
- body = Web.Element(Web.ROOT_DIR + 'templates/body.html')
- content = Web.Element('index.html')
-
- page.add_child(head)
- page.add_child(body)
- body.add_child(content)
-
- page.print()
-
-if __name__ == '__main__':
- main()
diff --git a/errors/404/index.html b/errors/404/index.html
deleted file mode 100644
index 66c649b..0000000
--- a/errors/404/index.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
- Error 404
-
- The page you requested was not found... this is annoying :s
-
-
- You can go back to the index or wherever you want...
-
-#
-
diff --git a/errors/404/index.py b/errors/404/index.py
deleted file mode 100755
index 117f8db..0000000
--- a/errors/404/index.py
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/bin/python
-# -*- coding: utf-8 -*-
-
-import sys
-from webtools import Web
-
-def main():
- print('Content-type: text/html')
- print()
-
- page = Web.Element(Web.ROOT_DIR + 'templates/page.html')
- head = Web.Element(Web.ROOT_DIR + 'templates/head.html')
- body = Web.Element(Web.ROOT_DIR + 'templates/body.html')
- content = Web.Element('index.html')
-
- page.add_child(head)
- page.add_child(body)
- body.add_child(content)
-
- page.print()
-
-if __name__ == '__main__':
- main()
diff --git a/errors/500/index.html b/errors/500/index.html
deleted file mode 100644
index 8993e0f..0000000
--- a/errors/500/index.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
- Error 500
-
- Wow, you crashed my website... :'(
-
-
- You can go back to the index or wherever you want... (if it works...)
-
-#
-
diff --git a/errors/500/index.py b/errors/500/index.py
deleted file mode 100755
index 117f8db..0000000
--- a/errors/500/index.py
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/bin/python
-# -*- coding: utf-8 -*-
-
-import sys
-from webtools import Web
-
-def main():
- print('Content-type: text/html')
- print()
-
- page = Web.Element(Web.ROOT_DIR + 'templates/page.html')
- head = Web.Element(Web.ROOT_DIR + 'templates/head.html')
- body = Web.Element(Web.ROOT_DIR + 'templates/body.html')
- content = Web.Element('index.html')
-
- page.add_child(head)
- page.add_child(body)
- body.add_child(content)
-
- page.print()
-
-if __name__ == '__main__':
- main()
diff --git a/img/python-powered.svg b/img/python-powered.svg
deleted file mode 100644
index 39d0d51..0000000
--- a/img/python-powered.svg
+++ /dev/null
@@ -1,4571 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-@font-face{font-family:'Verdana';src:url("data:;base64,\
-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\
-ABUAFgAXABkAGwAcAAA=")}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2006-06-28T15:19:32Z
- 2006-06-28T15:19:32Z
- Illustrator
-
-
-
- JPEG
- 256
- 104
- /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA
-AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
-DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
-Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAaAEAAwER
-AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
-AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
-UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
-1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
-qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
-obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
-0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
-+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7
-FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqh4LeBogTGpJr
-UlR44qv+rW/++k/4EYq76tb/AO+k/wCBGKu+rW/++k/4EYq76tb/AO+k/wCBGKu+rW/++k/4EYq7
-6tb/AO+k/wCBGKu+rW/++k/4EYq76tb/AO+k/wCBGKu+rW/++k/4EYqp3FvbiMUiT7afsj+cYqqf
-Vrf/AH0n/AjFXfVrf/fSf8CMVd9Wt/8AfSf8CMVd9Wt/99J/wIxV31a3/wB9J/wIxV31a3/30n/A
-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
-XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX/2Q==
-
-
-
-
-
-
- image/svg+xml
-
-
-image/svg+xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 10
-
-
-
-
-
-
- 10
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 10
-
-
-
-
-
-
- 10
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 30
-
-
-
-
-
-
- 30
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 40
-
-
-
-
-
-
- 40
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 40
-
-
-
-
-
-
- 40
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 45
-
-
-
-
-
-
- 45
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 10
-
-
-
-
-
-
- 10
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 140
-
-
-
-
-
-
- 140
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 754
-
-
-
-
-
-
- 754
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Flux Regular
-
-
-
-
-
-
- Flux Regular
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 80
-
-
-
-
-
-
- 80
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HEX #446785
- RGB 68,103,133
- PANTONE 548
-
-
-
-
-
-
- HEX #446785 RGB 68,103,133 PANTONE 548
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HEX #D5AD42
- RGB 213,173,66
- PANTONE 7405
-
-
-
-
-
-
- HEX #D5AD42 RGB 213,173,66 PANTONE 7405
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HEX #646464
- RGB 100,100,100
- PANTONE 446
-
-
-
-
-
-
- HEX #646464 RGB 100,100,100 PANTONE 446
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- designed by Pollenation Internet Ltd
-
-
-
-
-
-
- designed by Pollenation Internet Ltd
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 10
-
-
-
-
-
-
- 10
-
-
-
-
-
-
-
-
-
-
-
-
- 10
-
-
-
-
-
-
- 10
-
-
-
-
-
-
-
-
-
-
-
-
- 30
-
-
-
-
-
-
- 30
-
-
-
-
-
-
-
-
-
-
-
-
- 40
-
-
-
-
-
-
- 40
-
-
-
-
-
-
-
-
-
-
-
-
- 40
-
-
-
-
-
-
- 40
-
-
-
-
-
-
-
-
-
-
-
-
- 45
-
-
-
-
-
-
- 45
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 10
-
-
-
-
-
-
- 10
-
-
-
-
-
-
-
-
-
-
-
-
- 140
-
-
-
-
-
-
- 140
-
-
-
-
-
-
-
-
-
-
-
-
- 754
-
-
-
-
-
-
- 754
-
-
-
-
-
-
-
-
-
-
-
-
- Flux Regular
-
-
-
-
-
-
- Flux Regular
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 80
-
-
-
-
-
-
- 80
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HEX #446785
- RGB 68,103,133
- PANTONE 548
-
-
-
-
-
-
- HEX #446785 RGB 68,103,133 PANTONE 548
-
-
-
-
-
-
-
-
-
-
-
-
- HEX #D5AD42
- RGB 213,173,66
- PANTONE 7405
-
-
-
-
-
-
- HEX #D5AD42 RGB 213,173,66 PANTONE 7405
-
-
-
-
-
-
-
-
-
-
-
-
-
- HEX #646464
- RGB 100,100,100
- PANTONE 446
-
-
-
-
-
-
- HEX #646464 RGB 100,100,100 PANTONE 446
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- designed by Pollenation Internet Ltd
-
-
-
-
-
-
- designed by Pollenation Internet Ltd
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-b0K/g9yXUqMGM2o2Qzw4WhHc7E6j93/R5M/ysabYaD1m9ak2WmLqPgI3ajDvjvXDTdTb9mvlRksF
-5vHj3W5TbPTFOhspNQoyGTVb/652eioE/sgTL6VFXLnRss/8nEvGb5UbXRSvcaNIU9od60s7f71W
-a/SJeE2UMsqNPtxl21/VVkvWKLSCm209/d6rEvinGRjkVBr9DBOt1cSt3Ojjz2L6FAmDTFYca/ve
-PVNtdGmuO40qjTafiex4WpQ1ajBzAuLRfW1MttxZaNTnkS+aTTvU5hrt+eyyRWN/L3cduFHKemcr
-bI+0THQcURokPzR7JxsrVPvzxwv9oFfe6GpuueUaXSecspEaP7sfdrbRVJO8x41CK7wodC1Xz3dG
-1GhyVyrdu/mRxklZo85Y4TrINpogS26ZIHQt/I8dA7uV+0zRdGlb/pqWy25vhhpNyUe6pJk5z78p
-n3wjD/xEuZ0mEa16cKO4FY7A13Om02B3VabbDm53qvBs+ZpHVd82q+T0Re0tSH6i0DFvVN+D6M1Y
-VN7CHFicaU6vYX6YkOxtMEy2G5yEIZjVb1j+fvZ9/cZ9vfs2VLmPfqq+DVOOWkf2VqQYvP/ufllV
-v6Ypy3tf9W3ZOUtQqm8N5nLvaRhTff903e8VVN6GC5ZC/HnFvh1a/yKyb5+dY045BYoNyeuo/H2v
-WJ9xX+++fck4f5eqb1/NPa9R9lZKsdfPTPRW9euO+StkUn37s64sCqpvDebfFypVVX0//c3dfam9
-hR5WYwHVt0XKf/emTjFzf9arl9W+thgt958O1bdZ+qHHqFPMUqQS16Ta17SRMtmjKm8DBSJ76+DH
-HLXFZG+hlUZ1leDepz1x2ftGJ++gpW/9rho2rllzLu12pIPrxVcrPfputFMThr69ixRMP9s2d5TT
-YXbNvtVb8mX4XKcbDfMrFlJ042Hgz3aXH2Znar563Hr2bsVSLkqGjY9YmBkdpRhpdGVqr0bXy1fd
-YDa62oOG0fZh36DfKsCEv2mju9QOiGYhbxQ2R3TVVw9Dv9NOsE/nv0FTKDKMux2UkbcrW+Fce/3Z
-TcYW5HWm6LwJ4KHhebFM6XnmC9j0JnJNWW8rdxnGkTXjdYfMmQ+eihrlkK0VUS1nMIsl76Lpj+be
-GsEM65lqvzrKOcxx41zkMdWSwRt9YwFbLFSzt3SMBVltvlhbR43mp/FDV0c5tKX3dY3Fet/zjPga
-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
-PXf+Cylwi7g8HC7tlUP/F1gVhvo=
-
-
-
\ No newline at end of file
diff --git a/index.html b/index.html
index 77ea6af..e155b66 100644
--- a/index.html
+++ b/index.html
@@ -1,43 +1,47 @@
-
- Index
-
- A bouncing cube that jumps when you click on it
-
-
- Sphere with multi-resolution
-
-
- Lots of obj files loaded and displayed. When you click
- somewhere, the current obj is hidden and the next one, with
- a better resolution is shown.
-
-
-
-
- A proto of the real thing
-
-
- You can move the camera with the arrow keys and move the
- angle of the camera with 2, 4, 6 and 8 (the arrows of the
- numpad), or you can do a drag-and-drop like (click on the
- mouse to grap the scene, and move the mouse to rotate the
- camera). You can also select a camera by clicking on the
- red part of it, and get back to the free camera by clicking
- again. You can also select a camera by simply clicking on
- the object you want to see. The program will choose the
- camera that you want, and move to it progressively.
-
-
-
-
- Streaming simulation
-
-
- A mesh of a sphere is fully loaded, and displayed
- progressively. This test is here to prove that we can
- dynamically add vertices and faces to a mesh.
-
-
-
-#
-
+---
+layout: main
+title: Index
+---
+
+ Index
+
+ A bouncing cube that jumps when you click on it
+
+
+ Sphere with multi-resolution
+
+
+ Lots of obj files loaded and displayed. When you click
+ somewhere, the current obj is hidden and the next one, with a
+ better resolution is shown.
+
+
+
+
+ A proto of the real thing
+
+
+ You can move the camera with the arrow keys and move the
+ angle of the camera with 2, 4, 6 and 8 (the arrows of the
+ numpad), or you can do a drag-and-drop like (click on the
+ mouse to grap the scene, and move the mouse to rotate the
+ camera). You can also select a camera by clicking on the
+ red part of it, and get back to the free camera by clicking
+ again. You can also select a camera by simply clicking on
+ the object you want to see. The program will choose the
+ camera that you want, and move to it progressively.
+
+
+
+
+ Streaming simulation
+
+
+ A mesh of a sphere is fully loaded, and displayed
+ progressively. This test is here to prove that we can
+ dynamically add vertices and faces to a mesh.
+
+
+
+
+
diff --git a/index.py b/index.py
deleted file mode 100755
index 7b0dfda..0000000
--- a/index.py
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/python
-# -*- coding: utf-8 -*-
-
-import sys
-from webtools import Web
-
-Web.render('index.html')
-
-print('download ')
diff --git a/multisphere/index.html b/multisphere/index.html
index d9ca092..744652f 100644
--- a/multisphere/index.html
+++ b/multisphere/index.html
@@ -1,11 +1,13 @@
-
- Multiresolution sphere
-
- This is the first test of multi-resolution. In fact, it's not
- really one multi-resolution sphere but many spheres with
- different resolutions. You can change resolution by clicking on
- the canvas.
-
-
-#
-
+---
+layout: withjs
+title: Multi-sphere
+extrajs:
+---
+Multiresolution sphere
+
+ This is the first test of multi-resolution. In fact, it's not
+ really one multi-resolution sphere but many spheres with
+ different resolutions. You can change resolution by clicking on
+ the canvas.
+
+
diff --git a/multisphere/index.py b/multisphere/index.py
deleted file mode 100755
index f8b363a..0000000
--- a/multisphere/index.py
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/python
-# -*- coding: utf-8 -*-
-
-import sys
-from webtools import Web
-
-def main():
- print('Content-type: text/html')
- print()
-
- page = Web.Element(Web.ROOT_DIR + 'templates/page.html')
- head = Web.Element(Web.ROOT_DIR + 'templates/head.html')
- body = Web.Element(Web.ROOT_DIR + 'templates/body.html')
- jsIncludes = Web.Element(Web.ROOT_DIR + 'templates/jsIncludes.html')
- mainJs = Web.Element()
- mainJs.open_string = ' '
- content = Web.Element('index.html')
-
- page.add_child(head)
- page.add_child(body)
- body.add_child(content)
- body.add_child(jsIncludes)
- jsIncludes.add_child(mainJs)
-
- page.print()
-
-if __name__ == '__main__':
- main()
diff --git a/prototype/index.html b/prototype/index.html
index cb38b69..63eb9f3 100644
--- a/prototype/index.html
+++ b/prototype/index.html
@@ -1,27 +1,32 @@
-
- 3D Interface
-
- This is the prototype of a 3D interface. You can move the
- camera with the arrow keys of your keyboard, and change the
- angle of the camera by dragging and dropping the scene around
- it (you can also use your numpad, 2 to look lower, 8 to look
- higher, 4 to look on the left and 6 to look on the right, but
- if you're more comfortable with non-numpad keys, you can also
- use i for up, j for left, k for down, and l for right).
-
-
- Recommended views are displayed with a transparent red arrow.
- They disappear when you come closer to them, and you can
- automatically move to them by clicking on them. You can reset
- the camera at anytime by clicking on the reset button.
-
- Reset camera
-
- Full arrow
-
- Collisions
-
- Show arrows
-
-#
-
+---
+title: Prototype
+layout: withjs
+extrajs:
+---
+
+ 3D Interface
+
+ This is the prototype of a 3D interface. You can move the
+ camera with the arrow keys of your keyboard, and change the
+ angle of the camera by dragging and dropping the scene around
+ it (you can also use your numpad, 2 to look lower, 8 to look
+ higher, 4 to look on the left and 6 to look on the right, but
+ if you're more comfortable with non-numpad keys, you can also
+ use i for up, j for left, k for down, and l for right).
+
+
+ Recommended views are displayed with a transparent red arrow.
+ They disappear when you come closer to them, and you can
+ automatically move to them by clicking on them. You can reset
+ the camera at anytime by clicking on the reset button.
+
+ Reset camera
+
+ Full arrow
+
+ Collisions
+
+ Show arrows
+
+
+
diff --git a/prototype/index.py b/prototype/index.py
deleted file mode 100755
index 3d11145..0000000
--- a/prototype/index.py
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/python
-# -*- coding: utf-8 -*-
-
-import sys
-from webtools import Web
-
-def main():
- print('Content-type: text/html')
- print()
-
- page = Web.Element(Web.ROOT_DIR + 'templates/page.html')
- head = Web.Element(Web.ROOT_DIR + 'templates/head.html')
- body = Web.Element(Web.ROOT_DIR + 'templates/body.html')
- jsIncludes = Web.Element(Web.ROOT_DIR + 'templates/jsIncludes.html')
-
- mainJs = Web.Element()
- mainJs.open_string = ' '
- content = Web.Element('index.html')
-
- staticPath = Web.Element()
- staticPath.open_string = ' '
-
- page.add_child(head)
- page.add_child(body)
- body.add_child(content)
- body.add_child(jsIncludes)
- jsIncludes.add_child(staticPath)
- jsIncludes.add_child(mainJs)
-
- page.print()
-
-if __name__ == '__main__':
- main()
diff --git a/prototype/js/gen.py b/prototype/js/gen.py
deleted file mode 100755
index 21e9f50..0000000
--- a/prototype/js/gen.py
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/usr/bin/python3
-
-import random
-
-N = 4;
-
-def rand_vector():
- print('new THREE.Vector3(', end='')
- print(random.uniform(-500,500), end='')
- print(',', end='')
- print(random.uniform(-500,500), end='')
- print(',', end='')
- print(random.uniform(0,500), end='')
- print(')', end='')
-
-def rand_color():
- chars = [ str(x) for x in range(10)] + [chr(x) for x in range(ord('a'), ord('f') + 1)]
- print('0x', end='')
- for i in range(6):
- print(chars[random.randint(0, len(chars)-1)],end='');
-
-def gen_positions():
- print('var positions = [')
- for i in range(N):
- print(' ', end='')
- rand_vector()
- print(',')
- print(' ', end='')
- gen_vector()
- print('\n];')
-
-def gen_colors():
- print('var colors = [')
- for i in range(N):
- print(' ', end='')
- rand_color()
- print(',')
- print(' ', end='')
- rand_color()
- print('\n];')
-
-
-def main():
- gen_colors()
-
-if __name__ == '__main__':
- main()
-
-
diff --git a/css/style.css b/static/css/style.css
similarity index 100%
rename from css/style.css
rename to static/css/style.css
diff --git a/data/castle/154B175A_c.bmp b/static/data/castle/154B175A_c.bmp
similarity index 100%
rename from data/castle/154B175A_c.bmp
rename to static/data/castle/154B175A_c.bmp
diff --git a/data/castle/16CBEF1C_c.bmp b/static/data/castle/16CBEF1C_c.bmp
similarity index 100%
rename from data/castle/16CBEF1C_c.bmp
rename to static/data/castle/16CBEF1C_c.bmp
diff --git a/data/castle/1916F8C5_c.bmp b/static/data/castle/1916F8C5_c.bmp
similarity index 100%
rename from data/castle/1916F8C5_c.bmp
rename to static/data/castle/1916F8C5_c.bmp
diff --git a/data/castle/19D5421D_c.bmp b/static/data/castle/19D5421D_c.bmp
similarity index 100%
rename from data/castle/19D5421D_c.bmp
rename to static/data/castle/19D5421D_c.bmp
diff --git a/data/castle/1D0CA178_c.bmp b/static/data/castle/1D0CA178_c.bmp
similarity index 100%
rename from data/castle/1D0CA178_c.bmp
rename to static/data/castle/1D0CA178_c.bmp
diff --git a/data/castle/1FEE462_c.bmp b/static/data/castle/1FEE462_c.bmp
similarity index 100%
rename from data/castle/1FEE462_c.bmp
rename to static/data/castle/1FEE462_c.bmp
diff --git a/data/castle/20EF7F7C_c.bmp b/static/data/castle/20EF7F7C_c.bmp
similarity index 100%
rename from data/castle/20EF7F7C_c.bmp
rename to static/data/castle/20EF7F7C_c.bmp
diff --git a/data/castle/3AB7B2BC_c.bmp b/static/data/castle/3AB7B2BC_c.bmp
similarity index 100%
rename from data/castle/3AB7B2BC_c.bmp
rename to static/data/castle/3AB7B2BC_c.bmp
diff --git a/data/castle/3C6851DA_c.bmp b/static/data/castle/3C6851DA_c.bmp
similarity index 100%
rename from data/castle/3C6851DA_c.bmp
rename to static/data/castle/3C6851DA_c.bmp
diff --git a/data/castle/49254A53_c.bmp b/static/data/castle/49254A53_c.bmp
similarity index 100%
rename from data/castle/49254A53_c.bmp
rename to static/data/castle/49254A53_c.bmp
diff --git a/data/castle/5EDC83BD_c.bmp b/static/data/castle/5EDC83BD_c.bmp
similarity index 100%
rename from data/castle/5EDC83BD_c.bmp
rename to static/data/castle/5EDC83BD_c.bmp
diff --git a/data/castle/60A64656_c.bmp b/static/data/castle/60A64656_c.bmp
similarity index 100%
rename from data/castle/60A64656_c.bmp
rename to static/data/castle/60A64656_c.bmp
diff --git a/data/castle/61BE951F_c.bmp b/static/data/castle/61BE951F_c.bmp
similarity index 100%
rename from data/castle/61BE951F_c.bmp
rename to static/data/castle/61BE951F_c.bmp
diff --git a/data/castle/6AE21407_c.bmp b/static/data/castle/6AE21407_c.bmp
similarity index 100%
rename from data/castle/6AE21407_c.bmp
rename to static/data/castle/6AE21407_c.bmp
diff --git a/data/castle/6DAF90F6_c.bmp b/static/data/castle/6DAF90F6_c.bmp
similarity index 100%
rename from data/castle/6DAF90F6_c.bmp
rename to static/data/castle/6DAF90F6_c.bmp
diff --git a/data/castle/7EB1C6A1_c.bmp b/static/data/castle/7EB1C6A1_c.bmp
similarity index 100%
rename from data/castle/7EB1C6A1_c.bmp
rename to static/data/castle/7EB1C6A1_c.bmp
diff --git a/data/castle/Castle.zip b/static/data/castle/Castle.zip
similarity index 100%
rename from data/castle/Castle.zip
rename to static/data/castle/Castle.zip
diff --git a/data/castle/Masks/148EB7B9_a.bmp b/static/data/castle/Masks/148EB7B9_a.bmp
similarity index 100%
rename from data/castle/Masks/148EB7B9_a.bmp
rename to static/data/castle/Masks/148EB7B9_a.bmp
diff --git a/data/castle/Masks/1FEE462_a.bmp b/static/data/castle/Masks/1FEE462_a.bmp
similarity index 100%
rename from data/castle/Masks/1FEE462_a.bmp
rename to static/data/castle/Masks/1FEE462_a.bmp
diff --git a/data/castle/Masks/3C6851DA_a.bmp b/static/data/castle/Masks/3C6851DA_a.bmp
similarity index 100%
rename from data/castle/Masks/3C6851DA_a.bmp
rename to static/data/castle/Masks/3C6851DA_a.bmp
diff --git a/data/castle/Masks/5EDC83BD_a.bmp b/static/data/castle/Masks/5EDC83BD_a.bmp
similarity index 100%
rename from data/castle/Masks/5EDC83BD_a.bmp
rename to static/data/castle/Masks/5EDC83BD_a.bmp
diff --git a/data/castle/Masks/7EB1C6A1_a.bmp b/static/data/castle/Masks/7EB1C6A1_a.bmp
similarity index 100%
rename from data/castle/Masks/7EB1C6A1_a.bmp
rename to static/data/castle/Masks/7EB1C6A1_a.bmp
diff --git a/data/castle/Masks/Thumbs.db b/static/data/castle/Masks/Thumbs.db
similarity index 100%
rename from data/castle/Masks/Thumbs.db
rename to static/data/castle/Masks/Thumbs.db
diff --git a/data/castle/Readme.txt b/static/data/castle/Readme.txt
similarity index 100%
rename from data/castle/Readme.txt
rename to static/data/castle/Readme.txt
diff --git a/data/castle/Sky texture/3FA1757A_c.bmp b/static/data/castle/Sky texture/3FA1757A_c.bmp
similarity index 100%
rename from data/castle/Sky texture/3FA1757A_c.bmp
rename to static/data/castle/Sky texture/3FA1757A_c.bmp
diff --git a/data/castle/Sky texture/401FFEF3_c.bmp b/static/data/castle/Sky texture/401FFEF3_c.bmp
similarity index 100%
rename from data/castle/Sky texture/401FFEF3_c.bmp
rename to static/data/castle/Sky texture/401FFEF3_c.bmp
diff --git a/data/castle/Sky texture/41BAF66_c.bmp b/static/data/castle/Sky texture/41BAF66_c.bmp
similarity index 100%
rename from data/castle/Sky texture/41BAF66_c.bmp
rename to static/data/castle/Sky texture/41BAF66_c.bmp
diff --git a/data/castle/Sky texture/452E0376_c.bmp b/static/data/castle/Sky texture/452E0376_c.bmp
similarity index 100%
rename from data/castle/Sky texture/452E0376_c.bmp
rename to static/data/castle/Sky texture/452E0376_c.bmp
diff --git a/data/castle/Sky texture/64B5A924_c.bmp b/static/data/castle/Sky texture/64B5A924_c.bmp
similarity index 100%
rename from data/castle/Sky texture/64B5A924_c.bmp
rename to static/data/castle/Sky texture/64B5A924_c.bmp
diff --git a/data/castle/Sky texture/73058137_c.bmp b/static/data/castle/Sky texture/73058137_c.bmp
similarity index 100%
rename from data/castle/Sky texture/73058137_c.bmp
rename to static/data/castle/Sky texture/73058137_c.bmp
diff --git a/data/castle/Sky texture/7A3E773_c.bmp b/static/data/castle/Sky texture/7A3E773_c.bmp
similarity index 100%
rename from data/castle/Sky texture/7A3E773_c.bmp
rename to static/data/castle/Sky texture/7A3E773_c.bmp
diff --git a/data/castle/Sky texture/823E4B9_c.bmp b/static/data/castle/Sky texture/823E4B9_c.bmp
similarity index 100%
rename from data/castle/Sky texture/823E4B9_c.bmp
rename to static/data/castle/Sky texture/823E4B9_c.bmp
diff --git a/data/castle/Sky texture/954754D_c.bmp b/static/data/castle/Sky texture/954754D_c.bmp
similarity index 100%
rename from data/castle/Sky texture/954754D_c.bmp
rename to static/data/castle/Sky texture/954754D_c.bmp
diff --git a/data/castle/Sky texture/Thumbs.db b/static/data/castle/Sky texture/Thumbs.db
similarity index 100%
rename from data/castle/Sky texture/Thumbs.db
rename to static/data/castle/Sky texture/Thumbs.db
diff --git a/data/castle/princess peaches castle (outside).mtl b/static/data/castle/princess peaches castle (outside).mtl
similarity index 100%
rename from data/castle/princess peaches castle (outside).mtl
rename to static/data/castle/princess peaches castle (outside).mtl
diff --git a/data/castle/princess peaches castle (outside).obj b/static/data/castle/princess peaches castle (outside).obj
similarity index 100%
rename from data/castle/princess peaches castle (outside).obj
rename to static/data/castle/princess peaches castle (outside).obj
diff --git a/data/castle/princess peaches castle (outside)_grp.png b/static/data/castle/princess peaches castle (outside)_grp.png
similarity index 100%
rename from data/castle/princess peaches castle (outside)_grp.png
rename to static/data/castle/princess peaches castle (outside)_grp.png
diff --git a/data/castle/tree texture and mask/1E114049_a.bmp b/static/data/castle/tree texture and mask/1E114049_a.bmp
similarity index 100%
rename from data/castle/tree texture and mask/1E114049_a.bmp
rename to static/data/castle/tree texture and mask/1E114049_a.bmp
diff --git a/data/castle/tree texture and mask/1E114049_c.bmp b/static/data/castle/tree texture and mask/1E114049_c.bmp
similarity index 100%
rename from data/castle/tree texture and mask/1E114049_c.bmp
rename to static/data/castle/tree texture and mask/1E114049_c.bmp
diff --git a/data/castle/tree texture and mask/Thumbs.db b/static/data/castle/tree texture and mask/Thumbs.db
similarity index 100%
rename from data/castle/tree texture and mask/Thumbs.db
rename to static/data/castle/tree texture and mask/Thumbs.db
diff --git a/data/first/3C96C6A_c.bmp b/static/data/first/3C96C6A_c.bmp
similarity index 100%
rename from data/first/3C96C6A_c.bmp
rename to static/data/first/3C96C6A_c.bmp
diff --git a/data/first/48F5B267_c.bmp b/static/data/first/48F5B267_c.bmp
similarity index 100%
rename from data/first/48F5B267_c.bmp
rename to static/data/first/48F5B267_c.bmp
diff --git a/data/first/5C3492AB_c.png b/static/data/first/5C3492AB_c.png
similarity index 100%
rename from data/first/5C3492AB_c.png
rename to static/data/first/5C3492AB_c.png
diff --git a/data/first/6B88A261_c.bmp b/static/data/first/6B88A261_c.bmp
similarity index 100%
rename from data/first/6B88A261_c.bmp
rename to static/data/first/6B88A261_c.bmp
diff --git a/data/first/6E3E7EFA_c.bmp b/static/data/first/6E3E7EFA_c.bmp
similarity index 100%
rename from data/first/6E3E7EFA_c.bmp
rename to static/data/first/6E3E7EFA_c.bmp
diff --git a/data/first/777F0E0B_c.png b/static/data/first/777F0E0B_c.png
similarity index 100%
rename from data/first/777F0E0B_c.png
rename to static/data/first/777F0E0B_c.png
diff --git a/data/first/77928504_c.png b/static/data/first/77928504_c.png
similarity index 100%
rename from data/first/77928504_c.png
rename to static/data/first/77928504_c.png
diff --git a/data/first/7A7501A5_c.bmp b/static/data/first/7A7501A5_c.bmp
similarity index 100%
rename from data/first/7A7501A5_c.bmp
rename to static/data/first/7A7501A5_c.bmp
diff --git a/data/first/7F0DBBD7_c.bmp b/static/data/first/7F0DBBD7_c.bmp
similarity index 100%
rename from data/first/7F0DBBD7_c.bmp
rename to static/data/first/7F0DBBD7_c.bmp
diff --git a/data/first/Floor 1.mtl b/static/data/first/Floor 1.mtl
similarity index 100%
rename from data/first/Floor 1.mtl
rename to static/data/first/Floor 1.mtl
diff --git a/data/first/Floor 1.obj b/static/data/first/Floor 1.obj
similarity index 100%
rename from data/first/Floor 1.obj
rename to static/data/first/Floor 1.obj
diff --git a/data/first/Sky_grp.png b/static/data/first/Sky_grp.png
similarity index 100%
rename from data/first/Sky_grp.png
rename to static/data/first/Sky_grp.png
diff --git a/data/first/readme.txt b/static/data/first/readme.txt
similarity index 100%
rename from data/first/readme.txt
rename to static/data/first/readme.txt
diff --git a/data/first/toto.zip b/static/data/first/toto.zip
similarity index 100%
rename from data/first/toto.zip
rename to static/data/first/toto.zip
diff --git a/data/spheres/1.obj b/static/data/spheres/1.obj
similarity index 100%
rename from data/spheres/1.obj
rename to static/data/spheres/1.obj
diff --git a/data/spheres/10.obj b/static/data/spheres/10.obj
similarity index 100%
rename from data/spheres/10.obj
rename to static/data/spheres/10.obj
diff --git a/data/spheres/11.obj b/static/data/spheres/11.obj
similarity index 100%
rename from data/spheres/11.obj
rename to static/data/spheres/11.obj
diff --git a/data/spheres/12.obj b/static/data/spheres/12.obj
similarity index 100%
rename from data/spheres/12.obj
rename to static/data/spheres/12.obj
diff --git a/data/spheres/13.obj b/static/data/spheres/13.obj
similarity index 100%
rename from data/spheres/13.obj
rename to static/data/spheres/13.obj
diff --git a/data/spheres/14.obj b/static/data/spheres/14.obj
similarity index 100%
rename from data/spheres/14.obj
rename to static/data/spheres/14.obj
diff --git a/data/spheres/15.obj b/static/data/spheres/15.obj
similarity index 100%
rename from data/spheres/15.obj
rename to static/data/spheres/15.obj
diff --git a/data/spheres/16.obj b/static/data/spheres/16.obj
similarity index 100%
rename from data/spheres/16.obj
rename to static/data/spheres/16.obj
diff --git a/data/spheres/17.obj b/static/data/spheres/17.obj
similarity index 100%
rename from data/spheres/17.obj
rename to static/data/spheres/17.obj
diff --git a/data/spheres/18.obj b/static/data/spheres/18.obj
similarity index 100%
rename from data/spheres/18.obj
rename to static/data/spheres/18.obj
diff --git a/data/spheres/19.obj b/static/data/spheres/19.obj
similarity index 100%
rename from data/spheres/19.obj
rename to static/data/spheres/19.obj
diff --git a/data/spheres/2.obj b/static/data/spheres/2.obj
similarity index 100%
rename from data/spheres/2.obj
rename to static/data/spheres/2.obj
diff --git a/data/spheres/20.obj b/static/data/spheres/20.obj
similarity index 100%
rename from data/spheres/20.obj
rename to static/data/spheres/20.obj
diff --git a/data/spheres/21.obj b/static/data/spheres/21.obj
similarity index 100%
rename from data/spheres/21.obj
rename to static/data/spheres/21.obj
diff --git a/data/spheres/22.obj b/static/data/spheres/22.obj
similarity index 100%
rename from data/spheres/22.obj
rename to static/data/spheres/22.obj
diff --git a/data/spheres/23.obj b/static/data/spheres/23.obj
similarity index 100%
rename from data/spheres/23.obj
rename to static/data/spheres/23.obj
diff --git a/data/spheres/24.obj b/static/data/spheres/24.obj
similarity index 100%
rename from data/spheres/24.obj
rename to static/data/spheres/24.obj
diff --git a/data/spheres/25.obj b/static/data/spheres/25.obj
similarity index 100%
rename from data/spheres/25.obj
rename to static/data/spheres/25.obj
diff --git a/data/spheres/3.obj b/static/data/spheres/3.obj
similarity index 100%
rename from data/spheres/3.obj
rename to static/data/spheres/3.obj
diff --git a/data/spheres/4.obj b/static/data/spheres/4.obj
similarity index 100%
rename from data/spheres/4.obj
rename to static/data/spheres/4.obj
diff --git a/data/spheres/5.obj b/static/data/spheres/5.obj
similarity index 100%
rename from data/spheres/5.obj
rename to static/data/spheres/5.obj
diff --git a/data/spheres/6.obj b/static/data/spheres/6.obj
similarity index 100%
rename from data/spheres/6.obj
rename to static/data/spheres/6.obj
diff --git a/data/spheres/7.obj b/static/data/spheres/7.obj
similarity index 100%
rename from data/spheres/7.obj
rename to static/data/spheres/7.obj
diff --git a/data/spheres/8.obj b/static/data/spheres/8.obj
similarity index 100%
rename from data/spheres/8.obj
rename to static/data/spheres/8.obj
diff --git a/data/spheres/9.obj b/static/data/spheres/9.obj
similarity index 100%
rename from data/spheres/9.obj
rename to static/data/spheres/9.obj
diff --git a/js/BouncingCube.js b/static/js/BouncingCube.js
similarity index 100%
rename from js/BouncingCube.js
rename to static/js/BouncingCube.js
diff --git a/js/BufferGeometryToGeometry.js b/static/js/BufferGeometryToGeometry.js
similarity index 100%
rename from js/BufferGeometryToGeometry.js
rename to static/js/BufferGeometryToGeometry.js
diff --git a/js/Camera.js b/static/js/Camera.js
similarity index 100%
rename from js/Camera.js
rename to static/js/Camera.js
diff --git a/js/CameraContainer.js b/static/js/CameraContainer.js
similarity index 100%
rename from js/CameraContainer.js
rename to static/js/CameraContainer.js
diff --git a/js/Cube.js b/static/js/Cube.js
similarity index 100%
rename from js/Cube.js
rename to static/js/Cube.js
diff --git a/js/FixedCamera.js b/static/js/FixedCamera.js
similarity index 99%
rename from js/FixedCamera.js
rename to static/js/FixedCamera.js
index f95fb0d..47b7530 100644
--- a/js/FixedCamera.js
+++ b/static/js/FixedCamera.js
@@ -160,7 +160,7 @@ FixedCamera.prototype.regenerateArrow = function(mainCamera) {
var up = this.up.clone();
var point;
var deriv;
- var limit = this.fullArrow ? 0.1 : 0.2;
+ var limit = this.fullArrow ? 0.1 : 0.3;
// for (var i = this.fullArrow ? 0 : 0.5; i <= 1.001; i += 0.05) {
for (var i = 1; i > limit; i -= 0.01) {
diff --git a/js/Hermite.js b/static/js/Hermite.js
similarity index 100%
rename from js/Hermite.js
rename to static/js/Hermite.js
diff --git a/HermiteTest/js/HermiteTest.js b/static/js/HermiteTest/HermiteTest.js
similarity index 100%
rename from HermiteTest/js/HermiteTest.js
rename to static/js/HermiteTest/HermiteTest.js
diff --git a/js/PointerCamera.js b/static/js/PointerCamera.js
similarity index 100%
rename from js/PointerCamera.js
rename to static/js/PointerCamera.js
diff --git a/js/ProgressiveSphere.js b/static/js/ProgressiveSphere.js
similarity index 100%
rename from js/ProgressiveSphere.js
rename to static/js/ProgressiveSphere.js
diff --git a/js/Tools.js b/static/js/Tools.js
similarity index 100%
rename from js/Tools.js
rename to static/js/Tools.js
diff --git a/js/ToolsTest.js b/static/js/ToolsTest.js
similarity index 100%
rename from js/ToolsTest.js
rename to static/js/ToolsTest.js
diff --git a/bouncing/js/BouncingMain.js b/static/js/bouncing/BouncingMain.js
similarity index 100%
rename from bouncing/js/BouncingMain.js
rename to static/js/bouncing/BouncingMain.js
diff --git a/multisphere/js/MultiSphere.js b/static/js/multisphere/MultiSphere.js
similarity index 97%
rename from multisphere/js/MultiSphere.js
rename to static/js/multisphere/MultiSphere.js
index e75cc4c..4e3c2c1 100644
--- a/multisphere/js/MultiSphere.js
+++ b/static/js/multisphere/MultiSphere.js
@@ -52,7 +52,7 @@ function init() {
// Capture of i
// I am pretty good
(function(i) {
- loader.load('/data/spheres/' + (i+1) + '.obj', function (object) {
+ loader.load(static_path + 'data/spheres/' + (i+1) + '.obj', function (object) {
object.traverse(function (child) {
if (child instanceof THREE.Mesh ) {
child.material.color.setHex(0xff0000);
diff --git a/prototype/js/main.js b/static/js/prototype/main.js
similarity index 94%
rename from prototype/js/main.js
rename to static/js/prototype/main.js
index c3f9fe0..80bd2e5 100644
--- a/prototype/js/main.js
+++ b/static/js/prototype/main.js
@@ -59,7 +59,7 @@ function init() {
canvas.width = container_size.width;
canvas.height = container_size.height;
ctx2d = canvas.getContext('2d');
- ctx2d.lineWidth = 2;
+ ctx2d.lineWidth = 1;
// on initialise la scène
scene = new THREE.Scene();
@@ -116,6 +116,7 @@ function init() {
object.geometry.mergeVertices();
object.geometry.computeVertexNormals();
object.material.side = THREE.DoubleSide;
+ object.raycastable = true;
if (object.material.name === 'Material.103_princess_peaches_cast') {
object.material.transparent = true;
}
@@ -141,6 +142,7 @@ function init() {
object.material.side = THREE.DoubleSide;
object.geometry.mergeVertices();
object.geometry.computeVertexNormals();
+ object.raycastable = true;
if (object.material.name === 'Material.054_777F0E0B_c.bmp' ||
object.material.name === 'Material.061_5C3492AB_c.bmp' ) {
object.material.transparent = true;
@@ -273,6 +275,7 @@ function render() {
// Draw border
var can_bottom = container.offsetHeight - bottom - height - 1;
+ ctx2d.strokeStyle = "#ffffff";
ctx2d.beginPath();
ctx2d.moveTo(left-1, can_bottom);
ctx2d.lineTo(left-1, can_bottom + height);
@@ -281,6 +284,15 @@ function render() {
ctx2d.closePath();
ctx2d.stroke();
+ ctx2d.strokeStyle = "#000000";
+ ctx2d.beginPath();
+ ctx2d.moveTo(left, can_bottom + 1);
+ ctx2d.lineTo(left, can_bottom + height - 1);
+ ctx2d.lineTo(left + width - 2 , can_bottom + height-1);
+ ctx2d.lineTo(left + width - 2, can_bottom+1);
+ ctx2d.closePath();
+ ctx2d.stroke();
+
// Do render in previsualization
prev.camera.look();
renderer.setScissor(left, bottom, width, height);
@@ -363,12 +375,9 @@ function pointedCamera(event) {
for (i in intersects) {
if (intersects[i].object.raycastable) {
if ((intersects[i].distance > 0.5 && minDistance === undefined) || (intersects[i].distance < minDistance )) {
- // We will not consider a line as clickable
- if (! (intersects[i].object instanceof THREE.Line)) {
- if (!(intersects[i].object instanceof THREE.Mesh && intersects[i].object.material.opacity < 0.1)) {
- minDistance = intersects[i].distance;
- bestIndex = i;
- }
+ if (!(intersects[i].object instanceof THREE.Mesh && intersects[i].object.material.opacity < 0.1)) {
+ minDistance = intersects[i].distance;
+ bestIndex = i;
}
}
}
diff --git a/stream/js/main.js b/static/js/stream/main.js
similarity index 100%
rename from stream/js/main.js
rename to static/js/stream/main.js
diff --git a/js/three.js b/static/js/three.js
similarity index 100%
rename from js/three.js
rename to static/js/three.js
diff --git a/js/three/DDSLoader.js b/static/js/three/DDSLoader.js
similarity index 100%
rename from js/three/DDSLoader.js
rename to static/js/three/DDSLoader.js
diff --git a/js/three/MTLLoader.js b/static/js/three/MTLLoader.js
similarity index 100%
rename from js/three/MTLLoader.js
rename to static/js/three/MTLLoader.js
diff --git a/js/three/OBJLoader.js b/static/js/three/OBJLoader.js
similarity index 100%
rename from js/three/OBJLoader.js
rename to static/js/three/OBJLoader.js
diff --git a/js/three/OBJMTLLoader.js b/static/js/three/OBJMTLLoader.js
similarity index 100%
rename from js/three/OBJMTLLoader.js
rename to static/js/three/OBJMTLLoader.js
diff --git a/js/three/OrbitControls.js b/static/js/three/OrbitControls.js
similarity index 100%
rename from js/three/OrbitControls.js
rename to static/js/three/OrbitControls.js
diff --git a/js/three/stats.min.js b/static/js/three/stats.min.js
similarity index 100%
rename from js/three/stats.min.js
rename to static/js/three/stats.min.js
diff --git a/js/three/three.min.js b/static/js/three/three.min.js
similarity index 100%
rename from js/three/three.min.js
rename to static/js/three/three.min.js
diff --git a/stream/index.html b/stream/index.html
index 6fa0ca3..9ce504e 100644
--- a/stream/index.html
+++ b/stream/index.html
@@ -1,17 +1,23 @@
-
- Streaming simulator
-
- In fact, it's not really streaming. The sphere is fully
- preloaded and then, a mesh is created and vertices and faces
- are dynamically added to this mesh as time goes by.
-
-
- You can try with a different resolution (between 1 and 25)
-
-
-
-#
-
+---
+title: Streaming simulator
+layout: withjs
+extrajs:
+
+
+---
+
+ Streaming simulator
+
+ In fact, it's not really streaming. The sphere is fully
+ preloaded and then, a mesh is created and vertices and faces
+ are dynamically added to this mesh as time goes by.
+
+
+
+
diff --git a/stream/index.py b/stream/index.py
deleted file mode 100755
index 2f1550a..0000000
--- a/stream/index.py
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/usr/bin/python
-# -*- coding: utf-8 -*-
-
-import sys
-import cgi
-from webtools import Web
-
-def main():
- print('Content-type: text/html')
- print()
-
- page = Web.Element(Web.ROOT_DIR + 'templates/page.html')
- head = Web.Element(Web.ROOT_DIR + 'templates/head.html')
- body = Web.Element(Web.ROOT_DIR + 'templates/body.html')
- jsIncludes = Web.Element(Web.ROOT_DIR + 'templates/jsIncludes.html')
-
- # Parse parameter res
- res = None
- try:
- parameters = cgi.FieldStorage()
- res = int(cgi.escape(parameters.getvalue('res')))
- if res < 1 or res > 25:
- raise IndexError('res must be between 1 and 25')
- except:
- res = 5
-
- mainJs = Web.Element()
- mainJs.open_string = """\
-
- \
-"""
- content = Web.Element('index.html')
-
- page.add_child(head)
- page.add_child(body)
- body.add_child(content)
- body.add_child(jsIncludes)
- jsIncludes.add_child(mainJs)
-
- page.print({'res' : res})
-
-if __name__ == '__main__':
- main()
diff --git a/templates/.htaccess b/templates/.htaccess
deleted file mode 100644
index 3a42882..0000000
--- a/templates/.htaccess
+++ /dev/null
@@ -1 +0,0 @@
-Deny from all
diff --git a/templates/head.html b/templates/head.html
deleted file mode 100644
index f7bdd50..0000000
--- a/templates/head.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
- 3DUI
-
-
-
-#
-
diff --git a/templates/jsIncludes.html b/templates/jsIncludes.html
deleted file mode 100644
index 3273255..0000000
--- a/templates/jsIncludes.html
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
diff --git a/templates/page.html b/templates/page.html
deleted file mode 100644
index 185c5b7..0000000
--- a/templates/page.html
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-#
-
diff --git a/webtools/.htaccess b/webtools/.htaccess
deleted file mode 100644
index 3a42882..0000000
--- a/webtools/.htaccess
+++ /dev/null
@@ -1 +0,0 @@
-Deny from all
diff --git a/webtools/Web.py b/webtools/Web.py
deleted file mode 100755
index ab9d11c..0000000
--- a/webtools/Web.py
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/usr/bin/python
-# -*- coding: utf-8 -*-
-
-import sys
-import os
-
-# ROOT_DIR = '/'.join(__file__.split('/')[:-2]) + '/'
-ROOT_DIR = '/home/thomas/stage/javascript/master/'
-
-
-class Element:
- def __init__(self, filename = None):
- self.children = []
- self.open_string = ''
- self.close_string = ''
- if filename:
- self.load(filename)
-
- def load(self, filename):
- with open(filename, 'r') as f:
- first_part = True
- for line in f:
- if line[0] == '#':
- first_part = False
- continue
- if first_part:
- self.open_string += line
- else:
- self.close_string += line
- self.open_string = self.open_string[:-1]
- self.close_string = self.close_string[:-1]
-
- def open(self, format = {}):
- print(self.open_string % format)
-
- def close(self, format = {}):
- print(self.close_string % format)
-
- def add_child(self, child):
- self.children.append(child)
-
- def print(self, format = {}):
- self.open(format)
- for i in self.children:
- i.print(format)
- self.close(format)
-
-def render(filename):
- print('Content-type: text/html')
- print()
-
- page = Element(ROOT_DIR + 'templates/page.html')
- head = Element(ROOT_DIR + 'templates/head.html')
- body = Element(ROOT_DIR + 'templates/body.html')
- content = Element(filename)
-
- page.add_child(head)
- page.add_child(body)
- body.add_child(content)
-
- page.print()
diff --git a/webtools/__init__.py b/webtools/__init__.py
deleted file mode 100644
index e69de29..0000000