瀏覽代碼

Merge pull request #10290 from bartmcleod/dev

New VRMLLoader based on the VrmlParser project
Mr.doob 8 年之前
父節點
當前提交
1e466921d8
共有 4 個文件被更改,包括 4671 次插入5544 次删除
  1. 83 0
      examples/js/libs/vrml.min.js
  2. 38 1076
      examples/js/loaders/VRMLLoader.js
  3. 4358 4361
      examples/models/vrml/house.wrl
  4. 192 107
      examples/webgl_loader_vrml.html

+ 83 - 0
examples/js/libs/vrml.min.js

@@ -0,0 +1,83 @@
+var $jscomp={scope:{},checkStringArgs:function(a,g,e){if(null==a)throw new TypeError("The 'this' value for String.prototype."+e+" must not be null or undefined");if(g instanceof RegExp)throw new TypeError("First argument to String.prototype."+e+" must not be a regular expression");return a+""}};
+$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(a,g,e){if(e.get||e.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[g]=e.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);
+$jscomp.polyfill=function(a,g,e,l){if(g){e=$jscomp.global;a=a.split(".");for(l=0;l<a.length-1;l++){var k=a[l];k in e||(e[k]={});e=e[k]}a=a[a.length-1];l=e[a];g=g(l);g!=l&&null!=g&&$jscomp.defineProperty(e,a,{configurable:!0,writable:!0,value:g})}};
+$jscomp.polyfill("String.prototype.repeat",function(a){return a?a:function(a){var g=$jscomp.checkStringArgs(this,null,"repeat");if(0>a||1342177279<a)throw new RangeError("Invalid count value");a|=0;for(var l="";a;)if(a&1&&(l+=g),a>>>=1)g+=g;return l}},"es6-impl","es3");
+vrmlParser=function(){function a(g,e,l,k){this.message=g;this.expected=e;this.found=l;this.location=k;this.name="SyntaxError";"function"===typeof Error.captureStackTrace&&Error.captureStackTrace(this,a)}(function(a,e){function g(){this.constructor=a}g.prototype=e.prototype;a.prototype=new g})(a,Error);return{SyntaxError:a,parse:function(g){function e(b){var d=Q[b],c,a;if(!d){for(c=b-1;!Q[c];)c--;d=Q[c];for(d={line:d.line,column:d.column,seenCR:d.seenCR};c<b;)a=g.charAt(c),"\n"===a?(d.seenCR||d.line++,
+d.column=1,d.seenCR=!1):"\r"===a||"\u2028"===a||"\u2029"===a?(d.line++,d.column=1,d.seenCR=!0):(d.column++,d.seenCR=!1),c++;Q[b]=d}return d}function l(b,B){var d=e(b),c=e(B);return{start:{offset:b,line:d.line,column:d.column},end:{offset:B,line:c.line,column:c.column}}}function k(b){c<I||(c>I&&(I=c,ba=[]),ba.push(b))}function y(){var d,B,a;d=c;g.substr(c,15)===ga?(B=ga,c+=15):(B=b,0===n&&k(Qa));if(B!==b){B=[];a=A();a===b&&(a=C(),a===b&&(a=q(),a===b&&(a=z(),a===b&&(a=w()))));for(;a!==b;)B.push(a),
+a=A(),a===b&&(a=C(),a===b&&(a=q(),a===b&&(a=z(),a===b&&(a=w()))));B!==b?(x=d,B.nodeDefinitions=R,B.routes=M,d=B):(c=d,d=b)}else c=d,d=b;return d}function A(){var d,B,a,h;B=d=c;a=ha();a!==b?(a=t(),a!==b?(x=B,B=a):(c=B,B=b)):(c=B,B=b);if(B!==b)if(g.substr(c,23)===ia?(a=ia,c+=23):(a=b,0===n&&k(Ra)),a!==b)if(a=E(),a!==b){a=[];h=D();h===b&&(h=p());if(h!==b)for(;h!==b;)a.push(h),h=D(),h===b&&(h=p());else a=b;if(a!==b)if(h=ja(),h!==b){x=d;d=B;B=a;a={name:d,node:"OrientationInterpolator",isDefinition:!0};
+for(h=0;h<B.length;h++)a[B[h].name]=B[h].value;d=R[d]=a}else c=d,d=b;else c=d,d=b}else c=d,d=b;else c=d,d=b;else c=d,d=b;return d}function D(){var d,a,f,h,e,q;d=c;a=v();a===b&&(a=null);if(a!==b)if(g.substr(c,8)===ka?(a=ka,c+=8):(a=b,0===n&&k(Sa)),a!==b)if(a=J(),a!==b){f=c;h=[];a=c;e=H();e!==b?(q=S(),q!==b?(x=a,a=e):(c=a,a=b)):(c=a,a=b);for(;a!==b;)h.push(a),a=c,e=H(),e!==b?(q=S(),q!==b?(x=a,a=e):(c=a,a=b)):(c=a,a=b);h!==b?(a=H(),a!==b?(x=f,f=h,f.push(a)):(c=f,f=b)):(c=f,f=b);f!==b?(h=G(),h!==b?(x=
+d,d=a={name:"keyValue",value:f}):(c=d,d=b)):(c=d,d=b)}else c=d,d=b;else c=d,d=b;else c=d,d=b;return d}function C(){var d,a,f,g;d=c;a=v();a!==b?(a=c,f=ha(),f!==b?(f=v(),f!==b?(f=t(),f!==b?(g=v(),g!==b?(x=a,a=f):(c=a,a=b)):(c=a,a=b)):(c=a,a=b)):(c=a,a=b),a!==b?(f=q(),f!==b?(x=d,d=a,a=f,a.name=d,a.isDefinition=!0,d=R[d]=a):(c=d,d=b)):(c=d,d=b)):(c=d,d=b);return d}function q(){var d,a,f,g;d=c;a=v();if(a!==b)if(f=t(),f!==b)if(a=E(),a!==b){a=[];g=C();g===b&&(g=w(),g===b&&(g=p(),g===b&&(g=q(),g===b&&(g=
+z()))));for(;g!==b;)a.push(g),g=C(),g===b&&(g=w(),g===b&&(g=p(),g===b&&(g=q(),g===b&&(g=z()))));if(a!==b)if(g=ja(),g!==b)for(x=d,d={node:f},f=0;f<a.length;f++)g=a[f],void 0!==g.node?"Switch"===d.node?(void 0===d.choice&&(d.choice=[]),d.choice.push(g)):(void 0===d.children&&(d.children=[]),d.children.push(g)):void 0!==g.name?(d[g.name]=g.value,void 0!==g.comment&&(void 0===d.comments&&(d.comments={}),void 0===d.comments[g.name]&&(d.comments[g.name]=[]),d.comments[g.name].push(g.comment))):void 0!==
+g.src?M.push(g):(void 0===d.nodeComments&&(d.nodeComments=[]),d.nodeComments.push(g));else c=d,d=b;else c=d,d=b}else c=d,d=b;else c=d,d=b;else c=d,d=b;return d}function p(){var d,a,f;d=c;a=v();a===b&&(a=null);a!==b?(g.substr(c,11)===la?(a=la,c+=11):(a=b,0===n&&k(Ta)),a===b&&(g.substr(c,8)===ma?(a=ma,c+=8):(a=b,0===n&&k(Ua)),a===b&&(g.substr(c,16)===na?(a=na,c+=16):(a=b,0===n&&k(Va)))),a!==b?(f=H(),f!==b?(x=d,d=a={name:a,value:f}):(c=d,d=b)):(c=d,d=b)):(c=d,d=b);if(d===b){d=c;g.substr(c,10)===oa?(a=
+oa,c+=10):(a=b,0===n&&k(Wa));if(a!==b)if(a=v(),a===b&&(a=null),a!==b)if(a=J(),a!==b)if(a=z(),a===b&&(a=null),a!==b)if(a=v(),a===b&&(a=null),a!==b){a=[];f=ca();if(f!==b)for(;f!==b;)a.push(f),f=ca();else a=b;a!==b?(f=v(),f===b&&(f=null),f!==b?(f=z(),f===b&&(f=null),f!==b?(f=G(),f!==b?(f=v(),f===b&&(f=null),f!==b?(x=d,d=a={name:"coordIndex",value:a}):(c=d,d=b)):(c=d,d=b)):(c=d,d=b)):(c=d,d=b)):(c=d,d=b)}else c=d,d=b;else c=d,d=b;else c=d,d=b;else c=d,d=b;else c=d,d=b;if(d===b&&(d=m(),d===b)){var h;d=
+c;a=v();a===b&&(a=null);a!==b?(a=t(),a!==b?(f=v(),f!==b?(f=r(),f!==b?(h=v(),h!==b?(h=z(),h===b&&(h=null),h!==b?(x=d,d={name:a,value:f},null!==h&&(d.comment=h)):(c=d,d=b)):(c=d,d=b)):(c=d,d=b)):(c=d,d=b)):(c=d,d=b)):(c=d,d=b)}}return d}function H(){var d,a,f,h,e,q;d=c;a=v();a===b&&(a=null);if(a!==b)if(a=F(),a!==b){f=[];32===g.charCodeAt(c)?(h=K,c++):(h=b,0===n&&k(L));if(h!==b)for(;h!==b;)f.push(h),32===g.charCodeAt(c)?(h=K,c++):(h=b,0===n&&k(L));else f=b;if(f!==b)if(h=F(),h!==b){e=[];32===g.charCodeAt(c)?
+(f=K,c++):(f=b,0===n&&k(L));if(f!==b)for(;f!==b;)e.push(f),32===g.charCodeAt(c)?(f=K,c++):(f=b,0===n&&k(L));else e=b;if(e!==b)if(f=F(),f!==b){q=[];32===g.charCodeAt(c)?(e=K,c++):(e=b,0===n&&k(L));if(e!==b)for(;e!==b;)q.push(e),32===g.charCodeAt(c)?(e=K,c++):(e=b,0===n&&k(L));else q=b;q!==b?(e=F(),e!==b?(q=v(),q===b&&(q=null),q!==b?(x=d,d=a={x:a,y:h,z:f,radians:e}):(c=d,d=b)):(c=d,d=b)):(c=d,d=b)}else c=d,d=b;else c=d,d=b}else c=d,d=b;else c=d,d=b}else c=d,d=b;else c=d,d=b;return d}function m(){var d,
+a,f,h;d=c;g.substr(c,5)===pa?(a=pa,c+=5):(a=b,0===n&&k(Xa));a===b&&(g.substr(c,6)===qa?(a=qa,c+=6):(a=b,0===n&&k(Ya)));if(a!==b)if(f=v(),f===b&&(f=null),f!==b)if(f=J(),f!==b)if(f=z(),f===b&&(f=null),f!==b)if(f=v(),f===b&&(f=null),f!==b){f=[];h=da();if(h!==b)for(;h!==b;)f.push(h),h=da();else f=b;f!==b?(h=z(),h===b&&(h=null),h!==b?(h=G(),h!==b?(h=v(),h===b&&(h=null),h!==b?(x=d,d=a={name:a,value:f}):(c=d,d=b)):(c=d,d=b)):(c=d,d=b)):(c=d,d=b)}else c=d,d=b;else c=d,d=b;else c=d,d=b;else c=d,d=b;else c=
+d,d=b;return d}function t(){var d,a,f;n++;d=c;a=v();a===b&&(a=null);if(a!==b){a=[];ra.test(g.charAt(c))?(f=g.charAt(c),c++):(f=b,0===n&&k(sa));if(f!==b)for(;f!==b;)a.push(f),ra.test(g.charAt(c))?(f=g.charAt(c),c++):(f=b,0===n&&k(sa));else a=b;a!==b?(f=v(),f===b&&(f=null),f!==b?(x=d,d=a=a.join("")):(c=d,d=b)):(c=d,d=b)}else c=d,d=b;n--;d===b&&0===n&&k(Za);return d}function r(){var d;n++;var a;g.substr(c,5)===ta?(d=ta,c+=5):(d=b,0===n&&k($a));d===b&&(d=c,g.substr(c,5)===ua?(a=ua,c+=5):(a=b,0===n&&k(ab)),
+a!==b&&(x=d,a=!1),d=a);if(d===b&&(d=A(),d===b&&(d=ca(),d===b&&(g.substr(c,4)===va?(d=va,c+=4):(d=b,0===n&&k(bb)),d===b&&(d=c,g.substr(c,4)===wa?(a=wa,c+=4):(a=b,0===n&&k(cb)),a!==b&&(x=d,a=null),d=a),d===b&&(g.substr(c,4)===xa?(d=xa,c+=4):(d=b,0===n&&k(db)),d===b&&(d=c,g.substr(c,4)===ya?(a=ya,c+=4):(a=b,0===n&&k(eb)),a!==b&&(x=d,a=!0),d=a),d===b&&(d=C(),d===b&&(d=q(),d===b&&(d=da(),d===b&&(d=m(),d===b&&(d=za(),d===b)))))))))){var f,h;d=c;a=v();a!==b?(a=F(),a!==b?(f=v(),f!==b?(f=F(),f!==b?(h=v(),
+h!==b?(h=z(),h===b&&(h=null),h!==b?(x=d,d=a={x:a,y:f}):(c=d,d=b)):(c=d,d=b)):(c=d,d=b)):(c=d,d=b)):(c=d,d=b)):(c=d,d=b);if(d===b&&(d=c,a=v(),a!==b?(a=c,g.substr(c,3)===Aa?(f=Aa,c+=3):(f=b,0===n&&k(fb)),f!==b&&(x=a,f=!0),f!==b?(a=v(),a!==b?(a=t(),a!==b?(x=d,d=R[a],void 0===d?(console.log(a+" not found in nodeDefinitions"),a=d):a="function"===typeof d.clone?d.clone():d,d=a):(c=d,d=b)):(c=d,d=b)):(c=d,d=b)):(c=d,d=b),d===b)){var e;n++;a=c;d=J();if(d!==b){d=[];f=z();f===b&&(f=w(),f===b&&(f=c,h=r(),h!==
+b?(e=v(),e!==b?(e=S(),e===b&&(e=null),e!==b?(x=f,f=h):(c=f,f=b)):(c=f,f=b)):(c=f,f=b)));for(;f!==b;)d.push(f),f=z(),f===b&&(f=w(),f===b&&(f=c,h=r(),h!==b?(e=v(),e!==b?(e=S(),e===b&&(e=null),e!==b?(x=f,f=h):(c=f,f=b)):(c=f,f=b)):(c=f,f=b)));if(d!==b)if(f=G(),f!==b)for(x=a,a=[],f=0;f<d.length;f++)h=d[f],void 0!==h.src?M.push(h):void 0!==h.comment?(void 0===a.comments&&(a.comments=[]),a.comments.push(h)):a.push(h);else c=a,a=b;else c=a,a=b}else c=a,a=b;n--;a===b&&0===n&&k(gb);d=a;if(d===b&&(d=F(),d===
+b&&(d=t(),d===b))){d=c;a=v();if(a!==b)if(a=J(),a!==b)if(a=v(),a!==b)if(a=T(),a!==b){a=c;f=[];U.test(g.charAt(c))?(h=g.charAt(c),c++):(h=b,0===n&&k(V));for(;h!==b;)f.push(h),U.test(g.charAt(c))?(h=g.charAt(c),c++):(h=b,0===n&&k(V));f!==b?(46===g.charCodeAt(c)?(h=ea,c++):(h=b,0===n&&k(fa)),h!==b?(g.substr(c,3)===Ba?(e=Ba,c+=3):(e=b,0===n&&k(hb)),e===b&&(g.substr(c,4)===Ca?(e=Ca,c+=4):(e=b,0===n&&k(ib)),e===b&&(g.substr(c,3)===Da?(e=Da,c+=3):(e=b,0===n&&k(jb)),e===b&&(g.substr(c,3)===Ea?(e=Ea,c+=3):
+(e=b,0===n&&k(kb))))),e!==b?(x=a,a=f+h+e):(c=a,a=b)):(c=a,a=b)):(c=a,a=b);a!==b?(f=T(),f!==b?(f=v(),f!==b?(f=G(),f!==b?(f=v(),f!==b?(x=d,d=a):(c=d,d=b)):(c=d,d=b)):(c=d,d=b)):(c=d,d=b)):(c=d,d=b)}else c=d,d=b;else c=d,d=b;else c=d,d=b;else c=d,d=b;if(d===b)if(d=c,a=v(),a!==b)if(a=T(),a!==b){a=[];U.test(g.charAt(c))?(f=g.charAt(c),c++):(f=b,0===n&&k(V));for(;f!==b;)a.push(f),U.test(g.charAt(c))?(f=g.charAt(c),c++):(f=b,0===n&&k(V));a!==b?(f=T(),f!==b?(f=v(),f!==b?(x=d,d=a=a.join("")):(c=d,d=b)):(c=
+d,d=b)):(c=d,d=b)}else c=d,d=b;else c=d,d=b}}}n--;d===b&&0===n&&k(lb);return d}function F(){var a,e,f,h;n++;a=c;e=N();e===b&&(e=null);if(e!==b)if(e=c,f=u(),f!==b?(h=O(),h===b&&(h=null),h!==b?e=f=[f,h]:(c=e,e=b)):(c=e,e=b),e===b&&(e=O()),e!==b){var q,l;e=c;mb.test(g.charAt(c))?(f=g.charAt(c),c++):(f=b,0===n&&k(nb));if(f!==b)if(h=N(),h===b&&(43===g.charCodeAt(c)?(h=ob,c++):(h=b,0===n&&k(pb))),h===b&&(h=null),h!==b){q=[];l=P();if(l!==b)for(;l!==b;)q.push(l),l=P();else q=b;q!==b?e=f=[f,h,q]:(c=e,e=b)}else c=
+e,e=b;else c=e,e=b;f=e;f===b&&(f=null);f!==b?(x=a,a=e=parseFloat(g.substring(x,c))):(c=a,a=b)}else c=a,a=b;else c=a,a=b;n--;a===b&&0===n&&k(qb);return a}function O(){var a,e,f,h;a=c;46===g.charCodeAt(c)?(e=ea,c++):(e=b,0===n&&k(fa));if(e!==b){f=[];for(h=P();h!==b;)f.push(h),h=P();f!==b?a=e=[e,f]:(c=a,a=b)}else c=a,a=b;return a}function u(){var a,e,f;a=c;48===g.charCodeAt(c)?(e=rb,c++):(e=b,0===n&&k(sb));e===b&&(tb.test(g.charAt(c))?(e=g.charAt(c),c++):(e=b,0===n&&k(ub)));if(e!==b){var h,q;f=c;h=[];
+for(q=P();q!==b;)h.push(q),q=P();h!==b&&(x=f,h=h.join(""));f=h;f!==b?(x=a,a=e+f):(c=a,a=b)}else c=a,a=b;return a}function N(){var a;45===g.charCodeAt(c)?(a=vb,c++):(a=b,0===n&&k(wb));return a}function z(){var a,e,f;a=c;e=v();if(e!==b)if(35===g.charCodeAt(c)?(e=xb,c++):(e=b,0===n&&k(yb)),e!==b){e=[];Fa.test(g.charAt(c))?(f=g.charAt(c),c++):(f=b,0===n&&k(Ga));for(;f!==b;)e.push(f),Fa.test(g.charAt(c))?(f=g.charAt(c),c++):(f=b,0===n&&k(Ga));e!==b?(f=v(),f!==b?(x=a,a=e={comment:e.join("").trim()}):(c=
+a,a=b)):(c=a,a=b)}else c=a,a=b;else c=a,a=b;return a}function w(){var a,e,f,h;a=c;e=v();e!==b?(g.substr(c,5)===Ha?(e=Ha,c+=5):(e=b,0===n&&k(zb)),e!==b?(e=v(),e!==b?(e=W(),e!==b?(f=v(),f!==b?(g.substr(c,2)===Ia?(f=Ia,c+=2):(f=b,0===n&&k(Ab)),f!==b?(f=v(),f!==b?(f=W(),f!==b?(h=v(),h!==b?(x=a,a=e.name,e={source:e,target:f},"undefined"===typeof M[a]&&(M[a]=[]),M[a].push(e),a=e):(c=a,a=b)):(c=a,a=b)):(c=a,a=b)):(c=a,a=b)):(c=a,a=b)):(c=a,a=b)):(c=a,a=b)):(c=a,a=b)):(c=a,a=b);return a}function W(){var a,
+e,f;a=c;e=t();e!==b?(46===g.charCodeAt(c)?(f=ea,c++):(f=b,0===n&&k(fa)),f!==b?(f=t(),f!==b?(x=a,a=e={name:e,property:f}):(c=a,a=b)):(c=a,a=b)):(c=a,a=b);return a}function J(){var a,e,f,h;a=c;e=v();e===b&&(e=null);e!==b?(91===g.charCodeAt(c)?(f=Bb,c++):(f=b,0===n&&k(Cb)),f!==b?(h=v(),h===b&&(h=null),h!==b?a=e=[e,f,h]:(c=a,a=b)):(c=a,a=b)):(c=a,a=b);return a}function G(){var a,e,f,h;a=c;e=v();e===b&&(e=null);e!==b?(93===g.charCodeAt(c)?(f=Db,c++):(f=b,0===n&&k(Eb)),f!==b?(h=v(),h===b&&(h=null),h!==
+b?a=e=[e,f,h]:(c=a,a=b)):(c=a,a=b)):(c=a,a=b);return a}function E(){var a,e,f,h;a=c;e=v();e===b&&(e=null);e!==b?(123===g.charCodeAt(c)?(f=Fb,c++):(f=b,0===n&&k(Gb)),f!==b?(h=v(),h===b&&(h=null),h!==b?a=e=[e,f,h]:(c=a,a=b)):(c=a,a=b)):(c=a,a=b);return a}function ja(){var a,e,f,h;a=c;e=v();e===b&&(e=null);e!==b?(125===g.charCodeAt(c)?(f=Hb,c++):(f=b,0===n&&k(Ib)),f!==b?(h=v(),h===b&&(h=null),h!==b?a=e=[e,f,h]:(c=a,a=b)):(c=a,a=b)):(c=a,a=b);return a}function S(){var a,e,f,h;a=c;e=v();e===b&&(e=null);
+e!==b?(44===g.charCodeAt(c)?(f=X,c++):(f=b,0===n&&k(Y)),f!==b?(h=v(),h===b&&(h=null),h!==b?a=e=[e,f,h]:(c=a,a=b)):(c=a,a=b)):(c=a,a=b);return a}function v(){var a,e,f;n++;a=c;e=[];Ja.test(g.charAt(c))?(f=g.charAt(c),c++):(f=b,0===n&&k(Ka));for(;f!==b;)e.push(f),Ja.test(g.charAt(c))?(f=g.charAt(c),c++):(f=b,0===n&&k(Ka));e!==b&&(x=a,e=e.join(""));a=e;n--;a===b&&0===n&&k(Jb);return a}function da(){var a,e,f;a=c;e=za();e!==b?(44===g.charCodeAt(c)?(f=X,c++):(f=b,0===n&&k(Y)),f===b&&(f=null),f!==b?(f=
+v(),f!==b?(f=z(),f===b&&(f=null),f!==b?(x=a,a=e):(c=a,a=b)):(c=a,a=b)):(c=a,a=b)):(c=a,a=b);return a}function za(){var a,e,f,g,k;a=c;e=v();e===b&&(e=null);e!==b?(e=F(),e!==b?(f=v(),f!==b?(f=F(),f!==b?(g=v(),g!==b?(g=F(),g!==b?(k=v(),k!==b?(k=z(),k===b&&(k=null),k!==b?(x=a,a=e={x:e,y:f,z:g}):(c=a,a=b)):(c=a,a=b)):(c=a,a=b)):(c=a,a=b)):(c=a,a=b)):(c=a,a=b)):(c=a,a=b)):(c=a,a=b);return a}function ha(){var a,e;a=c;e=v();e===b&&(e=null);e!==b?(g.substr(c,3)===La?(e=La,c+=3):(e=b,0===n&&k(Kb)),e!==b?(e=
+v(),e===b&&(e=null),e!==b?(x=a,a=!0):(c=a,a=b)):(c=a,a=b)):(c=a,a=b);return a}function ca(){var a,e,f;a=c;e=[];f=Ma();if(f!==b)for(;f!==b;)e.push(f),f=Ma();else e=b;e!==b?(g.substr(c,2)===Na?(f=Na,c+=2):(f=b,0===n&&k(Lb)),f!==b?(44===g.charCodeAt(c)?(f=X,c++):(f=b,0===n&&k(Y)),f===b&&(f=null),f!==b?(f=v(),f!==b?(x=a,a=e):(c=a,a=b)):(c=a,a=b)):(c=a,a=b)):(c=a,a=b);return a}function Ma(){var a,e,f,h,q,l;a=c;e=u();if(e!==b){f=c;h=v();h!==b?(44===g.charCodeAt(c)?(q=X,c++):(q=b,0===n&&k(Y)),q!==b?(32===
+g.charCodeAt(c)?(l=K,c++):(l=b,0===n&&k(L)),l===b&&(l=null),l!==b?f=h=[h,q,l]:(c=f,f=b)):(c=f,f=b)):(c=f,f=b);if(f===b)if(f=[],32===g.charCodeAt(c)?(h=K,c++):(h=b,0===n&&k(L)),h!==b)for(;h!==b;)f.push(h),32===g.charCodeAt(c)?(h=K,c++):(h=b,0===n&&k(L));else f=b;f!==b?(x=a,a=e):(c=a,a=b)}else c=a,a=b;return a}function T(){var a;34===g.charCodeAt(c)?(a=Mb,c++):(a=b,0===n&&k(Nb));return a}function P(){var a;Ob.test(g.charAt(c))?(a=g.charAt(c),c++):(a=b,0===n&&k(Pb));return a}var Z=1<arguments.length?
+arguments[1]:{},b={},Oa={vrml:y},Pa=y,ga="#VRML V2.0 utf8",Qa={type:"literal",value:"#VRML V2.0 utf8",description:'"#VRML V2.0 utf8"'},ia="OrientationInterpolator",Ra={type:"literal",value:"OrientationInterpolator",description:'"OrientationInterpolator"'},ka="keyValue",Sa={type:"literal",value:"keyValue",description:'"keyValue"'},la="orientation",Ta={type:"literal",value:"orientation",description:'"orientation"'},ma="rotation",Ua={type:"literal",value:"rotation",description:'"rotation"'},na="scaleOrientation",
+Va={type:"literal",value:"scaleOrientation",description:'"scaleOrientation"'},K=" ",L={type:"literal",value:" ",description:'" "'},oa="coordIndex",Wa={type:"literal",value:"coordIndex",description:'"coordIndex"'},pa="point",Xa={type:"literal",value:"point",description:'"point"'},qa="vector",Ya={type:"literal",value:"vector",description:'"vector"'},Za={type:"other",description:"identifier"},ra=/^[A-Za-z0-9_]/,sa={type:"class",value:"[A-Za-z0-9_]",description:"[A-Za-z0-9_]"},gb={type:"other",description:"array"},
+lb={type:"other",description:"value"},ta="false",$a={type:"literal",value:"false",description:'"false"'},ua="FALSE",ab={type:"literal",value:"FALSE",description:'"FALSE"'},va="null",bb={type:"literal",value:"null",description:'"null"'},wa="NULL",cb={type:"literal",value:"NULL",description:'"NULL"'},xa="true",db={type:"literal",value:"true",description:'"true"'},ya="TRUE",eb={type:"literal",value:"TRUE",description:'"TRUE"'},qb={type:"other",description:"number"},ea=".",fa={type:"literal",value:".",
+description:'"."'},tb=/^[1-9]/,ub={type:"class",value:"[1-9]",description:"[1-9]"},mb=/^[eE]/,nb={type:"class",value:"[eE]",description:"[eE]"},vb="-",wb={type:"literal",value:"-",description:'"-"'},ob="+",pb={type:"literal",value:"+",description:'"+"'},rb="0",sb={type:"literal",value:"0",description:'"0"'},xb="#",yb={type:"literal",value:"#",description:'"#"'},Fa=/^[^\n]/,Ga={type:"class",value:"[^\\n]",description:"[^\\n]"},Ha="ROUTE",zb={type:"literal",value:"ROUTE",description:'"ROUTE"'},Ia="TO",
+Ab={type:"literal",value:"TO",description:'"TO"'},Bb="[",Cb={type:"literal",value:"[",description:'"["'},Db="]",Eb={type:"literal",value:"]",description:'"]"'},Fb="{",Gb={type:"literal",value:"{",description:'"{"'},Hb="}",Ib={type:"literal",value:"}",description:'"}"'},X=",",Y={type:"literal",value:",",description:'","'},Jb={type:"other",description:"whitespace"},Ja=/^[ \t\n\r]/,Ka={type:"class",value:"[ \\t\\n\\r]",description:"[ \\t\\n\\r]"},La="DEF",Kb={type:"literal",value:"DEF",description:'"DEF"'},
+Aa="USE",fb={type:"literal",value:"USE",description:'"USE"'},Na="-1",Lb={type:"literal",value:"-1",description:'"-1"'},U=/^[^"]/,V={type:"class",value:'[^"]',description:'[^"]'},Ba="jpg",hb={type:"literal",value:"jpg",description:'"jpg"'},Ca="jpeg",ib={type:"literal",value:"jpeg",description:'"jpeg"'},Da="gif",jb={type:"literal",value:"gif",description:'"gif"'},Ea="wrl",kb={type:"literal",value:"wrl",description:'"wrl"'},Mb='"',Nb={type:"literal",value:'"',description:'"\\""'},Ob=/^[0-9]/,Pb={type:"class",
+value:"[0-9]",description:"[0-9]"},c=0,x=0,Q=[{line:1,column:1,seenCR:!1}],I=0,ba=[],n=0,aa;if("startRule"in Z){if(!(Z.startRule in Oa))throw Error("Can't start parsing from rule \""+Z.startRule+'".');Pa=Oa[Z.startRule]}var R={},M={};aa=Pa();if(aa!==b&&c===g.length)return aa;aa!==b&&c<g.length&&k({type:"end",description:"end of input"});throw function(b,c,e,g){function d(a){var b=1;for(a.sort(function(a,b){return a.description<b.description?-1:a.description>b.description?1:0});b<a.length;)a[b-1]===
+a[b]?a.splice(b,1):b++}function f(a,b){function c(a){function b(a){return a.charCodeAt(0).toString(16).toUpperCase()}return a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E\x0F]/g,function(a){return"\\x0"+b(a)}).replace(/[\x10-\x1F\x80-\xFF]/g,function(a){return"\\x"+b(a)}).replace(/[\u0100-\u0FFF]/g,function(a){return"\\u0"+b(a)}).replace(/[\u1000-\uFFFF]/g,function(a){return"\\u"+
+b(a)})}var d=Array(a.length),e;for(e=0;e<a.length;e++)d[e]=a[e].description;d=1<a.length?d.slice(0,-1).join(", ")+" or "+d[a.length-1]:d[0];e=b?'"'+c(b)+'"':"end of input";return"Expected "+d+" but "+e+" found."}null!==c&&d(c);return new a(null!==b?b:f(c,e),c,e,g)}(null,ba,I<g.length?g.charAt(I):null,I<g.length?l(I,I+1):l(I,I));}}}();var TWEEN=TWEEN||function(){var a=[];return{getAll:function(){return a},removeAll:function(){a=[]},add:function(g){a.push(g)},remove:function(g){g=a.indexOf(g);-1!==g&&a.splice(g,1)},update:function(g,e){if(0===a.length)return!1;var l=0;for(g=void 0!==g?g:TWEEN.now();l<a.length;)a[l].update(g)||e?l++:a.splice(l,1);return!0}}}();
+(function(){TWEEN.now=void 0===this.window&&void 0!==this.process?function(){var a=process.hrtime();return 1E3*a[0]+a[1]/1E3}:void 0!==this.window&&void 0!==window.performance&&void 0!==window.performance.now?window.performance.now.bind(window.performance):void 0!==Date.now?Date.now:function(){return(new Date).getTime()}})();
+TWEEN.Tween=function(a){var g={},e={},l={},k=1E3,y=0,A=!1,D=!1,C=0,q=null,p=TWEEN.Easing.Linear.None,H=TWEEN.Interpolation.Linear,m=[],t=null,r=!1,F=null,O=null,u=null,N;for(N in a)g[N]=parseFloat(a[N],10);this.to=function(a,g){void 0!==g&&(k=g);e=a;return this};this.start=function(k){TWEEN.add(this);D=!0;r=!1;q=void 0!==k?k:TWEEN.now();q+=C;for(var m in e){if(e[m]instanceof Array){if(0===e[m].length)continue;e[m]=[a[m]].concat(e[m])}void 0!==g[m]&&(g[m]=a[m],!1===g[m]instanceof Array&&(g[m]*=1),
+l[m]=g[m]||0)}return this};this.stop=function(){if(!D)return this;TWEEN.remove(this);D=!1;null!==u&&u.call(a);this.stopChainedTweens();return this};this.stopChainedTweens=function(){for(var a=0,e=m.length;a<e;a++)m[a].stop()};this.delay=function(a){C=a;return this};this.repeat=function(a){y=a;return this};this.yoyo=function(a){A=a;return this};this.easing=function(a){p=a;return this};this.interpolation=function(a){H=a;return this};this.chain=function(){m=arguments;return this};this.onStart=function(a){t=
+a;return this};this.onUpdate=function(a){F=a;return this};this.onComplete=function(a){O=a;return this};this.onStop=function(a){u=a;return this};this.update=function(u){var w,z,J;if(u<q)return!0;!1===r&&(null!==t&&t.call(a),r=!0);z=(u-q)/k;z=1<z?1:z;J=p(z);for(w in e)if(void 0!==g[w]){var G=g[w]||0,E=e[w];E instanceof Array?a[w]=H(E,J):("string"===typeof E&&(E="+"===E.charAt(0)||"-"===E.charAt(0)?G+parseFloat(E,10):parseFloat(E,10)),"number"===typeof E&&(a[w]=G+(E-G)*J))}null!==F&&F.call(a,J);if(1===
+z)if(0<y){isFinite(y)&&y--;for(w in l)"string"===typeof e[w]&&(l[w]+=parseFloat(e[w],10)),A&&(z=l[w],l[w]=e[w],e[w]=z),g[w]=l[w];q=u+C}else{null!==O&&O.call(a);u=0;for(w=m.length;u<w;u++)m[u].start(q+k);return!1}return!0}};
+TWEEN.Easing={Linear:{None:function(a){return a}},Quadratic:{In:function(a){return a*a},Out:function(a){return a*(2-a)},InOut:function(a){return 1>(a*=2)?.5*a*a:-.5*(--a*(a-2)-1)}},Cubic:{In:function(a){return a*a*a},Out:function(a){return--a*a*a+1},InOut:function(a){return 1>(a*=2)?.5*a*a*a:.5*((a-=2)*a*a+2)}},Quartic:{In:function(a){return a*a*a*a},Out:function(a){return 1- --a*a*a*a},InOut:function(a){return 1>(a*=2)?.5*a*a*a*a:-.5*((a-=2)*a*a*a-2)}},Quintic:{In:function(a){return a*a*a*a*a},Out:function(a){return--a*
+a*a*a*a+1},InOut:function(a){return 1>(a*=2)?.5*a*a*a*a*a:.5*((a-=2)*a*a*a*a+2)}},Sinusoidal:{In:function(a){return 1-Math.cos(a*Math.PI/2)},Out:function(a){return Math.sin(a*Math.PI/2)},InOut:function(a){return.5*(1-Math.cos(Math.PI*a))}},Exponential:{In:function(a){return 0===a?0:Math.pow(1024,a-1)},Out:function(a){return 1===a?1:1-Math.pow(2,-10*a)},InOut:function(a){return 0===a?0:1===a?1:1>(a*=2)?.5*Math.pow(1024,a-1):.5*(-Math.pow(2,-10*(a-1))+2)}},Circular:{In:function(a){return 1-Math.sqrt(1-
+a*a)},Out:function(a){return Math.sqrt(1- --a*a)},InOut:function(a){return 1>(a*=2)?-.5*(Math.sqrt(1-a*a)-1):.5*(Math.sqrt(1-(a-=2)*a)+1)}},Elastic:{In:function(a){return 0===a?0:1===a?1:-Math.pow(2,10*(a-1))*Math.sin(5*(a-1.1)*Math.PI)},Out:function(a){return 0===a?0:1===a?1:Math.pow(2,-10*a)*Math.sin(5*(a-.1)*Math.PI)+1},InOut:function(a){if(0===a)return 0;if(1===a)return 1;a*=2;return 1>a?-.5*Math.pow(2,10*(a-1))*Math.sin(5*(a-1.1)*Math.PI):.5*Math.pow(2,-10*(a-1))*Math.sin(5*(a-1.1)*Math.PI)+
+1}},Back:{In:function(a){return a*a*(2.70158*a-1.70158)},Out:function(a){return--a*a*(2.70158*a+1.70158)+1},InOut:function(a){return 1>(a*=2)?.5*a*a*(3.5949095*a-2.5949095):.5*((a-=2)*a*(3.5949095*a+2.5949095)+2)}},Bounce:{In:function(a){return 1-TWEEN.Easing.Bounce.Out(1-a)},Out:function(a){return a<1/2.75?7.5625*a*a:a<2/2.75?7.5625*(a-=1.5/2.75)*a+.75:a<2.5/2.75?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375},InOut:function(a){return.5>a?.5*TWEEN.Easing.Bounce.In(2*a):.5*TWEEN.Easing.Bounce.Out(2*
+a-1)+.5}}};
+TWEEN.Interpolation={Linear:function(a,g){var e=a.length-1,l=e*g,k=Math.floor(l),y=TWEEN.Interpolation.Utils.Linear;return 0>g?y(a[0],a[1],l):1<g?y(a[e],a[e-1],e-l):y(a[k],a[k+1>e?e:k+1],l-k)},Bezier:function(a,g){for(var e=0,l=a.length-1,k=Math.pow,y=TWEEN.Interpolation.Utils.Bernstein,A=0;A<=l;A++)e+=k(1-g,l-A)*k(g,A)*a[A]*y(l,A);return e},CatmullRom:function(a,g){var e=a.length-1,l=e*g,k=Math.floor(l),y=TWEEN.Interpolation.Utils.CatmullRom;return a[0]===a[e]?(0>g&&(k=Math.floor(l=e*(1+g))),y(a[(k-
+1+e)%e],a[k],a[(k+1)%e],a[(k+2)%e],l-k)):0>g?a[0]-(y(a[0],a[0],a[1],a[1],-l)-a[0]):1<g?a[e]-(y(a[e],a[e],a[e-1],a[e-1],l-e)-a[e]):y(a[k?k-1:0],a[k],a[e<k+1?e:k+1],a[e<k+2?e:k+2],l-k)},Utils:{Linear:function(a,g,e){return(g-a)*e+a},Bernstein:function(a,g){var e=TWEEN.Interpolation.Utils.Factorial;return e(a)/e(g)/e(a-g)},Factorial:function(){var a=[1];return function(g){var e=1;if(a[g])return a[g];for(var l=g;1<l;l--)e*=l;return a[g]=e}}(),CatmullRom:function(a,g,e,l,k){a=.5*(e-a);l=.5*(l-g);var y=
+k*k;return(2*g-2*e+a+l)*k*y+(-3*g+3*e-2*a-l)*y+a*k+g}}};(function(a){"function"===typeof define&&define.amd?define([],function(){return TWEEN}):"undefined"!==typeof module&&"object"===typeof exports?module.exports=TWEEN:void 0!==a&&(a.TWEEN=TWEEN)})(this);/*
+ Bart McLeod 2016, [email protected]
+ @author Bart McLeod / http://spaceweb.nl/
+*/
+window.VrmlParser={};VrmlParser.Renderer={};VrmlParser.Renderer.ThreeJs=function(a){this.debug=a?!0:!1};
+VrmlParser.Renderer.ThreeJs.prototype={debug:!1,REVISION:1,constructor:VrmlParser.Renderer.ThreeJs,log:function(){console.log.apply(console,arguments)},warn:function(){console.warn.apply(console,arguments)},error:function(){console.error.apply(console,arguments)},render:function(a,g){var e=this;console.log("VrmlParser.Renderer.ThreeJsRenderer "+this.REVISION);for(var l=function(a){return{r:a.x,g:a.y,b:a.z}},k=function(a,e,g,k,t){var q,m,p;q=t?1:-1;for(var u=["a","b","c","d"],y=[],z,w,H,A=0;A<g.length;A++){var G=
+{};G.y=q*Math.cos(g[A])*e;G.x=q*Math.sin(g[A])*e;y.push(G)}for(A=0;A<a.faces.length;A++)for(g=a.faces[A],q=g instanceof THREE.Face3?3:4,G=0;G<q;G++){m=g[u[G]];m=a.vertices[m];for(var E=0;E<k.length;E++)if(w=0===E?t?e:-1*e:y[E-1].y,H=y[E],void 0!==H){if(p=t?m.y<=w&&m.y>H.y:m.y>=w&&m.y<H.y){z=k[E+1];p=k[E];w=Math.abs(m.y-w)/(w-H.y);var C=z;z=w;p=l(p);C=l(C);w=p.r-C.r;H=p.g-C.g;var C=p.b-C.b,D=new THREE.Color;D.r=p.r-z*w;D.g=p.g-z*H;D.b=p.b-z*C;p=D;g.vertexColors[G]=p}}else void 0===g.vertexColors[G]&&
+(p=t?k.length-1:0,g.vertexColors[G]=l(k[p]))}},y=function(a){return"undefined"!==typeof this[a]&&null!==this[a]},A=function(a){if(void 0===a.node)return!1;a.has=y;var p=new THREE.Object3D,q=!1;switch(a.node){case "NavigationInfo":p=!1;(new VrmlParser.Renderer.ThreeJs.VrmlNode.NavigationInfo(a,e.debug)).parse(g);break;case "Viewpoint":q=(new VrmlParser.Renderer.ThreeJs.VrmlNode.Viewpoint(a,e.debug)).parse(g);p=q.getCamera();e.viewpoints[p.name]=q;break;case "OrientationInterpolator":case "PositionInterpolator":break;
+case "Switch":p=0<=a.whichChoice&&a.whichChoice<a.choice.length?A(a.choice[a.whichChoice]):!1;break;case "Group":case "Transform":p=new THREE.Group;if(a.has("children"))if(a.children.has=y,a.children.has("node"))q=A(a.children),!1!==q&&p.add(q);else if(a.children.has("length"))for(var m=0;m<a.children.length;m++)q=a.children[m],q.has=y,q=A(q),!1!==q&&p.add(q);m={x:0,y:0,z:0};a.has("translation")&&(m=a.translation,p.position.set(m.x,m.y,m.z));var t={x:0,y:0,z:0,radians:0};a.has("rotation")&&(t=a.rotation);
+if(a.has("scale")){var r=a.scale;p.scale.set(r.x,r.y,r.z)}q=new THREE.Group;a.has("center")||(a.center={x:0,y:0,z:0});r=a.center;q.position.set(m.x+r.x,m.y+r.y,m.z+r.z);p.position.set(0-r.x,0-r.y,0-r.z);q.quaternion.setFromAxisAngle(new THREE.Vector3(t.x,t.y,t.z),t.radians);q.add(p);break;case "Shape":var F=a.has("geometry")&&"IndexedLineSet"===a.geometry.node,C=a.has("geometry")&&"PointSet"===a.geometry.node,p=F?new THREE.Line:C?new THREE.Points({size:.01}):new THREE.Mesh;a.has("geometry")&&(p.geometry=
+A(a.geometry));if(a.has("appearance")){t=a.appearance;t.has=y;if(t.has("material")){var u=t.material;u.has=y;F?(m=new THREE.LineBasicMaterial,u.has("color")&&(r=l(u.color),m.color.setRGB(r.r,r.g,r.b))):C?(u.has("diffuseColor")&&(r=l(u.diffuseColor)),u.has("emissiveColor")&&(r=l(u.emissiveColor)),m=new THREE.ShaderMaterial({vertexShader:"void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n\tgl_PointSize = 3.0;\n}",fragmentShader:"void main() {\n\tgl_FragColor = vec4( "+
+r.r+", "+r.g+", "+r.b+", 1.0 );\n}"})):(m=new THREE.MeshPhongMaterial,u.has("diffuseColor")&&(r=l(u.diffuseColor),m.color.setRGB(r.r,r.g,r.b)),u.has("emissiveColor")&&(r=l(u.emissiveColor),m.emissive.setRGB(r.r,r.g,r.b)),u.has("specularColor")&&(r=l(u.specularColor),m.specular.setRGB(r.r,r.g,r.b)),u.has("transparency")&&(m.opacity=Math.abs(1-u.transparency),m.transparent=!0),t.has("texture")&&void 0!==t.texture.node&&"ImageTexture"===t.texture.node&&(t=t.texture.url[0],void 0!=t&&t&&(e.log("Loading image: "+
+t),t=(new THREE.TextureLoader).load(t,function(a){void 0!==a.image&&a.repeat.set(a.image.height/a.image.width*2,2)}),t.wrapS=THREE.ClampToEdgeWrapping,t.wrapT=THREE.ClampToEdgeWrapping,e.log(t),m.map=t)))}p.material=m;"IndexedFaceSet"===a.geometry.node&&(p.material.side=THREE.DoubleSide)}break;case "Background":p=!1;m=2E4;t=new THREE.SphereGeometry(m,20,20);r=new THREE.MeshBasicMaterial({fog:!1,side:THREE.BackSide});1<a.skyColor.length?(k(t,m,a.skyAngle,a.skyColor,!0),r.vertexColors=THREE.VertexColors):
+(m=l(a.skyColor[0]),r.color.setRGB(m.r,m.g,m.b));m=new THREE.Mesh(t,r);m.userData.originalVrmlNode=a;g.add(m);a.has("groundColor")&&(m=12E3,t=new THREE.SphereGeometry(m,20,20,0,2*Math.PI,.5*Math.PI,1.5*Math.PI),r=new THREE.MeshBasicMaterial({fog:!1,side:THREE.BackSide,vertexColors:THREE.VertexColors}),k(t,m,a.groundAngle,a.groundColor,!1),m=new THREE.Mesh(t,r),m.userData.originalVrmlNode=a,m.receiveShadow=!0,g.add(m));break;case "Box":r=a.size;p=new THREE.BoxGeometry(r.x,r.y,r.z);p.shading=THREE.SmoothShading;
+break;case "Cylinder":p=new THREE.CylinderGeometry(a.radius,a.radius,a.height);break;case "Cone":p=new THREE.CylinderGeometry(a.topRadius,a.bottomRadius,a.height);break;case "Sphere":p=new THREE.SphereGeometry(a.radius);break;case "IndexedFaceSet":p=new THREE.Geometry;p.shading=THREE.SmoothShading;var D;a.has("texCoord")&&(t=a.texCoord.point);if(a.has("coord"))for(t||(t=a.coord.point),m=0,r=a.coord.point.length;m<r;m++)u=a.coord.point[m],u=new THREE.Vector3(u.x,u.y,u.z),p.vertices.push(u);var z=0;
+if(a.has("coordIndex"))for(m=0,F=a.coordIndex.length;m<F;m++)for(u=a.coordIndex[m],D=a.has("texCoordIndex")?a.texCoordIndex[m]:u,z=0;3<=u.length&&z<u.length-2;){var w=u[0],W=u[z+(a.ccw?1:2)],r=u[z+(a.ccw?2:1)],r=new THREE.Face3(w,W,r,null);t&&D&&p.faceVertexUvs[0].push([new THREE.Vector2(t[D[0]].x,t[D[0]].y),new THREE.Vector2(t[D[z+(a.ccw?1:2)]].x,t[D[z+(a.ccw?1:2)]].y),new THREE.Vector2(t[D[z+(a.ccw?2:1)]].x,t[D[z+(a.ccw?2:1)]].y)]);z++;p.faces.push(r)}p.computeFaceNormals();p.computeBoundingSphere();
+break;case "IndexedLineSet":p=new THREE.Geometry;t=[];if(a.has("coord"))for(m=0,r=a.coord.point.length;m<r;m++)u=a.coord.point[m],u=new THREE.Vector3(u.x,u.y,u.z),t.push(u);if(a.has("coordIndex")){m=0;for(F=a.coordIndex.length;m<F;m++)for(u=a.coordIndex[m],r=0;r<u.length;r++)w=u[r],w=t[w],p.vertices.push(new THREE.Vector3(w.x,w.y,w.z));p.computeBoundingSphere()}break;case "PointSet":p=new THREE.Geometry;if(a.has("coord"))for(m=0,r=a.coord.point.length;m<r;m++)u=a.coord.point[m],u=new THREE.Vector3(u.x,
+u.y,u.z),p.vertices.push(u);p.computeBoundingSphere();break;case "TouchSensor":e.debug&&(p=new THREE.Mesh,p.geometry=new THREE.CubeGeometry(.1,.1,.1),p.material=new THREE.MeshNormalMaterial,p.material.color=new THREE.Color(.5,.5,.5));break;default:p=!1}!1!==p&&(void 0!==p.userData&&(p.userData.originalVrmlNode=a),""===p.name&&(a.has("name")?p.name=a.name:a.has("node")&&(p.name=a.node)),p.castShadow=!C,p.receiveShadow=!C);return!1!==q?(q.name="surrounding_"+p.name,q):p},D=0;D<a.length;D++){var C=A(a[D]);
+!1!==C&&g.add(C)}g.userData.routes=a.routes;console.log(g)}};VrmlParser.Renderer.ThreeJs.Animation=function(a){this.debug=a?!0:!1;this.animations={}};
+VrmlParser.Renderer.ThreeJs.Animation.prototype={update:function(a){for(var g in this.animations)if(this.animations.hasOwnProperty(g))(0,this.animations[g])(a)},addAnimation:function(a,g){this.animations[a]=g},removeAnimation:function(a){delete this.animations[a]},getRoutesForEvent:function(a){a=scene.userData.routes[a];for(var g=0;g<a.length;g++);return a},findTargetRoutes:function(a){var g=[];if("undefined"===typeof a)return g;var e=scene.userData.routes;if("undefined"===typeof e[a.target.name])return a;
+a=e[a.target.name];for(e=0;e<a.length;e++){var l=this.findTargetRoutes(a[e]);g.push(l)}return g},log:function(a){this.debug&&console.log(a)},findSensor:function(a,g){if(null===a)return this.log("Cannot find a sensor of type "+g+" in null"),!1;var e;a:{if(void 0!==a.children)for(e=0;e<a.children.length;e++){var l=a.children[e];if(void 0!==l&&"undefined"!==typeof l.userData.originalVrmlNode&&g===l.userData.originalVrmlNode.node){e=l.name;this.log(g+": "+e);break a}}e=!1}if(e)return e;this.log("No "+
+g+" found amongst the children of the following  node:");this.log(a);if("undefined"===typeof a.parent||null===a.parent)return this.log("We cannot go up the tree any further"),!1;this.log("Searching up the tree");return this.findSensor(a.parent,g)},addClickSupport:function(a,g){projector=new THREE.Projector;var e=this;g.domElement.addEventListener("mousedown",function(l){var k=void 0==l.offsetX?l.layerX:l.offsetX;l=void 0==l.offsetY?l.layerY:l.offsetY;var y=new THREE.Vector3;y.set(k/g.domElement.width*
+2-1,2*-(l/g.domElement.height)+1,.5);y.unproject(a);k=(new THREE.Raycaster(a.position,y.sub(a.position).normalize())).intersectObjects(scene.children,!0);if(k.length){var A=e.findSensor(k[0].object,"TouchSensor");if(!1!==A){k=e.getRoutesForEvent(A).slice(0);for(k=e.findTargetRoutes(k.pop());"function"===typeof k.pop;)if(k=k.pop(),"undefined"===typeof k){e.log("no target route found for "+A);return}e.log(k);l=scene.getObjectByName(k.source.name).userData.originalVrmlNode;void 0===VrmlParser.Renderer.ThreeJs.Animation[l.node]?
+e.log(l.node+" is not yet supported"):(l=new VrmlParser.Renderer.ThreeJs.Animation[l.node](l,e.debug),k=scene.getObjectByName("surrounding_"+k.target.name),k=l.getCallback(k,function(){e.removeAnimation(A)}),e.addAnimation(A,k))}}},!1)}};VrmlParser.Renderer.ThreeJs.VrmlNode=VrmlParser.Renderer.ThreeJs.VrmlNode||{};VrmlParser.Renderer.ThreeJs.Animation.OrientationInterpolator=function(a,g){this.key=a.key;this.keyValue=a.keyValue;this.debug=g?!0:!1;this.index=1;this.tweenObj=this.target=this.finish=null};
+VrmlParser.Renderer.ThreeJs.Animation.OrientationInterpolator.prototype={log:function(a){this.debug&&console.log(a)},complete:function(){this.index++;this.index>=this.keyValue.length?(this.log("finish at index "+this.index),this.finish()):this.tween()},tween:function(){var a=this,g=this.keyValue[this.index],e=g.radians;this.log("Animating from "+this.target.rotation.y+" to "+e);var l=new THREE.Quaternion,g=new THREE.Vector3(g.x,g.y,g.z);l.setFromAxisAngle(g,e);this.tweenObj=(new TWEEN.Tween(this.target.quaternion)).to(l).start(+new Date).onComplete(function(){a.complete()})},
+getCallback:function(a,g){var e=this;this.target=a;this.finish=g;this.tween();return function(a){e.tweenObj.update(+new Date)}}};VrmlParser.Renderer.ThreeJs.Animation.PositionInterpolator=function(a,g){this.key=a.key;this.keyValue=a.keyValue;this.debug=g?!0:!1};
+VrmlParser.Renderer.ThreeJs.Animation.PositionInterpolator.prototype={log:function(a){this.debug&&console.log(a)},tween:function(a,g){return(new TWEEN.Tween(a.position)).to(g).start(+new Date)},getCallback:function(a,g){var e=this,l=1,k=this.getPosition(l);this.log(k);this.log(a);var y=this.tween(a,k);y.onComplete(function(){l++;l>=e.keyValue.length?(console.log("finish"),a.position=k,g()):(k=e.getPosition(l),e.log(k),y=e.tween(a,k),y.onComplete=this)});return function(a){y.update(+new Date)}},getPosition:function(a){a=
+this.keyValue[a];return new THREE.Vector3(a.x,a.y,a.z)}};VrmlParser.Renderer.ThreeJs.VrmlNode.NavigationInfo=function(a,g){this.debug=g;this.node=a;this.node.has=function(a){return"undefined"!==typeof this[a]&&null!==this[a]};this.controls=null};
+VrmlParser.Renderer.ThreeJs.VrmlNode.NavigationInfo.prototype={log:function(a){this.debug&&console.log(a)},parse:function(a){this.log("From NavigationInfo");a=void 0!==this.node.speed?this.node.speed:1;if(void 0!==this.node.type)switch(this.node.type.toLowerCase()){case "fly":this.log("fly!"),controls=new THREE.FlyControls(camera),controls.movementSpeed=a}else this.log("fly!"),controls=new THREE.FlyControls(camera),controls.movementSpeed=a}};VrmlParser.Renderer.ThreeJs.VrmlNode.Viewpoint=function(a,g){this.debug=g;this.node=a;this.node.has=function(a){return"undefined"!==typeof this[a]&&null!==this[a]}};
+VrmlParser.Renderer.ThreeJs.VrmlNode.Viewpoint.prototype={log:function(a){this.debug&&console.log(a)},parse:function(a){var g=new THREE.PerspectiveCamera(Math.round(180/Math.PI*this.node.fieldOfView),window.innerWidth/window.innerHeight,.01,1E5);a=new THREE.Group;a.add(g);this.node.has("name")?g.name=this.node.name:g.name=this.node.description;a.getCamera=function(){return this.children[0]};g=this.node.position;a.position.set(g.x,g.y,g.z);var g=this.node.orientation,e=new THREE.Vector3(g.x,g.y,g.z);
+a.quaternion.setFromAxisAngle(e,g.radians);return a}};

+ 38 - 1076
examples/js/loaders/VRMLLoader.js

@@ -1,1105 +1,67 @@
 /**
  * @author mrdoob / http://mrdoob.com/
+ * @author Bart McLeod / http://spaceweb.nl/
  */
 
-THREE.VRMLLoader = function ( manager ) {
+/**
+ *
+ * @param manager
+ * @param parser VRMLparser based on PEG.js grammar
+ * @param VrmlParser.Renderer.ThreeJs renderer
+ * @constructor
+ */
+THREE.VRMLLoader = function (parser, manager, debug) {
 
 	this.manager = ( manager !== undefined ) ? manager : THREE.DefaultLoadingManager;
-
+	this.parser  = parser;
+	this.debug   = debug;
 };
 
 THREE.VRMLLoader.prototype = {
 
 	constructor: THREE.VRMLLoader,
 
-	// for IndexedFaceSet support
-	isRecordingPoints: false,
-	isRecordingFaces: false,
-	points: [],
-	indexes : [],
-
-	// for Background support
-	isRecordingAngles: false,
-	isRecordingColors: false,
-	angles: [],
-	colors: [],
-
-	recordingFieldname: null,
-
-	load: function ( url, onLoad, onProgress, onError ) {
-
-		var scope = this;
-
-		var loader = new THREE.FileLoader( this.manager );
-		loader.load( url, function ( text ) {
-
-			onLoad( scope.parse( text ) );
-
-		}, onProgress, onError );
-
-	},
-
-	setCrossOrigin: function ( value ) {
-
-		this.crossOrigin = value;
-
+	log: function (obj) {
+		if ( this.debug ) {
+			console.log(obj);
+		}
 	},
 
-	parse: function ( data ) {
-
-		var texturePath = this.texturePath || '';
-
-		var textureLoader = new THREE.TextureLoader( this.manager );
-		textureLoader.setCrossOrigin( this.crossOrigin );
-
-		var parseV1 = function ( lines, scene ) {
-
-			console.warn( 'VRML V1.0 not supported yet' );
-
-		};
-
-		var parseV2 = function ( lines, scene ) {
-
-			var defines = {};
-			var float_pattern = /(\b|\-|\+)([\d\.e]+)/;
-			var float2_pattern = /([\d\.\+\-e]+)\s+([\d\.\+\-e]+)/g;
-			var float3_pattern = /([\d\.\+\-e]+)\s+([\d\.\+\-e]+)\s+([\d\.\+\-e]+)/g;
-
-			/**
-			* Interpolates colors a and b following their relative distance
-			* expressed by t.
-			*
-			* @param float a
-			* @param float b
-			* @param float t
-			* @returns {Color}
-			*/
-			var interpolateColors = function( a, b, t ) {
-
-				var deltaR = a.r - b.r;
-				var deltaG = a.g - b.g;
-				var deltaB = a.b - b.b;
-
-				var c = new THREE.Color();
-
-				c.r = a.r - t * deltaR;
-				c.g = a.g - t * deltaG;
-				c.b = a.b - t * deltaB;
-
-				return c;
-
-			};
-
-			/**
-			 * Vertically paints the faces interpolating between the
-			 * specified colors at the specified angels. This is used for the Background
-			 * node, but could be applied to other nodes with multiple faces as well.
-			 *
-			 * When used with the Background node, default is directionIsDown is true if
-			 * interpolating the skyColor down from the Zenith. When interpolationg up from
-			 * the Nadir i.e. interpolating the groundColor, the directionIsDown is false.
-			 *
-			 * The first angle is never specified, it is the Zenith (0 rad). Angles are specified
-			 * in radians. The geometry is thought a sphere, but could be anything. The color interpolation
-			 * is linear along the Y axis in any case.
-			 *
-			 * You must specify one more color than you have angles at the beginning of the colors array.
-			 * This is the color of the Zenith (the top of the shape).
-			 *
-			 * @param geometry
-			 * @param radius
-			 * @param angles
-			 * @param colors
-			 * @param boolean directionIsDown Whether to work bottom up or top down.
-			 */
-			var paintFaces = function ( geometry, radius, angles, colors, directionIsDown ) {
-
-				var f, n, p, vertexIndex, color;
-
-				var direction = directionIsDown ? 1 : - 1;
-
-				var faceIndices = [ 'a', 'b', 'c', 'd' ];
-
-				var coord = [ ], aColor, bColor, t = 1, A = {}, B = {}, applyColor = false, colorIndex;
-
-				for ( var k = 0; k < angles.length; k ++ ) {
-
-					var vec = { };
-
-					// push the vector at which the color changes
-					vec.y = direction * ( Math.cos( angles[ k ] ) * radius );
-
-					vec.x = direction * ( Math.sin( angles[ k ] ) * radius );
-
-					coord.push( vec );
-
-				}
-
-				// painting the colors on the faces
-				for ( var i = 0; i < geometry.faces.length ; i ++ ) {
-
-					f  = geometry.faces[ i ];
-
-					n = ( f instanceof THREE.Face3 ) ? 3 : 4;
-
-					for ( var j = 0; j < n; j ++ ) {
-
-						vertexIndex = f[ faceIndices[ j ] ];
-
-						p = geometry.vertices[ vertexIndex ];
-
-						for ( var index = 0; index < colors.length; index ++ ) {
-
-							// linear interpolation between aColor and bColor, calculate proportion
-							// A is previous point (angle)
-							if ( index === 0 ) {
-
-								A.x = 0;
-								A.y = directionIsDown ? radius : - 1 * radius;
-
-							} else {
-
-								A.x = coord[ index - 1 ].x;
-								A.y = coord[ index - 1 ].y;
-
-							}
-
-							// B is current point (angle)
-							B = coord[ index ];
-
-							if ( undefined !== B ) {
-
-								// p has to be between the points A and B which we interpolate
-								applyColor = directionIsDown ? p.y <= A.y && p.y > B.y : p.y >= A.y && p.y < B.y;
-
-								if ( applyColor ) {
-
-									bColor = colors[ index + 1 ];
-
-									aColor = colors[ index ];
-
-									// below is simple linear interpolation
-									t = Math.abs( p.y - A.y ) / ( A.y - B.y );
-
-									// to make it faster, you can only calculate this if the y coord changes, the color is the same for points with the same y
-									color = interpolateColors( aColor, bColor, t );
-
-									f.vertexColors[ j ] = color;
-
-								}
-
-							} else if ( undefined === f.vertexColors[ j ] ) {
-
-								colorIndex = directionIsDown ? colors.length - 1 : 0;
-								f.vertexColors[ j ] = colors[ colorIndex ];
-
-							}
-
-						}
-
-					}
-
-				}
-
-			};
-
-			var index = [];
-
-			var parseProperty = function ( node, line ) {
-
-				var parts = [], part, property = {}, fieldName;
-
-				/**
-				 * Expression for matching relevant information, such as a name or value, but not the separators
-				 * @type {RegExp}
-				 */
-				var regex = /[^\s,\[\]]+/g;
-
-				var point, angles, colors;
-
-				while ( null != ( part = regex.exec( line ) ) ) {
-
-					parts.push( part[ 0 ] );
-
-				}
-
-				fieldName = parts[ 0 ];
-
-
-				// trigger several recorders
-				switch ( fieldName ) {
-					case 'skyAngle':
-					case 'groundAngle':
-						this.recordingFieldname = fieldName;
-						this.isRecordingAngles = true;
-						this.angles = [];
-						break;
-					case 'skyColor':
-					case 'groundColor':
-						this.recordingFieldname = fieldName;
-						this.isRecordingColors = true;
-						this.colors = [];
-						break;
-					case 'point':
-						this.recordingFieldname = fieldName;
-						this.isRecordingPoints = true;
-						this.points = [];
-						break;
-					case 'coordIndex':
-					case 'texCoordIndex':
-						this.recordingFieldname = fieldName;
-						this.isRecordingFaces = true;
-						this.indexes = [];
-				}
-
-				if ( this.isRecordingFaces ) {
-
-					// the parts hold the indexes as strings
-					if ( parts.length > 0 ) {
-
-						for ( var ind = 0; ind < parts.length; ind ++ ) {
-
-							// the part should either be positive integer or -1
-							if ( ! /(-?\d+)/.test( parts[ ind ] ) ) {
-
-								continue;
-
-							}
-
-							// end of current face
-							if ( parts[ ind ] === "-1" ) {
-
-								if ( index.length > 0 ) {
-
-									this.indexes.push( index );
-
-								}
-
-								// start new one
-								index = [];
-
-							} else {
-
-								index.push( parseInt( parts[ ind ] ) );
-
-							}
-
-						}
-
-					}
-
-					// end
-					if ( /]/.exec( line ) ) {
-
-						if ( index.length > 0 ) {
-
-							this.indexes.push( index );
-
-						}
-
-						// start new one
-						index = [];
-
-						this.isRecordingFaces = false;
-						node[this.recordingFieldname] = this.indexes;
-
-					}
-
-				} else if ( this.isRecordingPoints ) {
-
-					if ( node.nodeType == 'Coordinate' )
-
-					while ( null !== ( parts = float3_pattern.exec( line ) ) ) {
-
-						point = {
-							x: parseFloat( parts[ 1 ] ),
-							y: parseFloat( parts[ 2 ] ),
-							z: parseFloat( parts[ 3 ] )
-						};
-
-						this.points.push( point );
-
-					}
-
-					if ( node.nodeType == 'TextureCoordinate' )
-
-					while ( null !== ( parts = float2_pattern.exec( line ) ) ) {
-
-						point = {
-							x: parseFloat( parts[ 1 ] ),
-							y: parseFloat( parts[ 2 ] )
-						};
-
-						this.points.push( point );
-
-					}
-
-					// end
-					if ( /]/.exec( line ) ) {
-
-						this.isRecordingPoints = false;
-						node.points = this.points;
-
-					}
-
-				} else if ( this.isRecordingAngles ) {
-
-					// the parts hold the angles as strings
-					if ( parts.length > 0 ) {
-
-						for ( var ind = 0; ind < parts.length; ind ++ ) {
-
-							// the part should be a float
-							if ( ! float_pattern.test( parts[ ind ] ) ) {
-
-								continue;
-
-							}
-
-							this.angles.push( parseFloat( parts[ ind ] ) );
-
-						}
-
-					}
-
-					// end
-					if ( /]/.exec( line ) ) {
-
-						this.isRecordingAngles = false;
-						node[ this.recordingFieldname ] = this.angles;
-
-					}
-
-				} else if ( this.isRecordingColors ) {
-
-					while ( null !== ( parts = float3_pattern.exec( line ) ) ) {
-
-						color = {
-							r: parseFloat( parts[ 1 ] ),
-							g: parseFloat( parts[ 2 ] ),
-							b: parseFloat( parts[ 3 ] )
-						};
-
-						this.colors.push( color );
-
-					}
-
-					// end
-					if ( /]/.exec( line ) ) {
-
-						this.isRecordingColors = false;
-						node[ this.recordingFieldname ] = this.colors;
-
-					}
-
-				} else if ( parts[ parts.length - 1 ] !== 'NULL' && fieldName !== 'children' ) {
-
-					switch ( fieldName ) {
-
-						case 'diffuseColor':
-						case 'emissiveColor':
-						case 'specularColor':
-						case 'color':
-
-							if ( parts.length != 4 ) {
-
-								console.warn( 'Invalid color format detected for ' + fieldName );
-								break;
-
-							}
-
-							property = {
-								r: parseFloat( parts[ 1 ] ),
-								g: parseFloat( parts[ 2 ] ),
-								b: parseFloat( parts[ 3 ] )
-							};
-
-							break;
-							
-						case 'location':
-						case 'direction':
-						case 'translation':
-						case 'scale':
-						case 'size':
-							if ( parts.length != 4 ) {
-
-								console.warn( 'Invalid vector format detected for ' + fieldName );
-								break;
-
-							}
-
-							property = {
-								x: parseFloat( parts[ 1 ] ),
-								y: parseFloat( parts[ 2 ] ),
-								z: parseFloat( parts[ 3 ] )
-							};
-
-							break;
-
-						case 'intensity':				
-						case 'cutOffAngle':
-						case 'radius':
-						case 'topRadius':
-						case 'bottomRadius':
-						case 'height':
-						case 'transparency':
-						case 'shininess':
-						case 'ambientIntensity':
-							if ( parts.length != 2 ) {
-
-								console.warn( 'Invalid single float value specification detected for ' + fieldName );
-								break;
-
-							}
-
-							property = parseFloat( parts[ 1 ] );
-
-							break;
-
-						case 'rotation':
-							if ( parts.length != 5 ) {
-
-								console.warn( 'Invalid quaternion format detected for ' + fieldName );
-								break;
-
-							}
-
-							property = {
-								x: parseFloat( parts[ 1 ] ),
-								y: parseFloat( parts[ 2 ] ),
-								z: parseFloat( parts[ 3 ] ),
-								w: parseFloat( parts[ 4 ] )
-							};
-
-							break;
-							
-						case 'on':
-						case 'ccw':
-						case 'solid':
-						case 'colorPerVertex':
-						case 'convex':
-							if ( parts.length != 2 ) {
-
-								console.warn( 'Invalid format detected for ' + fieldName );
-								break;
-
-							}
-
-							property = parts[ 1 ] === 'TRUE' ? true : false;
-
-							break;
-					}
-
-					node[ fieldName ] = property;
-
-				}
-
-				return property;
-
-			};
-
-			var getTree = function ( lines ) {
-
-				var tree = { 'string': 'Scene', children: [] };
-				var current = tree;
-				var matches;
-				var specification;
-
-				for ( var i = 0; i < lines.length; i ++ ) {
-
-					var comment = '';
-
-					var line = lines[ i ];
-
-					// omit whitespace only lines
-					if ( null !== ( result = /^\s+?$/g.exec( line ) ) ) {
-
-						continue;
-
-					}
-
-					line = line.trim();
-
-					// skip empty lines
-					if ( line === '' ) {
-
-						continue;
-
-					}
-
-					if ( /#/.exec( line ) ) {
-
-						var parts = line.split( '#' );
-
-						// discard everything after the #, it is a comment
-						line = parts[ 0 ];
-
-						// well, let's also keep the comment
-						comment = parts[ 1 ];
-
-					}
-
-					if ( matches = /([^\s]*){1}(?:\s+)?{/.exec( line ) ) {
-
-						// first subpattern should match the Node name
-
-						var block = { 'nodeType' : matches[ 1 ], 'string': line, 'parent': current, 'children': [], 'comment' : comment };
-						current.children.push( block );
-						current = block;
-
-						if ( /}/.exec( line ) ) {
-
-							// example: geometry Box { size 1 1 1 } # all on the same line
-							specification = /{(.*)}/.exec( line )[ 1 ];
-
-							// todo: remove once new parsing is complete?
-							block.children.push( specification );
-
-							parseProperty( current, specification );
-
-							current = current.parent;
-
-						}
-
-					} else if ( /}/.exec( line ) ) {
+	parse: function (data) {
+		try {
+			var tree = this.parser.parse(data);
 
-						current = current.parent;
+			this.log(tree);
+			return tree;
+		} catch ( e ) {
+			this.log('Exception with message ' + e.message);
 
-					} else if ( line !== '' ) {
-
-						parseProperty( current, line );
-						// todo: remove once new parsing is complete? we still do not parse geometry and appearance the new way
-						current.children.push( line );
-
-					}
-
-				}
-
-				return tree;
-
-			};
-
-			var parseNode = function ( data, parent ) {
-
-				// console.log( data );
-
-				if ( typeof data === 'string' ) {
-
-					if ( /USE/.exec( data ) ) {
-
-						var defineKey = /USE\s+?([^\s]+)/.exec( data )[ 1 ];
-
-						if ( undefined == defines[ defineKey ] ) {
-
-							console.warn( defineKey + ' is not defined.' );
-
-						} else {
-
-							if ( /appearance/.exec( data ) && defineKey ) {
-
-								parent.material = defines[ defineKey ].clone();
-
-							} else if ( /geometry/.exec( data ) && defineKey ) {
-
-								parent.geometry = defines[ defineKey ].clone();
-
-								// the solid property is not cloned with clone(), is only needed for VRML loading, so we need to transfer it
-								if ( undefined !== defines[ defineKey ].solid && defines[ defineKey ].solid === false ) {
-
-									parent.geometry.solid = false;
-									parent.material.side = THREE.DoubleSide;
-
-								}
-
-							} else if ( defineKey ) {
-
-								var object = defines[ defineKey ].clone();
-								parent.add( object );
-
-							}
-
-						}
-
-					}
-
-					return;
-
-				}
-
-				var object = parent;
-
-				if(data.string.indexOf("AmbientLight")>-1 && data.nodeType=='PointLight'){
-					//wenn im Namen "AmbientLight" vorkommt und es ein PointLight ist, 
-					//diesen Typ in 'AmbientLight' ändern
-					data.nodeType='AmbientLight';	
-				}
-				
-				l_visible=data.on;
-				if(l_visible==undefined)l_visible=true;
-				l_intensity=data.intensity;
-				if(l_intensity==undefined)l_intensity=true;
-				if(data.color!=undefined)
-					l_color= new THREE.Color(data.color.r, data.color.g,data.color.b );
-					else
-					l_color= new THREE.Color(0, 0,0);
-				
-				
-				
-				if('AmbientLight' === data.nodeType){
-					object=new THREE.AmbientLight( 
-								l_color.getHex(), 
-								l_intensity
-								);
-					object.visible=l_visible;
-					
-					parent.add( object );
-					
-				}
-				else
-				if('PointLight' === data.nodeType){
-						l_distance =0;	//0="unendlich" ...1000
-						l_decay=0;		//-1.. ?
-						
-						if(data.radius!=undefined && data.radius<1000){
-							//l_radius=data.radius;
-							l_distance=data.radius;
-							l_decay=1;
-						}
-						object=new THREE.PointLight( 
-								l_color.getHex(), 
-								l_intensity, 
-								l_distance);
-						object.visible=l_visible;
-						
-						parent.add( object );
-				}
-				else
-				if('SpotLight' === data.nodeType){						
-						l_intensity=1;
-						l_distance =0;//0="unendlich"=1000
-						l_angle=Math.PI/3;
-						l_penumbra=0.0;//0..1
-						l_decay=0;//-1.. ?
-						l_visible=true;
-						
-						if(data.radius!=undefined && data.radius<1000){
-							//l_radius=data.radius;
-							l_distance=data.radius;
-							l_decay=1;
-						}
-						if(data.cutOffAngle!=undefined)l_angle=data.cutOffAngle;
-						
-						object = new THREE.SpotLight(
-									l_color.getHex(),
-									l_intensity,
-									l_distance,
-									l_angle,
-									l_penumbra,
-									l_decay
-									);
-						object.visible=l_visible;						
-						parent.add( object );
-						/*
-						var lightHelper = new THREE.SpotLightHelper( object );
-						parent.parent.add( lightHelper );
-						lightHelper.update();
-						*/
-				}
-				else				
-				
-				if ( 'Transform' === data.nodeType || 'Group' === data.nodeType ) {
-
-					object = new THREE.Object3D();
-
-					if ( /DEF/.exec( data.string ) ) {
-
-						object.name = /DEF\s+([^\s]+)/.exec( data.string )[ 1 ];
-						defines[ object.name ] = object;
-
-					}
-
-					if ( undefined !== data[ 'translation' ] ) {
-
-						var t = data.translation;
-
-						object.position.set( t.x, t.y, t.z );
-
-					}
-
-					if ( undefined !== data.rotation ) {
-
-						var r = data.rotation;
-
-						object.quaternion.setFromAxisAngle( new THREE.Vector3( r.x, r.y, r.z ), r.w );
-
-					}
-
-					if ( undefined !== data.scale ) {
-
-						var s = data.scale;
-
-						object.scale.set( s.x, s.y, s.z );
-
-					}
-
-					parent.add( object );
-
-				} else if ( 'Shape' === data.nodeType ) {
-
-					object = new THREE.Mesh();
-
-					if ( /DEF/.exec( data.string ) ) {
-
-						object.name = /DEF\s+([^\s]+)/.exec( data.string )[ 1 ];
-
-						defines[ object.name ] = object;
-
-					}
-
-					parent.add( object );
-
-				} else if ( 'Background' === data.nodeType ) {
-
-					var segments = 20;
-
-					// sky (full sphere):
-
-					var radius = 2e4;
-
-					var skyGeometry = new THREE.SphereGeometry( radius, segments, segments );
-					var skyMaterial = new THREE.MeshBasicMaterial( { fog: false, side: THREE.BackSide } );
-
-					if ( data.skyColor.length > 1 ) {
-
-						paintFaces( skyGeometry, radius, data.skyAngle, data.skyColor, true );
-
-						skyMaterial.vertexColors = THREE.VertexColors
-
-					} else {
-
-						var color = data.skyColor[ 0 ];
-						skyMaterial.color.setRGB( color.r, color.b, color.g );
-
-					}
-
-					scene.add( new THREE.Mesh( skyGeometry, skyMaterial ) );
-
-					// ground (half sphere):
-
-					if ( data.groundColor !== undefined ) {
-
-						radius = 1.2e4;
-
-						var groundGeometry = new THREE.SphereGeometry( radius, segments, segments, 0, 2 * Math.PI, 0.5 * Math.PI, 1.5 * Math.PI );
-						var groundMaterial = new THREE.MeshBasicMaterial( { fog: false, side: THREE.BackSide, vertexColors: THREE.VertexColors } );
-
-						paintFaces( groundGeometry, radius, data.groundAngle, data.groundColor, false );
-
-						scene.add( new THREE.Mesh( groundGeometry, groundMaterial ) );
-
-					}
-
-				} else if ( /geometry/.exec( data.string ) ) {
-
-					if ( 'Box' === data.nodeType ) {
-
-						var s = data.size;
-
-						parent.geometry = new THREE.BoxGeometry( s.x, s.y, s.z );
-
-					} else if ( 'Cylinder' === data.nodeType ) {
-
-						parent.geometry = new THREE.CylinderGeometry( data.radius, data.radius, data.height );
-
-					} else if ( 'Cone' === data.nodeType ) {
-
-						parent.geometry = new THREE.CylinderGeometry( data.topRadius, data.bottomRadius, data.height );
-
-					} else if ( 'Sphere' === data.nodeType ) {
-
-						parent.geometry = new THREE.SphereGeometry( data.radius );
-
-					} else if ( 'IndexedFaceSet' === data.nodeType ) {
-
-						var geometry = new THREE.Geometry();
-
-						var indexes, uvIndexes, uvs;
-
-						for ( var i = 0, j = data.children.length; i < j; i ++ ) {
-
-							var child = data.children[ i ];
-
-							var vec;
-
-							if ( 'TextureCoordinate' === child.nodeType ) {
-
-								uvs = child.points;
-
-							}
-
-
-							if ( 'Coordinate' === child.nodeType ) {
-
-								if ( child.points ) {
-
-									for ( var k = 0, l = child.points.length; k < l; k ++ ) {
-
-										var point = child.points[ k ];
-
-										vec = new THREE.Vector3( point.x, point.y, point.z );
-
-										geometry.vertices.push( vec );
-
-									}
-
-								}
-
-								if ( child.string.indexOf ( 'DEF' ) > -1 ) {
-
-									var name = /DEF\s+([^\s]+)/.exec( child.string )[ 1 ];
-
-									defines[ name ] = geometry.vertices;
-
-								}
-
-								if ( child.string.indexOf ( 'USE' ) > -1 ) {
-
-									var defineKey = /USE\s+([^\s]+)/.exec( child.string )[ 1 ];
-
-									geometry.vertices = defines[ defineKey ];
-								}
-
-							}
-
-						}
-
-						var skip = 0;
-
-						// some shapes only have vertices for use in other shapes
-						if ( data.coordIndex ) {
-
-							// read this: http://math.hws.edu/eck/cs424/notes2013/16_Threejs_Advanced.html
-							for ( var i = 0, j = data.coordIndex.length; i < j; i ++ ) {
-
-								indexes = data.coordIndex[ i ]; if ( data.texCoordIndex ) uvIndexes = data.texCoordIndex[ i ];
-
-								// vrml support multipoint indexed face sets (more then 3 vertices). You must calculate the composing triangles here
-								skip = 0;
-
-								// Face3 only works with triangles, but IndexedFaceSet allows shapes with more then three vertices, build them of triangles
-								while ( indexes.length >= 3 && skip < ( indexes.length - 2 ) ) {
-
-									var face = new THREE.Face3(
-										indexes[ 0 ],
-										indexes[ skip + (data.ccw ? 1 : 2) ],
-										indexes[ skip + (data.ccw ? 2 : 1) ],
-										null // normal, will be added later
-										// todo: pass in the color, if a color index is present
-									);
-
-									if ( uvs && uvIndexes ) {
-										geometry.faceVertexUvs [0].push( [
-											new THREE.Vector2 (
-												uvs[ uvIndexes[ 0 ] ].x ,
-												uvs[ uvIndexes[ 0 ] ].y
-											) ,
-											new THREE.Vector2 (
-												uvs[ uvIndexes[ skip + (data.ccw ? 1 : 2) ] ].x ,
-												uvs[ uvIndexes[ skip + (data.ccw ? 1 : 2) ] ].y
-											) ,
-											new THREE.Vector2 (
-												uvs[ uvIndexes[ skip + (data.ccw ? 2 : 1) ] ].x ,
-												uvs[ uvIndexes[ skip + (data.ccw ? 2 : 1) ] ].y
-											)
-										] );
-									}
-
-									skip ++;
-
-									geometry.faces.push( face );
-
-								}
-
-
-							}
-
-						} else {
-
-							// do not add dummy mesh to the scene
-							parent.parent.remove( parent );
-
-						}
-
-						if ( false === data.solid ) {
-
-							parent.material.side = THREE.DoubleSide;
-
-						}
-
-						// we need to store it on the geometry for use with defines
-						geometry.solid = data.solid;
-
-						geometry.computeFaceNormals();
-						//geometry.computeVertexNormals(); // does not show
-						geometry.computeBoundingSphere();
-
-						// see if it's a define
-						if ( /DEF/.exec( data.string ) ) {
-
-							geometry.name = /DEF ([^\s]+)/.exec( data.string )[ 1 ];
-							defines[ geometry.name ] = geometry;
-
-						}
-
-						parent.geometry = geometry;
-
-					}
-
-					return;
-
-				} else if ( /appearance/.exec( data.string ) ) {
-
-					for ( var i = 0; i < data.children.length; i ++ ) {
-
-						var child = data.children[ i ];
-
-						if ( 'Material' === child.nodeType ) {
-
-							var material = new THREE.MeshPhongMaterial();
-
-							if ( undefined !== child.diffuseColor ) {
-
-								var d = child.diffuseColor;
-
-								material.color.setRGB( d.r, d.g, d.b );
-
-							}
-
-							if ( undefined !== child.emissiveColor ) {
-
-								var e = child.emissiveColor;
-
-								material.emissive.setRGB( e.r, e.g, e.b );
-
-							}
-
-							if ( undefined !== child.specularColor ) {
-
-								var s = child.specularColor;
-
-								material.specular.setRGB( s.r, s.g, s.b );
-
-							}
-
-							if ( undefined !== child.transparency ) {
-
-								var t = child.transparency;
-
-								// transparency is opposite of opacity
-								material.opacity = Math.abs( 1 - t );
-
-								material.transparent = true;
-
-							}
-
-							if ( /DEF/.exec( data.string ) ) {
-
-								material.name = /DEF ([^\s]+)/.exec( data.string )[ 1 ];
-
-								defines[ material.name ] = material;
-
-							}
-
-							parent.material = material;
-
-						}
-
-						if ( 'ImageTexture' === child.nodeType ) {
-
-							var textureName = /"([^"]+)"/.exec(child.children[ 0 ]);
-
-							if (textureName) {
-
-								parent.material.name = textureName[ 1 ];
-
-								parent.material.map = textureLoader.load( texturePath + textureName[ 1 ] );
-
-							}
-
-						}
-
-					}
-
-					return;
-
-				}
-
-				for ( var i = 0, l = data.children.length; i < l; i ++ ) {
-
-					var child = data.children[ i ];
-
-					parseNode( data.children[ i ], object );
-
-				}
-
-			};
-
-			parseNode( getTree( lines ), scene );
-
-		};
-
-		var scene = new THREE.Scene();
-
-		var lines = data.split( '\n' );
-
-		// some lines do not have breaks
-		for (var i = lines.length -1; i > -1; i--) {
-
-			// split lines with {..{ or {..[ - some have both
-			if (/{.*[{\[]/.test (lines[i])) {
-				var parts = lines[i].split ('{').join ('{\n').split ('\n');
-				parts.unshift(1);
-				parts.unshift(i);
-				lines.splice.apply(lines, parts);
-			} else
-
-			// split lines with ]..}
-			if (/\].*}/.test (lines[i])) {
-				var parts = lines[i].split (']').join (']\n').split ('\n');
-				parts.unshift(1);
-				parts.unshift(i);
-				lines.splice.apply(lines, parts);
-			}
-
-			// split lines with }..}
-			if (/}.*}/.test (lines[i])) {
-				var parts = lines[i].split ('}').join ('}\n').split ('\n');
-				parts.unshift(1);
-				parts.unshift(i);
-				lines.splice.apply(lines, parts);
+			if ( undefined !== e.location ) {
+				this.log('Exception at location start: offset: ' + e.location.start.offset + ' line: ' + e.location.start.line + ' column: ' + e.location.start.column);
+				this.log('Exception at location end: offset: ' + e.location.end.offset + ' line: ' + e.location.end.line + ' column: ' + e.location.end.column);
 			}
 
-			// force the parser to create Coordinate node for empty coords
-			// coord USE something -> coord USE something Coordinate {}
-			if((lines[i].indexOf ('coord') > -1) && (lines[i].indexOf ('[') < 0) && (lines[i].indexOf ('{') < 0)) {
-				lines[i] += ' Coordinate {}';
-			}
+			return;
 		}
+	},
 
-		var header = lines.shift();
+	load: function (url, onLoad, onProgress, onError) {
 
-		if ( /V1.0/.exec( header ) ) {
+		var scope = this;
 
-			parseV1( lines, scene );
+		var loader = new THREE.FileLoader(this.manager);
+		loader.load(url, function (text) {
 
-		} else if ( /V2.0/.exec( header ) ) {
+			onLoad(scope.parse(text));
 
-			parseV2( lines, scene );
+		}, onProgress, onError);
 
-		}
+	},
 
-		return scene;
+	setCrossOrigin: function (value) {
 
-	}
+		this.crossOrigin = value;
+
+	},
 
 };

+ 4358 - 4361
examples/models/vrml/house.wrl

@@ -2,5182 +2,5179 @@
 
 
 Group {
-children[
-DirectionalLight {
-  ambientIntensity  0 
-  color             1 1 0.9
-  direction         0.5 -1.5 -1
-  intensity         1.8 
-  on                TRUE 
-}
-
-DirectionalLight {
-  ambientIntensity  0 
-  color             1 1 0.9
-  direction         -0.5 1 0
-  intensity        1 
-  on                TRUE 
-}
-
-NavigationInfo {
-  
-  avatarSize       [ 0.2, 1.4, 0.5 ]
-
-  headlight        FALSE
- 
-  
-}
-
-
-
-
-DirectionalLight {
-  ambientIntensity  0 
-  color             0.6 0.6 0.8
-  direction         -1 0.5 2
-  intensity         1 
-  on                TRUE 
-}
-
-Background {
-  groundAngle  [ 1.5 1.6 ]
-  groundColor  [ 0.2 0.6 0.3, 0.4 0.4 0.35, 0.3 0.5 0.6  ]
-  backUrl      []
-  bottomUrl    []
-  frontUrl     []
-  leftUrl      []
-  rightUrl     []
-  topUrl       []
-  skyAngle     [ 1.5 ]
-  skyColor     [ 0.5 0.7 1,	0.7 1 0.9 ]
-  
-}
-
-Viewpoint {
-	fieldOfView    1
-	jump           TRUE
-	orientation     0 1 0 -0.5
-	position       -4 2 10
-
-	description    "Entry"
-}
-
-Viewpoint {
-	fieldOfView    1
-	jump           TRUE
-	orientation    0 0 1  0
-	position       3.5 1.7 13
-
-	description    "Vooraanzicht"
-}
-
-Viewpoint {
-	fieldOfView    1
-	jump           TRUE
-	orientation    0 0 1  0
-	position       2.5 1.5 -4.5
-
-	description    "Woonkamer"
-}
-
-Viewpoint {
-	fieldOfView    1
-	jump           TRUE
-	orientation    0 0 1  0
-	position       1.5 1.5 -1.7
-
-	description    "Keuken"
-}
-
-
-
-Viewpoint {
-	fieldOfView    1
-	jump           TRUE
-	orientation    0 1 0  3.1415927
-	position       2.5 2.5 -20
-
-	description    "Achteraanzicht"
-}
-
-Viewpoint {
-	fieldOfView    1
-	jump           TRUE
-	orientation    1 0 0  -1.5707963
-	position       2.5 20 -4.5
-
-	description    "Bovenaanzicht"
-}
-
-
-
-
-
-# beneden/beneden.wrl
+    children[
+        DirectionalLight {
+            ambientIntensity  0
+            color             1 1 0.9
+            direction         0.5 -1.5 -1
+            intensity         1.8
+            on                TRUE
+        }
 
+        DirectionalLight {
+            ambientIntensity  0
+            color             1 1 0.9
+            direction         -0.5 1 0
+            intensity        1
+            on                TRUE
+        }
 
+        NavigationInfo {
 
+            avatarSize       [ 0.2, 1.4, 0.5 ]
 
-DEF vloer Transform {
-	children [
-		Shape {
-appearance Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      1 0.5 0.3
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {	#default NULL
-					point [
-						0.14	0	-0.14,
-						5.54	0	-0.14,
-						5.54	0	-8.86,
-						0.14	0	-8.86,
-					]
-				}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [
-	0, 1, 2, 3, -1,
-	0, 3, 2, 1, -1,
-]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             TRUE
-				texCoordIndex     []
-			}
-		}
-	]
-}
+            headlight        FALSE
 
 
-DEF drempelvoor Transform {
-children[
-	Shape {
-		appearance 	Appearance {
-			material 	Material {
-	ambientIntensity  0.2
-	diffuseColor      0.4 0.4 0.4
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-					}	
-				}
-		geometry 	Box {
-	size	1.23 0.04 0.30
-				}
-
-	}
- ]
-translation		3.805	0.02 -0.14
-}
+        }
 
-DEF drempelachter Transform {
-children[
-	Shape {
-		appearance 	Appearance {
-			material 	Material {
-	ambientIntensity  0.2
-	diffuseColor      0.4 0.4 0.4
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-					}	
-				}
-		geometry 	Box {
-	size	1.05 0.04 0.30
-				}
-
-	}
- ]
-translation		1.725	0.02 -8.86
-}
+        DirectionalLight {
+            ambientIntensity  0
+            color             0.6 0.6 0.8
+            direction         -1 0.5 2
+            intensity         1
+            on                TRUE
+        }
 
+        Background {
+            groundAngle  [ 1.5, 1.6 ]
+            groundColor  [ 0.2 0.6 0.3, 0.4 0.4 0.35, 0.3 0.5 0.6  ]
+            backUrl      []
+            bottomUrl    []
+            frontUrl     []
+            leftUrl      []
+            rightUrl     []
+            topUrl       []
+            skyAngle     [ 1.5 ]
+            skyColor     [ 0.5 0.7 1,	0.7 1 0.9 ]
 
-DEF stukmuur1 Transform {
-children[
-	Shape {
-	appearance DEF wandkleur Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      1 0.9 0.7
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-		geometry 	Box {
-	size	0.70 2.70 0.07
-				}
-
-	}
- ]
-translation		0.63	1.35 -3.395
-}
+        }
 
-DEF stukmuur2 Transform {
-children[
-	Shape {
-	appearance USE wandkleur
-		geometry 	Box {
-	size	1.41 2.70 0.07
-				}
-
-	}
- ]
-translation		2.485	1.35 -3.395
-}
+        Viewpoint {
+            fieldOfView    1
+            jump           TRUE
+            orientation     0 1 0 -0.5
+            position       -4 2 10
 
+            description    "Entry"
+        }
 
-DEF stukmuur3 Transform {
-children[
-	Shape {
-	appearance USE wandkleur
-		geometry 	Box {
-	size	0.43 2.70 0.07
-				}
+        Viewpoint {
+            fieldOfView    1
+            jump           TRUE
+            orientation    0 0 1  0
+            position       3.5 1.7 13
 
-	}
- ]
-translation		4.205	1.35 -3.395
-}
+            description    "Vooraanzicht"
+        }
 
-DEF stukmuur4 Transform {
-children[
-	Shape {
-	appearance USE wandkleur
-		geometry 	Box {
-	size	1.06 2.8 0.07
-				}
-
-	}
- ]
-translation		4.87	1.4 -4.395
-}
+        Viewpoint {
+            fieldOfView    1
+            jump           TRUE
+            orientation    0 0 1  0
+            position       2.5 1.5 -4.5
 
-DEF stukmuur5 Transform {
-children[
-	Shape {
-	appearance USE wandkleur
-		geometry 	Box {
-	size	0.07 2.70 2.28
-				}
-
-	}
- ]
-translation		3.155	1.35 -1.42
-}
+            description    "Woonkamer"
+        }
 
-DEF stukmuur6 Transform {
-children[
-	Shape {
-	appearance USE wandkleur
-		geometry 	Box {
-	size	0.98 2.8 0.07
-				}
-
-	}
- ]
-translation		4.91	1.4 -2.325
-}
+        Viewpoint {
+            fieldOfView    1
+            jump           TRUE
+            orientation    0 0 1  0
+            position       1.5 1.5 -1.7
 
-DEF stukmuur7 Transform {
-children[
-	Shape {
-	appearance USE wandkleur
-		geometry 	Box {
-	size	0.98 2.70 0.07
-				}
-
-	}
- ]
-translation		4.91	1.35 -1.515
-}
+            description    "Keuken"
+        }
 
 
-DEF stukmuur8 Transform {
-children[
-	Shape {
-	appearance USE wandkleur
-		geometry 	Box {
-	size	0.07 2.70 0.4
-				}
 
-	}
- ]
-translation		4.455	1.35 -0.48
-}
-
-DEF stukmuur9 Transform {
-children[
-	Shape {
-	appearance USE wandkleur
-		geometry 	Box {
-	size	0.07 2.70 0.74
-				}
-
-	}
- ]
-translation		4.7	1.35 -1.92
-}
+        Viewpoint {
+            fieldOfView    1
+            jump           TRUE
+            orientation    0 1 0  3.1415927
+            position       2.5 2.5 -20
 
+            description    "Achteraanzicht"
+        }
 
+        Viewpoint {
+            fieldOfView    1
+            jump           TRUE
+            orientation    1 0 0  -1.5707963
+            position       2.5 20 -4.5
 
-# binmuur.wrl
+            description    "Bovenaanzicht"
+        }
 
 
 
 
-Transform {
-	children [
-		Shape {
-appearance Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      1 0.9 0.7
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {	#default NULL
-					point [
-						0.28	0	-0.28, #0 linkerbenedenhoek voorgevel
-						5.40	0	-0.28,
-						5.40	5.40	-0.28,
-						0.28	5.40	-0.28, #3 linkerbovenhoek voorgevel
-
-						3.19	0	-0.28, #4 voordeur
-						4.42	0	-0.28,
-						4.42	2.30	-0.28,
-						3.19	2.30	-0.28, #7 voordeur
-
-						4.84	1.60	-0.28, #toiletraam-8
-						5.04	1.60	-0.28,
-						5.04	2.30	-0.28,
-						4.84	2.30	-0.28, 
-
-						2.60	0.90	-0.28, #keukenraam-12
-						2.60	2.30	-0.28,
-						0.60	2.30	-0.28,
-						0.60	0.90	-0.28,
-
-						0.60	3.60	-0.28, #bovenraam-16
-						1.50	3.60	-0.28,
-						1.50	5.0	-0.28,
-						4.42	5.0	-0.28,
-						4.42	5.40	-0.28, 
-						0.60	5.40	-0.28,
-
-						0.28	8.55	-3.15, #linkergevel-22
-						0.28	2.70	-8.72,
-						0.28	0	-8.72,
-
-						5.40	8.55	-3.15, #rechtergevel-25
-						5.40	5.40	-6.30,
-						5.40	5.40	-8.72,
-						5.40	0	-8.72,
-
-						2.25	0	-8.72, #achtergevel-29
-						2.25	0.6	-8.72,
-						4.8	0.6	-8.72,
-						4.8	5.40	-8.72,
-						1.2	0	-8.72,
-						1.2	2.70	-8.72,
 
+        # beneden/beneden.wrl
+
+
+
+
+        DEF vloer Transform {
+            children [
+                Shape {
+                    appearance Appearance {
+                        material         Material {
+                            ambientIntensity  0.2
+                            diffuseColor      1 0.5 0.3
+                            emissiveColor     0 0 0
+                            shininess         0.1
+                            specularColor     0 0 0
+                            transparency      0
+                        }	texture           NULL
+                        textureTransform  NULL
+                    }
+                    geometry IndexedFaceSet {
+                        color             NULL
+                        coord  Coordinate {	#default NULL
+                            point [
+                                0.14	0	-0.14,
+                                5.54	0	-0.14,
+                                5.54	0	-8.86,
+                                0.14	0	-8.86,
+                            ]
+                        }
+                        normal            NULL
+                        texCoord          NULL
+                        ccw               TRUE
+                        colorIndex        []
+                        colorPerVertex    TRUE
+                        convex            TRUE
+                        coordIndex  [
+                            0, 1, 2, 3, -1,
+                            0, 3, 2, 1, -1,
+                        ]     #default []
+                        creaseAngle       0
+                        normalIndex       []
+                        normalPerVertex   TRUE
+                        solid             TRUE
+                        texCoordIndex     []
+                    }
+                }
+            ]
+        }
 
-						3.19	0	-0.14, #diepte van de voordeur-35
-						4.42	0	-0.14,
-						4.42	2.30	-0.14,
-						3.19	2.30	-0.14, #diepte van de voordeur-38
 
-						2.60	0.90	-0.14, # diepte van het keukenraam-39
-						2.60	2.30	-0.14,
-						0.60	2.30	-0.14,
-						0.60	0.90	-0.14,
+        DEF drempelvoor Transform {
+            children[
+                Shape {
+                    appearance 	Appearance {
+                        material 	Material {
+                            ambientIntensity  0.2
+                            diffuseColor      0.4 0.4 0.4
+                            emissiveColor     0 0 0
+                            shininess         0.1
+                            specularColor     0 0 0
+                            transparency      0
+                        }
+                    }
+                    geometry 	Box {
+                        size	1.23 0.04 0.30
+                    }
 
-						4.84	1.60	-0.14, #diepte van het toiletraam-43
-						5.04	1.60	-0.14,
-						5.04	2.30	-0.14,
-						4.84	2.30	-0.14, 
+                }
+            ]
+            translation		3.805	0.02 -0.14
+        }
 
-						0.60	3.60	-0.14, #diepte van het bovenraam-47
-						1.50	3.60	-0.14,
-						1.50	5.0	-0.14,
-						4.42	5.0	-0.14,
-						4.42	5.40	-0.14, 
-						0.60	5.40	-0.14, #52
+        DEF drempelachter Transform {
+            children[
+                Shape {
+                    appearance 	Appearance {
+                        material 	Material {
+                            ambientIntensity  0.2
+                            diffuseColor      0.4 0.4 0.4
+                            emissiveColor     0 0 0
+                            shininess         0.1
+                            specularColor     0 0 0
+                            transparency      0
+                        }
+                    }
+                    geometry 	Box {
+                        size	1.05 0.04 0.30
+                    }
 
-						2.25	0	-8.86, #diepte van de achtergevel-53
-						2.25	0.6	-8.86,
-						4.8	0.6	-8.86,
-						4.8	5.40	-8.86,
-						1.2	0	-8.86,
-						1.2	2.70	-8.86,	#58
+                }
+            ]
+            translation		1.725	0.02 -8.86
+        }
 
-						0.28	5.40	0,	#59 hoekpunt voor dakvorm zolder
-						5.40	5.40	0,
-						0.28	5.40	-6.30, #61
-						0.28	2.70	-9.0,  #62 hoekpunt voor dakvorm 1e verdieping
 
-						0.28	2.7	-0.28, #63 extra punten voor segmentering beneden
-						0.14	2.7	-0.14,
+        DEF stukmuur1 Transform {
+            children[
+                Shape {
+                    appearance DEF wandkleur Appearance {
+                        material         Material {
+                            ambientIntensity  0.2
+                            diffuseColor      1 0.9 0.7
+                            emissiveColor     0 0 0
+                            shininess         0.1
+                            specularColor     0 0 0
+                            transparency      0
+                        }	texture           NULL
+                        textureTransform  NULL
+                    }
+                    geometry 	Box {
+                        size	0.70 2.70 0.07
+                    }
 
-						5.4	2.7	-0.28, #65
-						5.54	2.7	-0.14, #
+                }
+            ]
+            translation		0.63	1.35 -3.395
+        }
 
-						0.28	2.7	-8.72, #67
-						0.14	2.7	-8.86, #
+        DEF stukmuur2 Transform {
+            children[
+                Shape {
+                    appearance USE wandkleur
+                    geometry 	Box {
+                        size	1.41 2.70 0.07
+                    }
 
-						5.4	2.7	-8.72, #69
-						5.54	2.7	-8.86, #
+                }
+            ]
+            translation		2.485	1.35 -3.395
+        }
 
-						1.2	2.7	-8.72, #71
-						1.2	2.7	-8.86, #
 
-						4.8	2.7	-8.72, #73
-						4.8	2.7	-8.86, #
-						
-					]
-				}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [
-		0, 4, 12, 15, -1,
-		0, 15, 12, 4, -1,
+        DEF stukmuur3 Transform {
+            children[
+                Shape {
+                    appearance USE wandkleur
+                    geometry 	Box {
+                        size	0.43 2.70 0.07
+                    }
 
-		0, 15, 14, 63, -1,
-		0, 63, 14, 15, -1,
+                }
+            ]
+            translation		4.205	1.35 -3.395
+        }
 
-		14, 13, 65, 63, -1,
-		
-		4, 12, 13, 7, -1,
+        DEF stukmuur4 Transform {
+            children[
+                Shape {
+                    appearance USE wandkleur
+                    geometry 	Box {
+                        size	1.06 2.8 0.07
+                    }
 
-		13, 7, 6, 65, -1,
+                }
+            ]
+            translation		4.87	1.4 -4.395
+        }
 
-		6, 11, 10, 65, -1,
+        DEF stukmuur5 Transform {
+            children[
+                Shape {
+                    appearance USE wandkleur
+                    geometry 	Box {
+                        size	0.07 2.70 2.28
+                    }
 
-		5, 8, 11, 6, -1,
+                }
+            ]
+            translation		3.155	1.35 -1.42
+        }
 
-		5, 8, 9, 1, -1,
+        DEF stukmuur6 Transform {
+            children[
+                Shape {
+                    appearance USE wandkleur
+                    geometry 	Box {
+                        size	0.98 2.8 0.07
+                    }
 
-		1, 9, 10, 65, -1,
+                }
+            ]
+            translation		4.91	1.4 -2.325
+        }
 
-		0, 63, 67, 24, -1,
+        DEF stukmuur7 Transform {
+            children[
+                Shape {
+                    appearance USE wandkleur
+                    geometry 	Box {
+                        size	0.98 2.70 0.07
+                    }
 
-		67, 24, 33, 71, -1,
+                }
+            ]
+            translation		4.91	1.35 -1.515
+        }
 
-		28, 29, 30, 31, -1,
 
-		28, 31, 73, 69, -1,
+        DEF stukmuur8 Transform {
+            children[
+                Shape {
+                    appearance USE wandkleur
+                    geometry 	Box {
+                        size	0.07 2.70 0.4
+                    }
 
-		28, 69, 65, 1, -1,
+                }
+            ]
+            translation		4.455	1.35 -0.48
+        }
 
-		63, 65, 66, 64, -1,
+        DEF stukmuur9 Transform {
+            children[
+                Shape {
+                    appearance USE wandkleur
+                    geometry 	Box {
+                        size	0.07 2.70 0.74
+                    }
 
-		65, 69, 70, 66, -1,
+                }
+            ]
+            translation		4.7	1.35 -1.92
+        }
 
-		63, 67, 68, 64, -1,
 
-		69, 73, 74, 70, -1,
 
-		67, 71, 72, 68, -1,
+        # binmuur.wrl
+
+
+
+
+        Transform {
+            children [
+                Shape {
+                    appearance Appearance {
+                        material         Material {
+                            ambientIntensity  0.2
+                            diffuseColor      1 0.9 0.7
+                            emissiveColor     0 0 0
+                            shininess         0.1
+                            specularColor     0 0 0
+                            transparency      0
+                        }	texture           NULL
+                        textureTransform  NULL
+                    }
+                    geometry IndexedFaceSet {
+                        color             NULL
+                        coord  Coordinate {	#default NULL
+                            point [
+                                0.28	0	-0.28, #0 linkerbenedenhoek voorgevel
+                                5.40	0	-0.28,
+                                5.40	5.40	-0.28,
+                                0.28	5.40	-0.28, #3 linkerbovenhoek voorgevel
+
+                                3.19	0	-0.28, #4 voordeur
+                                4.42	0	-0.28,
+                                4.42	2.30	-0.28,
+                                3.19	2.30	-0.28, #7 voordeur
+
+                                4.84	1.60	-0.28, #toiletraam-8
+                                5.04	1.60	-0.28,
+                                5.04	2.30	-0.28,
+                                4.84	2.30	-0.28,
+
+                                2.60	0.90	-0.28, #keukenraam-12
+                                2.60	2.30	-0.28,
+                                0.60	2.30	-0.28,
+                                0.60	0.90	-0.28,
+
+                                0.60	3.60	-0.28, #bovenraam-16
+                                1.50	3.60	-0.28,
+                                1.50	5.0	-0.28,
+                                4.42	5.0	-0.28,
+                                4.42	5.40	-0.28,
+                                0.60	5.40	-0.28,
 
-		5, 6, 37, 36, -1,
+                                0.28	8.55	-3.15, #linkergevel-22
+                                0.28	2.70	-8.72,
+                                0.28	0	-8.72,
 
-		6, 7, 38, 37, -1,
+                                5.40	8.55	-3.15, #rechtergevel-25
+                                5.40	5.40	-6.30,
+                                5.40	5.40	-8.72,
+                                5.40	0	-8.72,
 
-		4, 35, 38, 7, -1,
+                                2.25	0	-8.72, #achtergevel-29
+                                2.25	0.6	-8.72,
+                                4.8	0.6	-8.72,
+                                4.8	5.40	-8.72,
+                                1.2	0	-8.72,
+                                1.2	2.70	-8.72,
 
-		12, 39, 40, 13, -1,
 
-		13, 40, 41, 14, -1, 
+                                3.19	0	-0.14, #diepte van de voordeur-35
+                                4.42	0	-0.14,
+                                4.42	2.30	-0.14,
+                                3.19	2.30	-0.14, #diepte van de voordeur-38
 
-		14, 41, 42, 15, -1,
+                                2.60	0.90	-0.14, # diepte van het keukenraam-39
+                                2.60	2.30	-0.14,
+                                0.60	2.30	-0.14,
+                                0.60	0.90	-0.14,
 
-		15, 42, 39, 12, -1, 
+                                4.84	1.60	-0.14, #diepte van het toiletraam-43
+                                5.04	1.60	-0.14,
+                                5.04	2.30	-0.14,
+                                4.84	2.30	-0.14,
 
-		8, 43, 44, 9, -1,
+                                0.60	3.60	-0.14, #diepte van het bovenraam-47
+                                1.50	3.60	-0.14,
+                                1.50	5.0	-0.14,
+                                4.42	5.0	-0.14,
+                                4.42	5.40	-0.14,
+                                0.60	5.40	-0.14, #52
 
+                                2.25	0	-8.86, #diepte van de achtergevel-53
+                                2.25	0.6	-8.86,
+                                4.8	0.6	-8.86,
+                                4.8	5.40	-8.86,
+                                1.2	0	-8.86,
+                                1.2	2.70	-8.86,	#58
 
-		9, 44, 45, 10, -1,
+                                0.28	5.40	0,	#59 hoekpunt voor dakvorm zolder
+                                5.40	5.40	0,
+                                0.28	5.40	-6.30, #61
+                                0.28	2.70	-9.0,  #62 hoekpunt voor dakvorm 1e verdieping
 
+                                0.28	2.7	-0.28, #63 extra punten voor segmentering beneden
+                                0.14	2.7	-0.14,
 
-		10, 45, 46, 11, -1,
+                                5.4	2.7	-0.28, #65
+                                5.54	2.7	-0.14, #
 
+                                0.28	2.7	-8.72, #67
+                                0.14	2.7	-8.86, #
 
-		11, 46, 43, 8, -1,
+                                5.4	2.7	-8.72, #69
+                                5.54	2.7	-8.86, #
 
+                                1.2	2.7	-8.72, #71
+                                1.2	2.7	-8.86, #
 
-		29, 53, 54, 30, -1,
+                                4.8	2.7	-8.72, #73
+                                4.8	2.7	-8.86, #
 
+                            ]
+                        }
+                        normal            NULL
+                        texCoord          NULL
+                        ccw               TRUE
+                        colorIndex        []
+                        colorPerVertex    TRUE
+                        convex            TRUE
+                        coordIndex  [
+                            0, 4, 12, 15, -1,
+                            0, 15, 12, 4, -1,
 
-		30, 54, 55, 31, -1, 
+                            0, 15, 14, 63, -1,
+                            0, 63, 14, 15, -1,
 
+                            14, 13, 65, 63, -1,
 
-		31, 55, 74, 73, -1,
+                            4, 12, 13, 7, -1,
 
+                            13, 7, 6, 65, -1,
 
-		33, 57, 72, 71, -1,
+                            6, 11, 10, 65, -1,
 
+                            5, 8, 11, 6, -1,
 
+                            5, 8, 9, 1, -1,
 
+                            1, 9, 10, 65, -1,
 
+                            0, 63, 67, 24, -1,
 
-]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             FALSE
-				texCoordIndex     []
-			}
-		}
-	]
-}
+                            67, 24, 33, 71, -1,
 
-#benodigde tijd tot hier 2 uur(kale buitenkant van het huis )
+                            28, 29, 30, 31, -1,
 
-# /binmuur.wrl
+                            28, 31, 73, 69, -1,
 
-# buitmuur.wrl
+                            28, 69, 65, 1, -1,
 
+                            63, 65, 66, 64, -1,
 
+                            65, 69, 70, 66, -1,
 
+                            63, 67, 68, 64, -1,
 
-Transform {
-	children [
-		Shape {
-appearance DEF steen Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      0.8 0.4 0.3
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {	#default NULL
-					point [
-						0	    0	    0, # 0 linkerbenedenhoek voorgevel
-						5.68	0	    0,
-						5.68	5.40	0, # 2
-						0	    5.40	0, # 3 linkerbovenhoek voorgevel
-
-						3.19	0	    0, #voordeur
-						4.42	0	    0,
-						4.42	2.30	0, # 6
-						3.19	2.30	0, # 7 voordeur
-
-						4.84	1.60	0, #toiletraam-8
-						5.04	1.60	0,
-						5.04	2.30	0, # 10
-						4.84	2.30	0, 
+                            69, 73, 74, 70, -1,
 
-						2.60	0.90	0, #keukenraam-12
-						2.60	2.30	0, # 13
-						0.60	2.30	0,
-						0.60	0.90	0,
+                            67, 71, 72, 68, -1,
 
-						0.60	3.60	0, #bovenraam-16
-						1.50	3.60	0,
-						1.50	5.0	    0,
-						4.42	5.0	    0,
-						4.42	5.40	0, 
-						0.60	5.40	0,
+                            5, 6, 37, 36, -1,
 
-						0	8.555	-3.15, #linkergevel-22
-						0	2.7	-9.0,
-						0	0	-9.0,
+                            6, 7, 38, 37, -1,
 
-						5.68	8.555	-3.15, #rechtergevel-25
-						5.68	5.40	-6.3,
-						5.68	5.40	-9,
-						5.68	0	-9.0,
+                            4, 35, 38, 7, -1,
 
-						2.25	0	-9.0, #achtergevel-29
-						2.25	0.6	-9.0,
-						4.8	0.6	-9.0,
-						4.8	5.40	-9.0,
-						1.2	0	-9.0,
-						1.2	2.7	-9,
+                            12, 39, 40, 13, -1,
 
+                            13, 40, 41, 14, -1,
 
-						3.19	0	-0.14, #diepte van de voordeur-35
-						4.42	0	-0.14,
-						4.42	2.30	-0.14,
-						3.19	2.30	-0.14, #diepte van de voordeur-38
+                            14, 41, 42, 15, -1,
 
-						2.60	0.90	-0.14, # diepte van het keukenraam-39
-						2.60	2.30	-0.14,
-						0.60	2.30	-0.14,
-						0.60	0.90	-0.14,
+                            15, 42, 39, 12, -1,
 
-						4.84	1.60	-0.14, #diepte van het toiletraam-43
-						5.04	1.60	-0.14,
-						5.04	2.30	-0.14,
-						4.84	2.30	-0.14, 
+                            8, 43, 44, 9, -1,
 
-						0.60	3.60	-0.14, #diepte van het bovenraam-47
-						1.50	3.60	-0.14,
-						1.50	5.0	-0.14,
-						4.42	5.0	-0.14,
-						4.42	5.40	-0.14, 
-						0.60	5.40	-0.14, #52
 
-						2.25	0	-8.86, #diepte van de achtergevel-53
-						2.25	0.6	-8.86,
-						4.8	0.6	-8.86,
-						4.8	5.40	-8.86,
-						1.2	0	-8.86,
-						1.2	2.7	-8.86,	#58
+                            9, 44, 45, 10, -1,
 
-						0	2.7	0, #59 extra punten voor segmentering beneden
-						0.14	2.7	-0.14,
 
-						5.68	2.7	0, #61
-						5.54	2.7	-0.14, #
+                            10, 45, 46, 11, -1,
 
-						0	2.7	-9, #63
-						0.14	2.7	-8.86, #
 
-						5.68	2.7	-9, #65
-						5.54	2.7	-8.86, #
+                            11, 46, 43, 8, -1,
 
-						1.2	2.7	-9, #67
-						1.2	2.7	-8.86, #
 
-						4.8	2.7	-9, #69
-						4.8	2.7	-8.86, #
+                            29, 53, 54, 30, -1,
 
 
+                            30, 54, 55, 31, -1,
 
-					]
-				}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [
-		0, 4, 12, 15, -1,
 
-		0, 15, 14, 59, -1,
+                            31, 55, 74, 73, -1,
 
-		14, 13, 61, 59,-1,
 
+                            33, 57, 72, 71, -1,
 
-		4, 7, 13, 12, -1,
 
-        13, 11, 61, -1,
 
-		11, 10, 61, -1,
 
-		9, 1, 61, 10, -1, 
 
-		5, 1, 9, 8, -1,
+                        ]     #default []
+                        creaseAngle       0
+                        normalIndex       []
+                        normalPerVertex   TRUE
+                        solid             FALSE
+                        texCoordIndex     []
+                    }
+                }
+            ]
+        }
 
-		5, 8, 11, 6, -1,
+        #benodigde tijd tot hier 2 uur(kale buitenkant van het huis )
+
+        # /binmuur.wrl
+
+        # buitmuur.wrl
+
+
+
+
+        Transform {
+            children [
+                Shape {
+                    appearance DEF steen Appearance {
+                        material         Material {
+                            ambientIntensity  0.2
+                            diffuseColor      0.8 0.4 0.3
+                            emissiveColor     0 0 0
+                            shininess         0.1
+                            specularColor     0 0 0
+                            transparency      0
+                        }	texture           NULL
+                        textureTransform  NULL
+                    }
+                    geometry IndexedFaceSet {
+                        color             NULL
+                        coord  Coordinate {	#default NULL
+                            point [
+                                0	    0	    0, # 0 linkerbenedenhoek voorgevel
+                                5.68	0	    0,
+                                5.68	5.40	0, # 2
+                                0	    5.40	0, # 3 linkerbovenhoek voorgevel
+
+                                3.19	0	    0, #voordeur
+                                4.42	0	    0,
+                                4.42	2.30	0, # 6
+                                3.19	2.30	0, # 7 voordeur
+
+                                4.84	1.60	0, #toiletraam-8
+                                5.04	1.60	0,
+                                5.04	2.30	0, # 10
+                                4.84	2.30	0,
 
+                                2.60	0.90	0, #keukenraam-12
+                                2.60	2.30	0, # 13
+                                0.60	2.30	0,
+                                0.60	0.90	0,
 
-		0, 59, 63, 24, -1,
+                                0.60	3.60	0, #bovenraam-16
+                                1.50	3.60	0,
+                                1.50	5.0	    0,
+                                4.42	5.0	    0,
+                                4.42	5.40	0,
+                                0.60	5.40	0,
 
-		1, 28, 65, 61, -1,
+                                0	8.555	-3.15, #linkergevel-22
+                                0	2.7	-9.0,
+                                0	0	-9.0,
 
-		28, 29, 30, 31, -1,
+                                5.68	8.555	-3.15, #rechtergevel-25
+                                5.68	5.40	-6.3,
+                                5.68	5.40	-9,
+                                5.68	0	-9.0,
 
-		28, 31, 69, 65, -1,
+                                2.25	0	-9.0, #achtergevel-29
+                                2.25	0.6	-9.0,
+                                4.8	0.6	-9.0,
+                                4.8	5.40	-9.0,
+                                1.2	0	-9.0,
+                                1.2	2.7	-9,
 
-		33, 24, 63, 67, -1,
 
-		5, 6, 37, 36, -1,
+                                3.19	0	-0.14, #diepte van de voordeur-35
+                                4.42	0	-0.14,
+                                4.42	2.30	-0.14,
+                                3.19	2.30	-0.14, #diepte van de voordeur-38
 
-		6, 7, 38, 37, -1,
+                                2.60	0.90	-0.14, # diepte van het keukenraam-39
+                                2.60	2.30	-0.14,
+                                0.60	2.30	-0.14,
+                                0.60	0.90	-0.14,
 
-		4, 35, 38, 7, -1,
+                                4.84	1.60	-0.14, #diepte van het toiletraam-43
+                                5.04	1.60	-0.14,
+                                5.04	2.30	-0.14,
+                                4.84	2.30	-0.14,
 
-		12, 13, 40, 39, -1,
+                                0.60	3.60	-0.14, #diepte van het bovenraam-47
+                                1.50	3.60	-0.14,
+                                1.50	5.0	-0.14,
+                                4.42	5.0	-0.14,
+                                4.42	5.40	-0.14,
+                                0.60	5.40	-0.14, #52
 
-		13, 14, 41, 40, -1,
+                                2.25	0	-8.86, #diepte van de achtergevel-53
+                                2.25	0.6	-8.86,
+                                4.8	0.6	-8.86,
+                                4.8	5.40	-8.86,
+                                1.2	0	-8.86,
+                                1.2	2.7	-8.86,	#58
 
-		15, 42, 41, 14, -1,
+                                0	2.7	0, #59 extra punten voor segmentering beneden
+                                0.14	2.7	-0.14,
 
-		12, 39, 42, 15, -1
+                                5.68	2.7	0, #61
+                                5.54	2.7	-0.14, #
 
-		8, 9, 44, 43, -1,
+                                0	2.7	-9, #63
+                                0.14	2.7	-8.86, #
 
-		9, 10 , 45, 44, -1,
+                                5.68	2.7	-9, #65
+                                5.54	2.7	-8.86, #
 
-		10, 11, 46, 45, -1,
+                                1.2	2.7	-9, #67
+                                1.2	2.7	-8.86, #
 
-		11, 8, 43, 46, -1,
+                                4.8	2.7	-9, #69
+                                4.8	2.7	-8.86, #
 
-		29, 53, 54, 30, -1,
 
-		30, 54, 55, 31, -1, 
 
-		31, 55, 70, 69, -1,
+                            ]
+                        }
+                        normal            NULL
+                        texCoord          NULL
+                        ccw               TRUE
+                        colorIndex        []
+                        colorPerVertex    TRUE
+                        convex            TRUE
+                        coordIndex  [
+                            0, 4, 12, 15, -1,
 
-		33, 67, 68, 57, -1,
+                            0, 15, 14, 59, -1,
 
-		59, 61, 62, 60, -1,
+                            14, 13, 61, 59,-1,
 
-		59, 60, 64, 63, -1,
 
-		61, 65, 66, 62, -1,
+                            4, 7, 13, 12, -1,
 
-		65, 69, 70, 66, -1,
+                            13, 11, 61, -1,
 
-		64, 68, 67, 63, -1,
+                            11, 10, 61, -1,
 
+                            9, 1, 61, 10, -1,
 
+                            5, 1, 9, 8, -1,
 
-]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             FALSE
-				texCoordIndex     []
-			}
-		}
-	]
-}
+                            5, 8, 11, 6, -1,
 
-Transform{#schuurtje
-children [
-
-DEF schuurvloer Transform {
-	children [
-		Shape {
-appearance Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      1 0.5 0.3
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {	#default NULL
-					point [
-						0.1	0	-0.1,
-						2.1	0	-0.1,
-						2.1	0	-3.1,
-						0.1	0	-3.1,
-					]
-				}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [
-	0, 1, 2, 3, -1,
-	
-]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             FALSE
-				texCoordIndex     []
-			}
-		}
-	]
-}
 
+                            0, 59, 63, 24, -1,
 
-Transform {
-children [
-Shape {
-appearance USE steen
-geometry Box {	size	2.2	2.6	0.1	}
-}
-]
-translation 1.1 1.3 -0.05
-}
+                            1, 28, 65, 61, -1,
 
-Transform{
-children [
-Shape {
-appearance USE steen
-geometry Box {	size	2.2	2.6	0.1	}
-}
-]
-translation	1.1	1.3	-3.15
-}
+                            28, 29, 30, 31, -1,
 
-Transform{
-children [
-Shape {
-appearance USE steen
-geometry Box {	size	0.1	2.6	1.3	}
-}
-]
-translation		0.05	1.3	-0.75
-}
+                            28, 31, 69, 65, -1,
 
-Transform{
-children [
-Shape {
-appearance USE steen
-geometry Box {	size	0.1	2.6	0.75	}
-}
-]
-translation		0.05	1.3	-2.725
-}
+                            33, 24, 63, 67, -1,
 
-Transform{
-children [
-Shape {
-appearance USE steen
-geometry Box {	size	0.1	2.6	3	}
-}
-]
-translation		2.15	1.3	-1.6
-}
+                            5, 6, 37, 36, -1,
 
-Transform{
-children [
-Shape {
-appearance DEF blauw Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      0.3 0.4 0.7
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-geometry Box {	size	0.05	0.44	0.85	}
-}
-]
-translation		0.05	2.38	-1.875
-}
+                            6, 7, 38, 37, -1,
 
-Transform{#drempel van schuurdeur
-children [
-
-Transform{#deurpost
-children [
-
-DEF deurpost Shape {
-		appearance 	DEF grijs Appearance {
-			material 	Material {
-	ambientIntensity  0.2
-	diffuseColor      0.4 0.4 0.4
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-					}	
-				}
-		geometry 	Box {
-	size	0.05 2.56 0.05
-				}
-	}
-]
-translation 0 1.3 0.45
-}
+                            4, 35, 38, 7, -1,
 
-Transform{#deurpost
-children [
-
-Shape {
-		appearance USE grijs
-		geometry 	Box {
-	size	0.05 0.05 0.85
-				}
-	}
-]
-translation 0 2.135 0
-}
+                            12, 13, 40, 39, -1,
 
+                            13, 14, 41, 40, -1,
 
-Transform{#deurpost
-children [
+                            15, 42, 41, 14, -1,
 
-USE deurpost
-]
-translation 0 1.3 -0.45
-}
+                            12, 39, 42, 15, -1
 
-Shape {
-		appearance 	USE grijs
-		geometry 	Box {
-	size	0.1 0.04 0.95
-				}
+                            8, 9, 44, 43, -1,
 
-	}
-]
-translation		0.05	0.02	-1.875
-}
+                            9, 10 , 45, 44, -1,
 
+                            10, 11, 46, 45, -1,
 
-]
-translation 3.48	0	7.8
-}
+                            11, 8, 43, 46, -1,
 
-# /buitmuur.wrl
+                            29, 53, 54, 30, -1,
 
+                            30, 54, 55, 31, -1,
 
-# trapbeneden.wrl
+                            31, 55, 70, 69, -1,
 
+                            33, 67, 68, 57, -1,
 
+                            59, 61, 62, 60, -1,
 
+                            59, 60, 64, 63, -1,
 
-DEF trapbeneden Transform {
-	children [
-		Shape {
-appearance Appearance {
-	material          Material {
-	ambientIntensity  0.2
-	diffuseColor      1 0.5 0.3
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry DEF trap IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {	#default NULL
-					point [
-	-0.2	0	1, #0
-	0	0.2	1,
-	0	0.2	0,
-	-0.2	0	0, #3
-
-	0.28	0.4	1, #4
-	0.6	0.6	1,
-	0.98	0.8	1,
-	0.98	1	0.45, #7
-
-	0.98	1.2	0.25, #8
-	0.98	1.4	0, 
-	0.98	1.6	-0.25, 
-	0.98	1.8	-0.45, #11
-
-	0.98	2.0	-1, #12
-	0.6	2.2	-1,
-	0.28	2.4	-1,
-	0	2.6	-1, #15
-
-	0	0.6	0, #16
-	0	0.8	0,
-	0	1	0, #18
-	0	1.2	0, #19
-
-	0	1.4	0, #20
-	0	1.6	0,
-	0	1.8	0, #22
-	0	2	0, #23
-
-	0	2.2	0, #24
-	0	2.4	0, 
-	0	2.6	0,  
-	0	2.8	0,  #27
-
-	-0.2	0.2	1, #28
-	0	0.4	1,
-	0	0.4	0,
-	-0.2	0.2	0, #31
-
-	0.28	0.6	1, #32
-	0.6	0.8	1,
-	0.98	1	1,
-	0.98	1.2	0.45, #35
-
-	0.98	1.4	0.25, #36
-	0.98	1.6	0, 
-	0.98	1.8	-0.25, 
-	0.98	2	-0.45, #39
-
-	0.98	2.2	-1, #40
-	0.6	2.4	-1,
-	0.28	2.6	-1,
-	0	2.8	-1, #43
-
-	0	0	1,
-	0	0	0, #45
-	0	0.4	0, #46
-
-					]
-				}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [
-
-	28, 1, 2, 31, -1, #1e_treevlak
-	29, 4, 46, -1, #2e
-	32, 5, 16, -1,
-	33, 6, 17, -1,
-	34, 7, 18, -1, 
-	35, 8, 19, -1, 
-	36, 9, 20, -1, 
-	37, 10, 21, -1,
-	38, 11, 22, -1,
-	39, 12, 23, -1,
-	40, 13, 24, -1,
-	41, 14, 25, -1,
-	42, 15, 26, -1, #13e_treevlak
-
-	0, 28, 31, 3, -1, #voor_en_zijvlakken_van_de_eerste_tree
-	0, 44, 1, 28, -1,
-	3, 31, 2, 45, -1,
-
-	2, 1, 29, 30, -1, #alle_voorvlakken
-	46, 4, 32, 16, -1,
-	16, 5, 33, 17, -1,
-	17, 6, 34, 18, -1,
-	18, 7, 35, 19, -1, 
-	19, 8, 36, 20, -1,
-	20, 9, 37, 21, -1,
-	21, 10, 38, 22, -1,
-	22, 11, 39, 23, -1,
-	23, 12, 40, 24, -1,
-	24, 13, 41, 25, -1,
-	25, 14, 42, 26, -1,
-	26, 15, 43, 27, -1,
-
-
-	
-
-]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             FALSE
-				texCoordIndex     []
-			}
-		}
-	]
-translation 4.42	0	-3.36
-}
+                            61, 65, 66, 62, -1,
 
+                            65, 69, 70, 66, -1,
 
+                            64, 68, 67, 63, -1,
 
 
 
-# /trapbeneden.wrl
+                        ]     #default []
+                        creaseAngle       0
+                        normalIndex       []
+                        normalPerVertex   TRUE
+                        solid             FALSE
+                        texCoordIndex     []
+                    }
+                }
+            ]
+        }
 
-# deuren.wrl
+        Transform{#schuurtje
+            children [
+
+                DEF schuurvloer Transform {
+                    children [
+                        Shape {
+                            appearance Appearance {
+                                material         Material {
+                                    ambientIntensity  0.2
+                                    diffuseColor      1 0.5 0.3
+                                    emissiveColor     0 0 0
+                                    shininess         0.1
+                                    specularColor     0 0 0
+                                    transparency      0
+                                }	texture           NULL
+                                textureTransform  NULL
+                            }
+                            geometry IndexedFaceSet {
+                                color             NULL
+                                coord  Coordinate {	#default NULL
+                                    point [
+                                        0.1	0	-0.1,
+                                        2.1	0	-0.1,
+                                        2.1	0	-3.1,
+                                        0.1	0	-3.1,
+                                    ]
+                                }
+                                normal            NULL
+                                texCoord          NULL
+                                ccw               TRUE
+                                colorIndex        []
+                                colorPerVertex    TRUE
+                                convex            TRUE
+                                coordIndex  [
+                                    0, 1, 2, 3, -1,
+
+                                ]     #default []
+                                creaseAngle       0
+                                normalIndex       []
+                                normalPerVertex   TRUE
+                                solid             FALSE
+                                texCoordIndex     []
+                            }
+                        }
+                    ]
+                }
 
 
+                Transform {
+                    children [
+                        Shape {
+                            appearance USE steen
+                            geometry Box {	size	2.2	2.6	0.1	}
+                        }
+                    ]
+                    translation 1.1 1.3 -0.05
+                }
 
-Transform {
-children [
-DEF deurgroep Group {#DEURKEUKENWOONKAMER
-children[
-#dwarslat boven de deur
-DEF dwarslat Transform {
-	children [
-		Shape {
-appearance DEF kozijn Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      0.95 0.95 0.9
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry Box { size	0.8 0.05 0.05 }
-}
+                Transform{
+                    children [
+                        Shape {
+                            appearance USE steen
+                            geometry Box {	size	2.2	2.6	0.1	}
+                        }
+                    ]
+                    translation	1.1	1.3	-3.15
+                }
 
-]
-translation	0 2.035 0
-}
+                Transform{
+                    children [
+                        Shape {
+                            appearance USE steen
+                            geometry Box {	size	0.1	2.6	1.3	}
+                        }
+                    ]
+                    translation		0.05	1.3	-0.75
+                }
 
+                Transform{
+                    children [
+                        Shape {
+                            appearance USE steen
+                            geometry Box {	size	0.1	2.6	0.75	}
+                        }
+                    ]
+                    translation		0.05	1.3	-2.725
+                }
 
+                Transform{
+                    children [
+                        Shape {
+                            appearance USE steen
+                            geometry Box {	size	0.1	2.6	3	}
+                        }
+                    ]
+                    translation		2.15	1.3	-1.6
+                }
 
+                Transform{
+                    children [
+                        Shape {
+                            appearance DEF blauw Appearance {
+                                material         Material {
+                                    ambientIntensity  0.2
+                                    diffuseColor      0.3 0.4 0.7
+                                    emissiveColor     0 0 0
+                                    shininess         0.1
+                                    specularColor     0 0 0
+                                    transparency      0
+                                }	texture           NULL
+                                textureTransform  NULL
+                            }
+                            geometry Box {	size	0.05	0.44	0.85	}
+                        }
+                    ]
+                    translation		0.05	2.38	-1.875
+                }
 
-DEF ruitje Transform {
-	children [
-		Shape {
-appearance DEF glas Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      0.6 0.6 0.9
-	emissiveColor     0 0 0
-	shininess         0.8
-	specularColor     1 1 1 
-	transparency      0.7
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry Box { size	0.8 0.64 0.01 }
-}
+                Transform{#drempel van schuurdeur
+                    children [
+
+                        Transform{#deurpost
+                            children [
+
+                                DEF deurpost Shape {
+                                    appearance 	DEF grijs Appearance {
+                                        material 	Material {
+                                            ambientIntensity  0.2
+                                            diffuseColor      0.4 0.4 0.4
+                                            emissiveColor     0 0 0
+                                            shininess         0.1
+                                            specularColor     0 0 0
+                                            transparency      0
+                                        }
+                                    }
+                                    geometry 	Box {
+                                        size	0.05 2.56 0.05
+                                    }
+                                }
+                            ]
+                            translation 0 1.3 0.45
+                        }
+
+                        Transform{#deurpost
+                            children [
+
+                                Shape {
+                                    appearance USE grijs
+                                    geometry 	Box {
+                                        size	0.05 0.05 0.85
+                                    }
+                                }
+                            ]
+                            translation 0 2.135 0
+                        }
+
+
+                        Transform{#deurpost
+                            children [
+
+                                USE deurpost
+                            ]
+                            translation 0 1.3 -0.45
+                        }
+
+                        Shape {
+                            appearance 	USE grijs
+                            geometry 	Box {
+                                size	0.1 0.04 0.95
+                            }
+
+                        }
+                    ]
+                    translation		0.05	0.02	-1.875
+                }
 
-]
-translation	0 2.38 0
-}#ruit boven de deur
 
-#deur
-DEF deur Transform {
-center -0.4 0 0
-	children [
+            ]
+            translation 3.48	0	7.8
+        }
 
+        # /buitmuur.wrl
+
+
+        # trapbeneden.wrl
+
+
+
+
+        DEF trapbeneden Transform {
+            children [
+                Shape {
+                    appearance Appearance {
+                        material          Material {
+                            ambientIntensity  0.2
+                            diffuseColor      1 0.5 0.3
+                            emissiveColor     0 0 0
+                            shininess         0.1
+                            specularColor     0 0 0
+                            transparency      0
+                        }	texture           NULL
+                        textureTransform  NULL
+                    }
+                    geometry DEF trap IndexedFaceSet {
+                        color             NULL
+                        coord  Coordinate {	#default NULL
+                            point [
+                                -0.2	0	1, #0
+                                0	0.2	1,
+                                0	0.2	0,
+                                -0.2	0	0, #3
+
+                                0.28	0.4	1, #4
+                                0.6	0.6	1,
+                                0.98	0.8	1,
+                                0.98	1	0.45, #7
+
+                                0.98	1.2	0.25, #8
+                                0.98	1.4	0,
+                                0.98	1.6	-0.25,
+                                0.98	1.8	-0.45, #11
+
+                                0.98	2.0	-1, #12
+                                0.6	2.2	-1,
+                                0.28	2.4	-1,
+                                0	2.6	-1, #15
+
+                                0	0.6	0, #16
+                                0	0.8	0,
+                                0	1	0, #18
+                                0	1.2	0, #19
+
+                                0	1.4	0, #20
+                                0	1.6	0,
+                                0	1.8	0, #22
+                                0	2	0, #23
+
+                                0	2.2	0, #24
+                                0	2.4	0,
+                                0	2.6	0,
+                                0	2.8	0,  #27
+
+                                -0.2	0.2	1, #28
+                                0	0.4	1,
+                                0	0.4	0,
+                                -0.2	0.2	0, #31
+
+                                0.28	0.6	1, #32
+                                0.6	0.8	1,
+                                0.98	1	1,
+                                0.98	1.2	0.45, #35
+
+                                0.98	1.4	0.25, #36
+                                0.98	1.6	0,
+                                0.98	1.8	-0.25,
+                                0.98	2	-0.45, #39
+
+                                0.98	2.2	-1, #40
+                                0.6	2.4	-1,
+                                0.28	2.6	-1,
+                                0	2.8	-1, #43
+
+                                0	0	1,
+                                0	0	0, #45
+                                0	0.4	0, #46
+
+                            ]
+                        }
+                        normal            NULL
+                        texCoord          NULL
+                        ccw               TRUE
+                        colorIndex        []
+                        colorPerVertex    TRUE
+                        convex            TRUE
+                        coordIndex  [
+
+                            28, 1, 2, 31, -1, #1e_treevlak
+                            29, 4, 46, -1, #2e
+                            32, 5, 16, -1,
+                            33, 6, 17, -1,
+                            34, 7, 18, -1,
+                            35, 8, 19, -1,
+                            36, 9, 20, -1,
+                            37, 10, 21, -1,
+                            38, 11, 22, -1,
+                            39, 12, 23, -1,
+                            40, 13, 24, -1,
+                            41, 14, 25, -1,
+                            42, 15, 26, -1, #13e_treevlak
+
+                            0, 28, 31, 3, -1, #voor_en_zijvlakken_van_de_eerste_tree
+                            0, 44, 1, 28, -1,
+                            3, 31, 2, 45, -1,
+
+                            2, 1, 29, 30, -1, #alle_voorvlakken
+                            46, 4, 32, 16, -1,
+                            16, 5, 33, 17, -1,
+                            17, 6, 34, 18, -1,
+                            18, 7, 35, 19, -1,
+                            19, 8, 36, 20, -1,
+                            20, 9, 37, 21, -1,
+                            21, 10, 38, 22, -1,
+                            22, 11, 39, 23, -1,
+                            23, 12, 40, 24, -1,
+                            24, 13, 41, 25, -1,
+                            25, 14, 42, 26, -1,
+                            26, 15, 43, 27, -1,
+
+
+
+
+                        ]     #default []
+                        creaseAngle       0
+                        normalIndex       []
+                        normalPerVertex   TRUE
+                        solid             FALSE
+                        texCoordIndex     []
+                    }
+                }
+            ]
+            translation 4.42	0	-3.36
+        }
 
 
-DEF klikopdeur TouchSensor {}
-  DEF TimeSource TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
-  # Animeer het openzwaaien van de deur rond de Y as:
-  DEF Deuropen OrientationInterpolator {
-       key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
-       keyValue [ 0 1 0 0, 0 1 0 -1, 0 1 0 -2, 0 1 0 -2, 0 1 0 -1, 0 1 0 0 ]
-  }
 
 
 
-# ../boven/deurklink.wrl
+        # /trapbeneden.wrl
 
+        # deuren.wrl
 
 
 
+        Transform {
+            children [
+                DEF deurgroep Group {#DEURKEUKENWOONKAMER
+                    children[
+                        #dwarslat boven de deur
+                        DEF dwarslat Transform {
+                            children [
+                                Shape {
+                                    appearance DEF kozijn Appearance {
+                                        material         Material {
+                                            ambientIntensity  0.2
+                                            diffuseColor      0.95 0.95 0.9
+                                            emissiveColor     0 0 0
+                                            shininess         0.1
+                                            specularColor     0 0 0
+                                            transparency      0
+                                        }	texture           NULL
+                                        textureTransform  NULL
+                                    }
+                                    geometry Box { size	0.8 0.05 0.05 }
+                                }
 
-DEF deurklink Transform {
-	children [
-	    DEF enehelft	Shape {
-            appearance DEF aluminium Appearance {
-                material         Material {
-                ambientIntensity  0.2
-                diffuseColor      0.4 0.4 0.5
-                emissiveColor     0 0 0
-                shininess         0.8
-                specularColor     0.4 0.4 0.5
-                }
-                texture           NULL
-                textureTransform  NULL
-            }
-		    geometry IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {
-					point [
-                        -0.015	0.02	0, #0
-                        0.015		0.02	0,
-                        0.02		-0.02	0,
-                        -0.02		-0.02	0, #3
-
-                        -0.01		-0.015	0.06, #4
-                        0.01		-0.015	0.06,
-                        -0.01		0.015		0.03,
-                        0.01		0.015		0.03,
-
-                        0.005		0.1		0.035, #8
-                        -0.005	0.1		0.035,
-                        -0.005	0.1		0.055,
-                        0.005		0.1		0.055,
-
-
-
-					]
-				}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [
-	
-2, 3, 4, 5, -1,
-2, 5, 4, 3, -1,
-
-4, 5, 11, 10, -1, 
-4, 10, 11, 5, -1,
-
-0, 1, 7, 6, -1, 
-0, 6, 7, 1, -1,
-
-6, 7, 8, 9, -1, 
-6, 9, 8, 7, -1,
-
-8, 9, 10, 11, -1, 
-8, 11, 10, 9, -1,
-
-0, 6, 4, 3, -1,
-0, 3, 4, 6, -1,
-
-6, 9, 10, 4, -1, 
-6, 4, 10, 9, -1,
-
-1, 2, 5, 7, -1,
-1, 7, 5, 2, -1,
-
-7, 5, 11, 8, -1,
-7, 8, 11, 5, -1,
-
-]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             TRUE
-				#texCoordIndex     []
-			}
-		}#enehelft
-
-	Transform {
-		children [
-
-			USE enehelft
-		]
-	rotation 0 1 0 3.1415927
-	translation	0 0 -0.07
-	}
-	Transform {
-
-		children [
-		DEF vlakdeel Shape {
-			appearance USE aluminium
-			geometry Box { size 0.18 0.07 0.01 }
-		}#shape
-		]
-	translation -0.03 0 -0.005
-	}
-
-	Transform {
-
-		children [
-		USE vlakdeel 
-		]
-	translation -0.03 0 -0.065
-	}
-
-
-
-	]
-
-translation 0.35 0 0.035
-rotation 0 0 1 1.5707963
-}#deurklink
-
-
-
-# /../boven/deurklink.wrl
-
-DEF deurvorm Shape {
-	appearance DEF deurkleur Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      0.8 0.8 0.8
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry Box { size	0.8 2 0.05 }
-}
+                            ]
+                            translation	0 2.035 0
+                        }
 
-]
-translation	0 1.005 0
-}
 
 
 
+                        DEF ruitje Transform {
+                            children [
+                                Shape {
+                                    appearance DEF glas Appearance {
+                                        material         Material {
+                                            ambientIntensity  0.2
+                                            diffuseColor      0.6 0.6 0.9
+                                            emissiveColor     0 0 0
+                                            shininess         0.8
+                                            specularColor     1 1 1
+                                            transparency      0.7
+                                        }	texture           NULL
+                                        textureTransform  NULL
+                                    }
+                                    geometry Box { size	0.8 0.64 0.01 }
+                                }
 
+                            ]
+                            translation	0 2.38 0
+                        }#ruit boven de deur
 
-]
-}#deurgroep
+                        #deur
+                        DEF deur Transform {
+                            center -0.4 0 0
+                            children [
 
-]
-translation 1.38 0 -3.395
-}
-#ROUTE klikopdeur.touchTime TO TimeSource.startTime
-#ROUTE TimeSource.fraction_changed TO Deuropen.set_fraction
-#ROUTE Deuropen.value_changed TO deur.rotation
-
-
-#deur2
-Transform {
-children[ 	USE dwarslat
-		USE ruitje
-
-#deur
-DEF deurkeukengang Transform {
-center -0.4 0 0
-	children [
-
-
-
-	DEF klikopdeur2 TouchSensor {}
-  DEF TimeSource2 TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
-  # Animeer het openzwaaien van de deur rond de Y as:
-   DEF Deuropen2 OrientationInterpolator {
-       key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
-       keyValue [ 0 1 0 0, 0 1 0 -1, 0 1 0 -2, 0 1 0 -2, 0 1 0 -1, 0 1 0 0 ]
-  }
-USE deurklink
-USE deurvorm
-]
-translation	0 1.005 0
-}
-		
-]
-translation 3.155 0 -2.96
-rotation 0 1 0 1.5707963
-}
 
-#ROUTE klikopdeur2.touchTime TO TimeSource2.startTime
-#ROUTE TimeSource2.fraction_changed TO Deuropen2.set_fraction
-#ROUTE Deuropen2.value_changed TO deurkeukengang.rotation
-
-
-#deur3
-Transform {
-children[ 	USE dwarslat
-		USE ruitje
-#deur
-DEF deurwoonkamergang Transform {
-center -0.4 0 0
-	children [
-
-
-
-	DEF klikopdeur3 TouchSensor {}
-  DEF TimeSource3 TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
-  # Animeer het openzwaaien van de deur rond de Y as: deze deur draait tegengesteld aan de andere
-   DEF Deuropen3 OrientationInterpolator {
-       key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
-       keyValue [ 0 1 0 0, 0 1 0 1, 0 1 0 2, 0 1 0 2, 0 1 0 1, 0 1 0 0 ]
-  }
-USE deurklink
-USE deurvorm
-]
-translation	0 1.005 0
-}
-		
-]
-translation 3.59 0 -3.395
-rotation 0 1 0 0
-}#deur3
-
-#ROUTE klikopdeur3.touchTime TO TimeSource3.startTime
-#ROUTE TimeSource3.fraction_changed TO Deuropen3.set_fraction
-#ROUTE Deuropen3.value_changed TO deurwoonkamergang.rotation
-
-
-#deur4
-Transform {
-children[ DEF dwarslatafw Transform {
-	children [
-		Shape {
-appearance USE kozijn
-			geometry Box { size	0.93 0.05 0.05 }
-}
 
-]
-translation	0 2.035 0
-}
+                                DEF klikopdeur TouchSensor {}
+                                DEF TimeSource TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
+                                # Animeer het openzwaaien van de deur rond de Y as:
+                                DEF Deuropen OrientationInterpolator {
+                                    key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
+                                    keyValue [ 0 1 0 0, 0 1 0 -1, 0 1 0 -2, 0 1 0 -2, 0 1 0 -1, 0 1 0 0 ]
+                                }
 
 
 
+                                # ../boven/deurklink.wrl
 
-DEF ruitjeafw Transform {
-	children [
-		Shape {
-appearance USE kozijn 
-			geometry Box { size	0.93 0.64 0.01 }
-}
 
-]
-translation	0 2.38 0
-}#ruit boven de deur#deur
-DEF deurwoonkamertrapkast Transform {
-center -0.4 0 0
-	children [
-
-
-
-	DEF klikopdeur4 TouchSensor {}
-  DEF TimeSource4 TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
-  # Animeer het openzwaaien van de deur rond de Y as:
-   DEF Deuropen4 OrientationInterpolator {
-       key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
-       keyValue [ 0 1 0 0, 0 1 0 -1, 0 1 0 -2, 0 1 0 -2, 0 1 0 -1, 0 1 0 0 ]
-  }
-USE deurklink
-Shape { #afwijkende deurmaat
-	appearance USE deurkleur 
-			geometry Box { size	0.93 2 0.05 }
-}
-]
-translation	0 1.005 0
-}
-		
-]
-translation 4.395 0 -3.895
-rotation 0 1 0 -1.5707963
-}#deur4
 
-#ROUTE klikopdeur4.touchTime TO TimeSource4.startTime
-#ROUTE TimeSource4.fraction_changed TO Deuropen4.set_fraction
-#ROUTE Deuropen4.value_changed TO deurwoonkamertrapkast.rotation
 
 
+                                DEF deurklink Transform {
+                                    children [
+                                        DEF enehelft	Shape {
+                                            appearance DEF aluminium Appearance {
+                                                material         Material {
+                                                    ambientIntensity  0.2
+                                                    diffuseColor      0.4 0.4 0.5
+                                                    emissiveColor     0 0 0
+                                                    shininess         0.8
+                                                    specularColor     0.4 0.4 0.5
+                                                }
+                                                texture           NULL
+                                                textureTransform  NULL
+                                            }
+                                            geometry IndexedFaceSet {
+                                                color             NULL
+                                                coord  Coordinate {
+                                                    point [
+                                                        -0.015	0.02	0, #0
+                                                        0.015		0.02	0,
+                                                        0.02		-0.02	0,
+                                                        -0.02		-0.02	0, #3
 
-#deur5
-Transform {
-children[ DEF dwarslatafw2 Transform {
-	children [
-		Shape {
-appearance USE kozijn
-			geometry Box { size	0.74 0.05 0.05 }
-}
+                                                        -0.01		-0.015	0.06, #4
+                                                        0.01		-0.015	0.06,
+                                                        -0.01		0.015		0.03,
+                                                        0.01		0.015		0.03,
+
+                                                        0.005		0.1		0.035, #8
+                                                        -0.005	0.1		0.035,
+                                                        -0.005	0.1		0.055,
+                                                        0.005		0.1		0.055,
+
+
+
+                                                    ]
+                                                }
+                                                normal            NULL
+                                                texCoord          NULL
+                                                ccw               TRUE
+                                                colorIndex        []
+                                                colorPerVertex    TRUE
+                                                convex            TRUE
+                                                coordIndex  [
 
-]
-translation	0 2.035 0
-}
+                                                    2, 3, 4, 5, -1,
+                                                    2, 5, 4, 3, -1,
 
+                                                    4, 5, 11, 10, -1,
+                                                    4, 10, 11, 5, -1,
 
+                                                    0, 1, 7, 6, -1,
+                                                    0, 6, 7, 1, -1,
 
+                                                    6, 7, 8, 9, -1,
+                                                    6, 9, 8, 7, -1,
 
-DEF ruitjeafw2 Transform {
-	children [
-		Shape {
-appearance USE kozijn 
-			geometry Box { size	0.74 0.64 0.01 }
-}
+                                                    8, 9, 10, 11, -1,
+                                                    8, 11, 10, 9, -1,
 
-]
-translation	0 2.38 0
-}#ruit boven de deur#deur
-
-DEF deurgangmeterkast Transform {
-center -0.4 0 0
-	children [
-
-
-
-	DEF klikopdeur5 TouchSensor {}
-  DEF TimeSource5 TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
-  # Animeer het openzwaaien van de deur rond de Y as:
-   DEF Deuropen5 OrientationInterpolator {
-       key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
-       keyValue [ 0 1 0 0, 0 1 0 -0.7, 0 1 0 -1.5, 0 1 0 -1.5, 0 1 0 -0.7, 0 1 0 0 ]
-  }
-DEF deurklinkafw Transform {
-	children [
-	USE enehelft
-	Transform {
-		children [
-
-			USE enehelft
-		]
-	rotation 0 1 0 3.1415927
-	translation	0 0 -0.07
-	}
-	Transform {
-
-		children [
-		DEF vlakdeel Shape {
-			appearance USE aluminium
-			geometry Box { size 0.18 0.07 0.01 }
-		}#shape
-		]
-	translation -0.03 0 -0.005
-	}
-
-	Transform {
-
-		children [
-		USE vlakdeel 
-		]
-	translation -0.03 0 -0.065
-	}
-
-
-
-	]
-
-translation 0.32 0 0.035
-rotation 0 0 1 1.5707963
-}#deurklink
-Shape { #afwijkende deurmaat
-	appearance USE deurkleur 
-			geometry Box { size	0.74 2 0.05 }
-}
-]
-translation	0 1.005 0
-}
-		
-]
-translation 4.455 0 -1.92
-rotation 0 1 0 -1.5707963
-}#deur5
-
-#ROUTE klikopdeur5.touchTime TO TimeSource5.startTime
-#ROUTE TimeSource5.fraction_changed TO Deuropen5.set_fraction
-#ROUTE Deuropen5.value_changed TO deurgangmeterkast.rotation
-
-
-#deur6
-Transform {
-children[ 	USE dwarslat
-		USE ruitje
-#deur
-DEF deurtoiletgang Transform {
-center -0.4 0 0
-	children [
-
-
-
-	DEF klikopdeur6 TouchSensor {}
-  DEF TimeSource6 TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
-  # Animeer het openzwaaien van de deur rond de Y as: 
-   DEF Deuropen6 OrientationInterpolator {
-       key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
-       keyValue [ 0 1 0 0, 0 1 0 -1, 0 1 0 -2, 0 1 0 -2, 0 1 0 -1, 0 1 0 0 ]
-  }
-USE deurklink
-USE deurvorm
-]
-translation	0 1.005 0
-}
-		
-]
-translation 4.455 0 -1.08
-rotation 0 1 0 -1.5707963
-}#deur6
+                                                    0, 6, 4, 3, -1,
+                                                    0, 3, 4, 6, -1,
 
-#ROUTE klikopdeur6.touchTime TO TimeSource6.startTime
-#ROUTE TimeSource6.fraction_changed TO Deuropen6.set_fraction
-#ROUTE Deuropen6.value_changed TO deurtoiletgang.rotation
+                                                    6, 9, 10, 4, -1,
+                                                    6, 4, 10, 9, -1,
 
+                                                    1, 2, 5, 7, -1,
+                                                    1, 7, 5, 2, -1,
 
-# voordeur.wrl
+                                                    7, 5, 11, 8, -1,
+                                                    7, 8, 11, 5, -1,
 
+                                                ]     #default []
+                                                creaseAngle       0
+                                                normalIndex       []
+                                                normalPerVertex   TRUE
+                                                solid             TRUE
+                                                #texCoordIndex     []
+                                            }
+                                        }#enehelft
 
+                                        Transform {
+                                            children [
 
+                                                USE enehelft
+                                            ]
+                                            rotation 0 1 0 3.1415927
+                                            translation	0 0 -0.07
+                                        }
+                                        Transform {
 
-DEF voordeur Transform {
-center 1.11 0 0 
-	children [
+                                            children [
+                                                DEF vlakdeel Shape {
+                                                    appearance USE aluminium
+                                                    geometry Box { size 0.18 0.07 0.01 }
+                                                }#shape
+                                            ]
+                                            translation -0.03 0 -0.005
+                                        }
+
+                                        Transform {
+
+                                            children [
+                                                USE vlakdeel
+                                            ]
+                                            translation -0.03 0 -0.065
+                                        }
 
-		Shape {
-appearance DEF deurkleur Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      0.8 0.8 0.8
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {	#default NULL
-					point [
-
-	0	0	0.025, #0
-	1.11	0	0.025, #
-	1.11	2.19	0.025, #
-	0	2.19	0.025, #3
-				
-	0.71	0.49	0.025, #4
-	0.91	0.49	0.025, #
-	0.91	1.99	0.025, #
-	0.71	1.99	0.025, #7
-
-	0	0	-0.025, #8
-	1.11	0	-0.025, #
-	1.11	2.19	-0.025, #
-	0	2.19	-0.025, #11
-				
-	0.71	0.49	-0.025, #12
-	0.91	0.49	-0.025, #
-	0.91	1.99	-0.025, #
-	0.71	1.99	-0.025, #15
-	]
-				}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [
-	
-	0, 1, 5, 4, -1, 
-
-	1, 2, 6, 5, -1,
-
-	6, 2, 3, 7, -1,
-
-	0, 4, 7, 3, -1, 
-
-
-	1, 0, 8, 9, -1,
-
-	3, 2, 10, 11, -1,
-
-	0, 3, 11, 8, -1,
-
-	2, 1, 9, 10, -1,
-
-
-	5, 6, 14, 13, -1,
-
-	4, 5, 13, 12, -1,
-
-	6, 7, 15, 14, -1,
-
-	7, 4, 12, 15, -1,
-
-	
-	9, 8, 12, 13, -1,
-	
-	10, 9, 13, 14, -1,
-
-	11, 10, 14, 15, -1, 
-
-	12, 8, 11, 15, -1,
-
-
-
-
-
-]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             TRUE
-				texCoordIndex     []
-			}
-		}
-
-DEF klikopvoordeur TouchSensor {}
-  DEF TimeSourcevoor TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
-  # Animeer het openzwaaien van de deur rond de Y as:
-  DEF VoorDeuropen OrientationInterpolator {
-       key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
-       keyValue [ 0 1 0 0, 0 1 0 -0.7, 0 1 0 -1.5, 0 1 0 -1.5, 0 1 0 -0.7, 0 1 0 0 ]
-  }
-
-DEF deurgreep Transform{
-children[
-		Shape {
-	appearance DEF aluminium Appearance {
-		material         Material {
-		ambientIntensity  0.2
-		diffuseColor      0.4 0.4 0.4
-		emissiveColor     0 0 0
-		shininess         0.8
-		specularColor     0.9 0.9 0.9
-		transparency      0
-		}
-		texture           NULL
-		textureTransform  NULL
-		}
-			geometry Box { size	0.2	0.2	0.004	}
-}
 
-]
-translation	0.15	0.9	0.067
-}
 
+                                    ]
 
-DEF steunblokje Transform{
-children[
-		Shape {
-	appearance DEF aluminium Appearance {
-		material         Material {
-		ambientIntensity  0.2
-		diffuseColor      0.4 0.4 0.4
-		emissiveColor     0 0 0
-		shininess         0.8
-		specularColor     0.9 0.9 0.9
-		transparency      0
-		}
-		texture           NULL
-		textureTransform  NULL
-		}
-			geometry Box { size	0.14	0.14	0.04	}
-}
+                                    translation 0.35 0 0.035
+                                    rotation 0 0 1 1.5707963
+                                }#deurklink
 
-]
-translation	0.15	0.9	0.045
-}
 
-DEF ruitjeindeur Transform{
-children[
-		Shape {
-	appearance DEF glas Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      0.6 0.6 0.9
-	emissiveColor     0 0 0
-	shininess         0.8
-	specularColor     1 1 1 
-	transparency      0.7
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry Box { size	0.2	1.5	0.01	}
-}
 
-]
-translation	0.81	1.24	0
-}
+                                # /../boven/deurklink.wrl
 
-	]
-translation 3.25	0.05	-0.14
-}
+                                DEF deurvorm Shape {
+                                    appearance DEF deurkleur Appearance {
+                                        material         Material {
+                                            ambientIntensity  0.2
+                                            diffuseColor      0.8 0.8 0.8
+                                            emissiveColor     0 0 0
+                                            shininess         0.1
+                                            specularColor     0 0 0
+                                            transparency      0
+                                        }	texture           NULL
+                                        textureTransform  NULL
+                                    }
+                                    geometry Box { size	0.8 2 0.05 }
+                                }
 
-#ROUTE klikopvoordeur.touchTime TO TimeSourcevoor.startTime
-#ROUTE TimeSourcevoor.fraction_changed TO VoorDeuropen.set_fraction
-#ROUTE VoorDeuropen.value_changed TO voordeur.rotation
+                            ]
+                            translation	0 1.005 0
+                        }
 
-# /voordeur.wrl
 
-# achterdeur.wrl
 
 
 
-#bevat ook schuurdeur
+                    ]
+                }#deurgroep
 
+            ]
+            translation 1.38 0 -3.395
+        }
+        ROUTE klikopdeur.touchTime TO TimeSource.startTime
+        ROUTE TimeSource.fraction_changed TO Deuropen.set_fraction
+        ROUTE Deuropen.value_changed TO deur.rotation
+
+
+        #deur2
+        Transform {
+            children[ 	USE dwarslat
+                USE ruitje
+
+                #deur
+                DEF deurkeukengang Transform {
+                    center -0.4 0 0
+                    children [
+
+
+
+                        DEF klikopdeur2 TouchSensor {}
+                        DEF TimeSource2 TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
+                        # Animeer het openzwaaien van de deur rond de Y as:
+                        DEF Deuropen2 OrientationInterpolator {
+                            key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
+                            keyValue [ 0 1 0 0, 0 1 0 -1, 0 1 0 -2, 0 1 0 -2, 0 1 0 -1, 0 1 0 0 ]
+                        }
+                        USE deurklink
+                        USE deurvorm
+                    ]
+                    translation	0 1.005 0
+                }
 
-DEF achterdeur Transform {
-center 0 0 0 
-	children [
+            ]
+            translation 3.155 0 -2.96
+            rotation 0 1 0 1.5707963
+        }
 
+        ROUTE klikopdeur2.touchTime TO TimeSource2.startTime
+        ROUTE TimeSource2.fraction_changed TO Deuropen2.set_fraction
+        ROUTE Deuropen2.value_changed TO deurkeukengang.rotation
+
+
+        #deur3
+        Transform {
+            children[ 	USE dwarslat
+                USE ruitje
+                #deur
+                DEF deurwoonkamergang Transform {
+                    center -0.4 0 0
+                    children [
+
+
+
+                        DEF klikopdeur3 TouchSensor {}
+                        DEF TimeSource3 TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
+                        # Animeer het openzwaaien van de deur rond de Y as: deze deur draait tegengesteld aan de andere
+                        DEF Deuropen3 OrientationInterpolator {
+                            key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
+                            keyValue [ 0 1 0 0, 0 1 0 1, 0 1 0 2, 0 1 0 2, 0 1 0 1, 0 1 0 0 ]
+                        }
+                        USE deurklink
+                        USE deurvorm
+                    ]
+                    translation	0 1.005 0
+                }
 
-		Shape {
-appearance DEF deurkleur Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      0.8 0.8 0.8
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry DEF deurInd IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {	#default NULL
-					point [
+            ]
+            translation 3.59 0 -3.395
+            rotation 0 1 0 0
+        }#deur3
 
-	0.93	0	-0.025, #0
-	0	0	-0.025, #
-	0	2.09	-0.025, #
-	0.93	2.09	-0.025, #3
+        ROUTE klikopdeur3.touchTime TO TimeSource3.startTime
+        ROUTE TimeSource3.fraction_changed TO Deuropen3.set_fraction
+        ROUTE Deuropen3.value_changed TO deurwoonkamergang.rotation
 
-	0.765	0.6	-0.025, #4
-	0.165	0.6	-0.025, #
-	0.165	1.9	-0.025, #
-	0.765	1.9	-0.025, #7
 
-	0.93	0	0.025, #0
-	0	0	0.025, #
-	0	2.09	0.025, #
-	0.93	2.09	0.025, #3
+        #deur4
+        Transform {
+            children[ DEF dwarslatafw Transform {
+                    children [
+                        Shape {
+                            appearance USE kozijn
+                            geometry Box { size	0.93 0.05 0.05 }
+                        }
 
-	0.765	0.6	0.025, #4
-	0.165	0.6	0.025, #
-	0.165	1.9	0.025, #
-	0.765	1.9	0.025, #7
+                    ]
+                    translation	0 2.035 0
+                }
 
-	]
-				}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [
-	
-	0, 1, 5, 4, -1, 
 
-	1, 2, 6, 5, -1,
 
-	6, 2, 3, 7, -1,
 
-	0, 4, 7, 3, -1, 
+                DEF ruitjeafw Transform {
+                    children [
+                        Shape {
+                            appearance USE kozijn
+                            geometry Box { size	0.93 0.64 0.01 }
+                        }
 
+                    ]
+                    translation	0 2.38 0
+                }#ruit boven de deur#deur
+                DEF deurwoonkamertrapkast Transform {
+                    center -0.4 0 0
+                    children [
 
-	1, 0, 8, 9, -1,
 
-	3, 2, 10, 11, -1,
 
-	0, 3, 11, 8, -1,
+                        DEF klikopdeur4 TouchSensor {}
+                        DEF TimeSource4 TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
+                        # Animeer het openzwaaien van de deur rond de Y as:
+                        DEF Deuropen4 OrientationInterpolator {
+                            key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
+                            keyValue [ 0 1 0 0, 0 1 0 -1, 0 1 0 -2, 0 1 0 -2, 0 1 0 -1, 0 1 0 0 ]
+                        }
+                        USE deurklink
+                        Shape { #afwijkende deurmaat
+                            appearance USE deurkleur
+                            geometry Box { size	0.93 2 0.05 }
+                        }
+                    ]
+                    translation	0 1.005 0
+                }
 
-	2, 1, 9, 10, -1,
+            ]
+            translation 4.395 0 -3.895
+            rotation 0 1 0 -1.5707963
+        }#deur4
 
+        ROUTE klikopdeur4.touchTime TO TimeSource4.startTime
+        ROUTE TimeSource4.fraction_changed TO Deuropen4.set_fraction
+        ROUTE Deuropen4.value_changed TO deurwoonkamertrapkast.rotation
 
-	5, 6, 14, 13, -1,
 
-	4, 5, 13, 12, -1,
 
-	6, 7, 15, 14, -1,
+        #deur5
+        Transform {
+            children[ DEF dwarslatafw2 Transform {
+                    children [
+                        Shape {
+                            appearance USE kozijn
+                            geometry Box { size	0.74 0.05 0.05 }
+                        }
 
-	7, 4, 12, 15, -1,
+                    ]
+                    translation	0 2.035 0
+                }
 
-	
-	9, 8, 12, 13, -1,
-	
-	10, 9, 13, 14, -1,
 
-	11, 10, 14, 15, -1, 
 
-	12, 8, 11, 15, -1,
 
+                DEF ruitjeafw2 Transform {
+                    children [
+                        Shape {
+                            appearance USE kozijn
+                            geometry Box { size	0.74 0.64 0.01 }
+                        }
 
+                    ]
+                    translation	0 2.38 0
+                }#ruit boven de deur#deur
 
+                DEF deurgangmeterkast Transform {
+                    center -0.4 0 0
+                    children [
 
 
-]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             TRUE
-				texCoordIndex     []
-			}
-		}
 
-DEF klikopachterdeur TouchSensor {}
-  DEF TimeSourceachter TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
-  # Animeer het openzwaaien van de deur rond de Y as:
-  DEF achterDeuropen OrientationInterpolator {
-       key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
-       keyValue [ 0 1 0 0, 0 1 0 0.7, 0 1 0 1.5, 0 1 0 1.5, 0 1 0 0.7, 0 1 0 0 ]
-  }
+                        DEF klikopdeur5 TouchSensor {}
+                        DEF TimeSource5 TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
+                        # Animeer het openzwaaien van de deur rond de Y as:
+                        DEF Deuropen5 OrientationInterpolator {
+                            key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
+                            keyValue [ 0 1 0 0, 0 1 0 -0.7, 0 1 0 -1.5, 0 1 0 -1.5, 0 1 0 -0.7, 0 1 0 0 ]
+                        }
+                        DEF deurklinkafw Transform {
+                            children [
+                                USE enehelft
+                                Transform {
+                                    children [
 
+                                        USE enehelft
+                                    ]
+                                    rotation 0 1 0 3.1415927
+                                    translation	0 0 -0.07
+                                }
+                                Transform {
 
+                                    children [
+                                        DEF vlakdeel Shape {
+                                            appearance USE aluminium
+                                            geometry Box { size 0.18 0.07 0.01 }
+                                        }#shape
+                                    ]
+                                    translation -0.03 0 -0.005
+                                }
 
-Transform {
-    # ../boven/deurklink.wrl
+                                Transform {
 
+                                    children [
+                                        USE vlakdeel
+                                    ]
+                                    translation -0.03 0 -0.065
+                                }
 
 
 
+                            ]
 
-DEF deurklink Transform {
-	children [
-	    DEF enehelft	Shape {
-            appearance DEF aluminium Appearance {
-                material         Material {
-                ambientIntensity  0.2
-                diffuseColor      0.4 0.4 0.5
-                emissiveColor     0 0 0
-                shininess         0.8
-                specularColor     0.4 0.4 0.5
+                            translation 0.32 0 0.035
+                            rotation 0 0 1 1.5707963
+                        }#deurklink
+                        Shape { #afwijkende deurmaat
+                            appearance USE deurkleur
+                            geometry Box { size	0.74 2 0.05 }
+                        }
+                    ]
+                    translation	0 1.005 0
                 }
-                texture           NULL
-                textureTransform  NULL
-            }
-		    geometry IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {
-					point [
-                        -0.015	0.02	0, #0
-                        0.015		0.02	0,
-                        0.02		-0.02	0,
-                        -0.02		-0.02	0, #3
-
-                        -0.01		-0.015	0.06, #4
-                        0.01		-0.015	0.06,
-                        -0.01		0.015		0.03,
-                        0.01		0.015		0.03,
-
-                        0.005		0.1		0.035, #8
-                        -0.005	0.1		0.035,
-                        -0.005	0.1		0.055,
-                        0.005		0.1		0.055,
-
-
-
-					]
-				}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [
-	
-2, 3, 4, 5, -1,
-2, 5, 4, 3, -1,
-
-4, 5, 11, 10, -1, 
-4, 10, 11, 5, -1,
-
-0, 1, 7, 6, -1, 
-0, 6, 7, 1, -1,
-
-6, 7, 8, 9, -1, 
-6, 9, 8, 7, -1,
-
-8, 9, 10, 11, -1, 
-8, 11, 10, 9, -1,
-
-0, 6, 4, 3, -1,
-0, 3, 4, 6, -1,
-
-6, 9, 10, 4, -1, 
-6, 4, 10, 9, -1,
-
-1, 2, 5, 7, -1,
-1, 7, 5, 2, -1,
-
-7, 5, 11, 8, -1,
-7, 8, 11, 5, -1,
-
-]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             TRUE
-				#texCoordIndex     []
-			}
-		}#enehelft
-
-	Transform {
-		children [
-
-			USE enehelft
-		]
-	rotation 0 1 0 3.1415927
-	translation	0 0 -0.07
-	}
-	Transform {
-
-		children [
-		DEF vlakdeel Shape {
-			appearance USE aluminium
-			geometry Box { size 0.18 0.07 0.01 }
-		}#shape
-		]
-	translation -0.03 0 -0.005
-	}
-
-	Transform {
-
-		children [
-		USE vlakdeel 
-		]
-	translation -0.03 0 -0.065
-	}
-
-
-
-	]
-
-translation 0.35 0 0.035
-rotation 0 0 1 1.5707963
-}#deurklink
 
+            ]
+            translation 4.455 0 -1.92
+            rotation 0 1 0 -1.5707963
+        }#deur5
+
+        ROUTE klikopdeur5.touchTime TO TimeSource5.startTime
+        ROUTE TimeSource5.fraction_changed TO Deuropen5.set_fraction
+        ROUTE Deuropen5.value_changed TO deurgangmeterkast.rotation
+
+
+        #deur6
+        Transform {
+            children[ 	USE dwarslat
+                USE ruitje
+                #deur
+                DEF deurtoiletgang Transform {
+                    center -0.4 0 0
+                    children [
+
+
+
+                        DEF klikopdeur6 TouchSensor {}
+                        DEF TimeSource6 TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
+                        # Animeer het openzwaaien van de deur rond de Y as:
+                        DEF Deuropen6 OrientationInterpolator {
+                            key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
+                            keyValue [ 0 1 0 0, 0 1 0 -1, 0 1 0 -2, 0 1 0 -2, 0 1 0 -1, 0 1 0 0 ]
+                        }
+                        USE deurklink
+                        USE deurvorm
+                    ]
+                    translation	0 1.005 0
+                }
 
+            ]
+            translation 4.455 0 -1.08
+            rotation 0 1 0 -1.5707963
+        }#deur6
 
-# /../boven/deurklink.wrl
-    translation 0.50 1 0
-}
+        ROUTE klikopdeur6.touchTime TO TimeSource6.startTime
+        ROUTE TimeSource6.fraction_changed TO Deuropen6.set_fraction
+        ROUTE Deuropen6.value_changed TO deurtoiletgang.rotation
 
 
+        # voordeur.wrl
 
 
-DEF ruitindeur Transform{
-children[
-		Shape {
-	appearance DEF glas Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      0.6 0.6 0.9
-	emissiveColor     0 0 0
-	shininess         0.8
-	specularColor     1 1 1 
-	transparency      0.7
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry Box { size	0.6	1.3	0.01	}
-}
 
-]
-translation	0.465	1.25	0
-}
 
-	]
-translation 1.26	0.05	-8.86
-}
+        DEF voordeur Transform {
+            center 1.11 0 0
+            children [
 
-#ROUTE klikopachterdeur.touchTime TO TimeSourceachter.startTime
-#ROUTE TimeSourceachter.fraction_changed TO achterDeuropen.set_fraction
-#ROUTE achterDeuropen.value_changed TO achterdeur.rotation
+                Shape {
+                    appearance DEF deurkleur Appearance {
+                        material         Material {
+                            ambientIntensity  0.2
+                            diffuseColor      0.8 0.8 0.8
+                            emissiveColor     0 0 0
+                            shininess         0.1
+                            specularColor     0 0 0
+                            transparency      0
+                        }	texture           NULL
+                        textureTransform  NULL
+                    }
+                    geometry IndexedFaceSet {
+                        color             NULL
+                        coord  Coordinate {	#default NULL
+                            point [
 
-#schuurdeur
-DEF schuurdeur Transform {
-children [
+                                0	0	0.025, #0
+                                1.11	0	0.025, #
+                                1.11	2.19	0.025, #
+                                0	2.19	0.025, #3
 
-DEF klikopschuurdeur TouchSensor {}
-  DEF TimeSourceschuur TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
-  # Animeer het openzwaaien van de deur rond de Y as:
-  DEF schuurDeuropen OrientationInterpolator {
-       key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
-       keyValue [ 0 1 0 1.5707963, 0 1 0 2.4, 0 1 0 3.4, 0 1 0 3.4, 0 1 0 2.4, 0 1 0 1.5707963 ]
-  }
+                                0.71	0.49	0.025, #4
+                                0.91	0.49	0.025, #
+                                0.91	1.99	0.025, #
+                                0.71	1.99	0.025, #7
 
-Transform{
-    children[
-        Shape{
-            appearance 	USE deurkleur
-            geometry	USE deurInd
-        }
-    ]
-    scale 0.9139785	1	1   #maakt de deur op maat
-}
+                                0	0	-0.025, #8
+                                1.11	0	-0.025, #
+                                1.11	2.19	-0.025, #
+                                0	2.19	-0.025, #11
 
-USE ruitindeur
+                                0.71	0.49	-0.025, #12
+                                0.91	0.49	-0.025, #
+                                0.91	1.99	-0.025, #
+                                0.71	1.99	-0.025, #15
+                            ]
+                        }
+                        normal            NULL
+                        texCoord          NULL
+                        ccw               TRUE
+                        colorIndex        []
+                        colorPerVertex    TRUE
+                        convex            TRUE
+                        coordIndex  [
 
-Transform {
-    children USE deurklink
-    translation 0.43 1 0
-}
+                            0, 1, 5, 4, -1,
 
+                            1, 2, 6, 5, -1,
 
-]
-translation 3.53	0.05	6.35
-rotation 0 1 0 1.5707963
-}
+                            6, 2, 3, 7, -1,
 
-#ROUTE klikopschuurdeur.touchTime TO TimeSourceschuur.startTime
-#ROUTE TimeSourceschuur.fraction_changed TO schuurDeuropen.set_fraction
-#ROUTE schuurDeuropen.value_changed TO schuurdeur.rotation
+                            0, 4, 7, 3, -1,
 
-# /achterdeur.wrl
 
+                            1, 0, 8, 9, -1,
 
+                            3, 2, 10, 11, -1,
 
+                            0, 3, 11, 8, -1,
 
-# /deuren.wrl
+                            2, 1, 9, 10, -1,
 
-# ramen.wrl
 
+                            5, 6, 14, 13, -1,
 
+                            4, 5, 13, 12, -1,
 
+                            6, 7, 15, 14, -1,
 
-Transform {
-	children [
-		Shape {
-appearance DEF kozijn Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      0.95 0.95 0.9
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry Box { size	0.05 1.3 0.05 }
-}
+                            7, 4, 12, 15, -1,
 
-]
-translation	0.625 1.6 -0.14
-}
 
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	0.05 1.3 0.05 }
-}
+                            9, 8, 12, 13, -1,
 
-]
-translation	2.575 1.6 -0.14
-}
-
-
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	0.05 1.3 0.05 }
-}
-
-]
-translation	1.475 1.6 -0.14
-}
-
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	0.05 1.3 0.05 }
-}
+                            10, 9, 13, 14, -1,
 
-]
-translation	1.725 1.6 -0.14
-}
-
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	2 0.05 0.05 }
-}
+                            11, 10, 14, 15, -1,
 
-]
-translation	1.6 0.925 -0.14
-}
+                            12, 8, 11, 15, -1,
 
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	2 0.05 0.05 }
-}
 
-]
-translation	1.6 2.275 -0.14
-}
 
-#einde keukenraam
 
-#begin toiletraam
 
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	0.05 0.7 0.05 }
-}
+                        ]     #default []
+                        creaseAngle       0
+                        normalIndex       []
+                        normalPerVertex   TRUE
+                        solid             TRUE
+                        texCoordIndex     []
+                    }
+                }
 
-]
-translation	4.865 1.95 -0.14
-}
+                DEF klikopvoordeur TouchSensor {}
+                DEF TimeSourcevoor TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
+                # Animeer het openzwaaien van de deur rond de Y as:
+                DEF VoorDeuropen OrientationInterpolator {
+                    key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
+                    keyValue [ 0 1 0 0, 0 1 0 -0.7, 0 1 0 -1.5, 0 1 0 -1.5, 0 1 0 -0.7, 0 1 0 0 ]
+                }
 
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	0.05 0.7 0.05 }
-}
+                DEF deurgreep Transform{
+                    children[
+                        Shape {
+                            appearance DEF aluminium Appearance {
+                                material         Material {
+                                    ambientIntensity  0.2
+                                    diffuseColor      0.4 0.4 0.4
+                                    emissiveColor     0 0 0
+                                    shininess         0.8
+                                    specularColor     0.9 0.9 0.9
+                                    transparency      0
+                                }
+                                texture           NULL
+                                textureTransform  NULL
+                            }
+                            geometry Box { size	0.2	0.2	0.004	}
+                        }
+
+                    ]
+                    translation	0.15	0.9	0.067
+                }
 
-]
-translation	5.015 1.95 -0.14
-}
 
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	0.1 0.05 0.05 }
-}
+                DEF steunblokje Transform{
+                    children[
+                        Shape {
+                            appearance DEF aluminium Appearance {
+                                material         Material {
+                                    ambientIntensity  0.2
+                                    diffuseColor      0.4 0.4 0.4
+                                    emissiveColor     0 0 0
+                                    shininess         0.8
+                                    specularColor     0.9 0.9 0.9
+                                    transparency      0
+                                }
+                                texture           NULL
+                                textureTransform  NULL
+                            }
+                            geometry Box { size	0.14	0.14	0.04	}
+                        }
+
+                    ]
+                    translation	0.15	0.9	0.045
+                }
 
-]
-translation	4.94 1.625 -0.14
-}
+                DEF ruitjeindeur Transform{
+                    children[
+                        Shape {
+                            appearance DEF glas Appearance {
+                                material         Material {
+                                    ambientIntensity  0.2
+                                    diffuseColor      0.6 0.6 0.9
+                                    emissiveColor     0 0 0
+                                    shininess         0.8
+                                    specularColor     1 1 1
+                                    transparency      0.7
+                                }	texture           NULL
+                                textureTransform  NULL
+                            }
+                            geometry Box { size	0.2	1.5	0.01	}
+                        }
+
+                    ]
+                    translation	0.81	1.24	0
+                }
 
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	0.1 0.05 0.05 }
-}
+            ]
+            translation 3.25	0.05	-0.14
+        }
 
-]
-translation	4.94 2.275 -0.14
-}
+        ROUTE klikopvoordeur.touchTime TO TimeSourcevoor.startTime
+        ROUTE TimeSourcevoor.fraction_changed TO VoorDeuropen.set_fraction
+        ROUTE VoorDeuropen.value_changed TO voordeur.rotation
 
-#einde toiletraam
-#voordeur posten
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	0.05 2.26 0.05 }
-}
+        # /voordeur.wrl
 
-]
-translation	3.215 1.17 -0.14
-}
+        # achterdeur.wrl
 
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	0.05 2.26 0.05 }
-}
 
-]
-translation	4.395 1.17 -0.14
-}
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	1.13 0.05 0.05 }
-}
 
-]
-translation	3.805 2.275 -0.14
-}
-#einde deurposten
-#begin kozijnen achter
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	0.05 2.1 0.05 }
-}
+        #bevat ook schuurdeur
 
-]
-translation	3.215 1.65 -8.86
-}
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	0.05 2.1 0.05 }
-}
 
-]
-translation	4.775	1.65 -8.86
-}
+        DEF achterdeur Transform {
+            center 0 0 0
+            children [
 
-Transform {
-	children [
-		Shape {
-appearance		DEF blauw Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      0.3 0.4 0.7
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
 
-geometry	Box { size	1.51 0.5 0.05 }
-}
+                Shape {
+                    appearance DEF deurkleur Appearance {
+                        material         Material {
+                            ambientIntensity  0.2
+                            diffuseColor      0.8 0.8 0.8
+                            emissiveColor     0 0 0
+                            shininess         0.1
+                            specularColor     0 0 0
+                            transparency      0
+                        }	texture           NULL
+                        textureTransform  NULL
+                    }
+                    geometry DEF deurInd IndexedFaceSet {
+                        color             NULL
+                        coord  Coordinate {	#default NULL
+                            point [
 
-]
-translation	3.995 2.45 -8.86
-}
+                                0.93	0	-0.025, #0
+                                0	0	-0.025, #
+                                0	2.09	-0.025, #
+                                0.93	2.09	-0.025, #3
 
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	1.51 0.05 0.05 }
-}
+                                0.765	0.6	-0.025, #4
+                                0.165	0.6	-0.025, #
+                                0.165	1.9	-0.025, #
+                                0.765	1.9	-0.025, #7
 
-]
-translation	3.995 0.625 -8.86
-}#1
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	1.51 0.05 0.05 }
-}
+                                0.93	0	0.025, #0
+                                0	0	0.025, #
+                                0	2.09	0.025, #
+                                0.93	2.09	0.025, #3
 
-]
-translation	3.995 2.175 -8.86
-}#2
+                                0.765	0.6	0.025, #4
+                                0.165	0.6	0.025, #
+                                0.165	1.9	0.025, #
+                                0.765	1.9	0.025, #7
 
+                            ]
+                        }
+                        normal            NULL
+                        texCoord          NULL
+                        ccw               TRUE
+                        colorIndex        []
+                        colorPerVertex    TRUE
+                        convex            TRUE
+                        coordIndex  [
 
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	0.94 0.05 0.05 }
-}
+                            0, 1, 5, 4, -1,
 
-]
-translation	2.72 0.625 -8.86
-}
+                            1, 2, 6, 5, -1,
 
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	1.99 0.05 0.05 }
-}
+                            6, 2, 3, 7, -1,
 
-]
-translation	2.195 2.675 -8.86
-}
+                            0, 4, 7, 3, -1,
 
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	1 0.05 0.05 }
-}
 
-]
-translation	1.725 2.175 -8.86
-}
+                            1, 0, 8, 9, -1,
 
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	0.05 2.61 0.05 }
-}
+                            3, 2, 10, 11, -1,
 
-]
-translation	1.225 1.345 -8.86
-}
+                            0, 3, 11, 8, -1,
 
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	0.05 2.61 0.05 }
-}
+                            2, 1, 9, 10, -1,
 
-]
-translation	2.225 1.345 -8.86
-}
 
+                            5, 6, 14, 13, -1,
 
+                            4, 5, 13, 12, -1,
 
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	0.05 1.5 0.05 }
-}
+                            6, 7, 15, 14, -1,
 
-]
-translation	3.565 1.4 -8.86
-}
+                            7, 4, 12, 15, -1,
 
-#einde ramen achter
 
+                            9, 8, 12, 13, -1,
 
+                            10, 9, 13, 14, -1,
 
-# /ramen.wrl
+                            11, 10, 14, 15, -1,
 
-# ruiten.wrl
+                            12, 8, 11, 15, -1,
 
 
 
 
-#begin vensterglas
 
-Transform {
-	children [
-		Shape {
-appearance DEF glas Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      0.6 0.6 0.9
-	emissiveColor     0 0 0
-	shininess         0.8
-	specularColor     1 1 1 
-	transparency      0.7
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry Box { size	0.94 2 0.01 }
-}
+                        ]     #default []
+                        creaseAngle       0
+                        normalIndex       []
+                        normalPerVertex   TRUE
+                        solid             TRUE
+                        texCoordIndex     []
+                    }
+                }
 
-]
-translation	2.72 1.65 -8.86
-}#ruit 5 achter
+                DEF klikopachterdeur TouchSensor {}
+                DEF TimeSourceachter TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
+                # Animeer het openzwaaien van de deur rond de Y as:
+                DEF achterDeuropen OrientationInterpolator {
+                    key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
+                    keyValue [ 0 1 0 0, 0 1 0 0.7, 0 1 0 1.5, 0 1 0 1.5, 0 1 0 0.7, 0 1 0 0 ]
+                }
 
-#ruit1 keuken
-Transform {
-	children [
-		Shape {
-appearance USE glas
-geometry Box { size	0.8 1.3 0.01 }
-}
 
-]
-translation	1.05 1.6 -0.14
-}#ruit 1 keuken
 
-#ruit3 keuken
-Transform {
-	children [
-		Shape {
-appearance USE glas
-			geometry Box { size	0.8 1.3 0.01 }
-}
+                Transform {
+                    # ../boven/deurklink.wrl
+
+
 
-]
-translation	2.15 1.6 -0.14
-}#ruit 3 keuken
 
-#ruit2 keuken
-Transform {
-	children [
-		Shape {
-appearance USE glas
-			geometry Box { size	0.2 1.3 0.01 }
-}
 
-]
-translation	1.6 1.6 -0.14
-}#ruit 2 keuken
+                    DEF deurklink Transform {
+                        children [
+                            DEF enehelft	Shape {
+                                appearance DEF aluminium Appearance {
+                                    material         Material {
+                                        ambientIntensity  0.2
+                                        diffuseColor      0.4 0.4 0.5
+                                        emissiveColor     0 0 0
+                                        shininess         0.8
+                                        specularColor     0.4 0.4 0.5
+                                    }
+                                    texture           NULL
+                                    textureTransform  NULL
+                                }
+                                geometry IndexedFaceSet {
+                                    color             NULL
+                                    coord  Coordinate {
+                                        point [
+                                            -0.015	0.02	0, #0
+                                            0.015		0.02	0,
+                                            0.02		-0.02	0,
+                                            -0.02		-0.02	0, #3
 
+                                            -0.01		-0.015	0.06, #4
+                                            0.01		-0.015	0.06,
+                                            -0.01		0.015		0.03,
+                                            0.01		0.015		0.03,
 
-#toiletruit
-Transform {
-	children [
-		Shape {
-appearance USE glas
-			geometry Box { size	0.1 0.6 0.01 }
-}
+                                            0.005		0.1		0.035, #8
+                                            -0.005	0.1		0.035,
+                                            -0.005	0.1		0.055,
+                                            0.005		0.1		0.055,
 
-]
-translation	4.94 1.95 -0.14
-}#ruit van toiletraam
 
-#ramen achter
 
+                                        ]
+                                    }
+                                    normal            NULL
+                                    texCoord          NULL
+                                    ccw               TRUE
+                                    colorIndex        []
+                                    colorPerVertex    TRUE
+                                    convex            TRUE
+                                    coordIndex  [
 
+                                        2, 3, 4, 5, -1,
+                                        2, 5, 4, 3, -1,
 
+                                        4, 5, 11, 10, -1,
+                                        4, 10, 11, 5, -1,
 
-Transform {
-	children [
-		Shape {
-appearance USE glas
-			geometry Box { size	1.16 1.5 0.01 }
-}
+                                        0, 1, 7, 6, -1,
+                                        0, 6, 7, 1, -1,
 
-]
-translation	4.17 1.4 -8.86
-}#ruit 3 achter
+                                        6, 7, 8, 9, -1,
+                                        6, 9, 8, 7, -1,
 
-Transform {
-	children [
-		Shape {
-appearance USE glas
-			geometry Box { size	0.3 1.5 0.01 }
-}
+                                        8, 9, 10, 11, -1,
+                                        8, 11, 10, 9, -1,
 
-]
-translation	3.39 1.4 -8.86
-}#ruit 4 achter
+                                        0, 6, 4, 3, -1,
+                                        0, 3, 4, 6, -1,
 
-Transform {
-	children [
-		Shape {
-appearance USE glas
-			geometry Box { size	0.95 0.45 0.01 }
-}
+                                        6, 9, 10, 4, -1,
+                                        6, 4, 10, 9, -1,
 
-]
-translation	1.725 2.425 -8.86
-}#ruit 6 achter
+                                        1, 2, 5, 7, -1,
+                                        1, 7, 5, 2, -1,
 
-# /ruiten.wrl
+                                        7, 5, 11, 8, -1,
+                                        7, 8, 11, 5, -1,
 
+                                    ]     #default []
+                                    creaseAngle       0
+                                    normalIndex       []
+                                    normalPerVertex   TRUE
+                                    solid             TRUE
+                                    #texCoordIndex     []
+                                }
+                            }#enehelft
 
-# /beneden/beneden.wrl
+                            Transform {
+                                children [
+
+                                    USE enehelft
+                                ]
+                                rotation 0 1 0 3.1415927
+                                translation	0 0 -0.07
+                            }
+                            Transform {
+
+                                children [
+                                    DEF vlakdeel Shape {
+                                        appearance USE aluminium
+                                        geometry Box { size 0.18 0.07 0.01 }
+                                    }#shape
+                                ]
+                                translation -0.03 0 -0.005
+                            }
+
+                            Transform {
+
+                                children [
+                                    USE vlakdeel
+                                ]
+                                translation -0.03 0 -0.065
+                            }
 
 
-DEF boven Transform {
-children[
 
-Transform {
-children[
+                        ]
 
-Transform {
-children[
-	Shape {
-appearance DEF groen Appearance {
-	material         Material {
-	ambientIntensity  1
-	diffuseColor      0 1 0
-	emissiveColor     0 1 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry DEF pijl IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {	#default NULL
-					point [
-						0 0 0,
-						0.2 0.2 0,
-						0.2 -0.2 0,
-						
-					]
-				}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [	0,1,2,-1, 
-				]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             FALSE
-				texCoordIndex     []
-			}
-}#shape
-]
-rotation 0 1 0 3.1415927
-}
+                        translation 0.35 0 0.035
+                        rotation 0 0 1 1.5707963
+                    }#deurklink
 
-DEF schuifboven TouchSensor {}
-]
-translation 0.15 2.95 0.3
-}
 
-Transform {
-children[
-
-	Shape {
-appearance DEF rood Appearance {
-	material         Material {
-	ambientIntensity  1
-	diffuseColor      1 0 0
-	emissiveColor     1 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
 
-geometry USE pijl
-}
+                    # /../boven/deurklink.wrl
+                    translation 0.50 1 0
+                }
 
-DEF schuifboven2 TouchSensor {}
-]
 
-translation 5.48 2.95 0.3
-}
 
-# boven/boven.wrl
 
+                DEF ruitindeur Transform{
+                    children[
+                        Shape {
+                            appearance DEF glas Appearance {
+                                material         Material {
+                                    ambientIntensity  0.2
+                                    diffuseColor      0.6 0.6 0.9
+                                    emissiveColor     0 0 0
+                                    shininess         0.8
+                                    specularColor     1 1 1
+                                    transparency      0.7
+                                }	texture           NULL
+                                textureTransform  NULL
+                            }
+                            geometry Box { size	0.6	1.3	0.01	}
+                        }
 
+                    ]
+                    translation	0.465	1.25	0
+                }
 
+            ]
+            translation 1.26	0.05	-8.86
+        }
 
-Viewpoint {
-	fieldOfView    1
-	jump           TRUE
-	orientation    1 0 0  0
-	position       2.5 3.75 -2.5
+        ROUTE klikopachterdeur.touchTime TO TimeSourceachter.startTime
+        ROUTE TimeSourceachter.fraction_changed TO achterDeuropen.set_fraction
+        ROUTE achterDeuropen.value_changed TO achterdeur.rotation
 
-	description    "Ouderslaapkamer"
-}
+        #schuurdeur
+        DEF schuurdeur Transform {
+            children [
 
-Viewpoint {
-	fieldOfView    1
-	jump           TRUE
-	orientation    1 0 0  0
-	position       2.5 3.75 -5
+                DEF klikopschuurdeur TouchSensor {}
+                DEF TimeSourceschuur TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
+                # Animeer het openzwaaien van de deur rond de Y as:
+                DEF schuurDeuropen OrientationInterpolator {
+                    key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
+                    keyValue [ 0 1 0 1.5707963, 0 1 0 2.4, 0 1 0 3.4, 0 1 0 3.4, 0 1 0 2.4, 0 1 0 1.5707963 ]
+                }
 
-	description    "Tweede slaapkamer"
-}
+                Transform{
+                    children[
+                        Shape{
+                            appearance 	USE deurkleur
+                            geometry	USE deurInd
+                        }
+                    ]
+                    scale 0.9139785	1	1   #maakt de deur op maat
+                }
 
-Viewpoint {
-	fieldOfView    1
-	jump           TRUE
-	orientation    1 0 0  0
-	position       4.5 3.75 -7
+                USE ruitindeur
 
-	description    "Kinderkamer"
-}
+                Transform {
+                    children USE deurklink
+                    translation 0.43 1 0
+                }
 
-Viewpoint {
-	fieldOfView    1
-	jump           TRUE
-	orientation    1 0 0  0
-	position       4.5 3.75 -1.5
 
-	description    "Badkamer"
-}
+            ]
+            translation 3.53	0.05	6.35
+            rotation 0 1 0 1.5707963
+        }
 
+        ROUTE klikopschuurdeur.touchTime TO TimeSourceschuur.startTime
+        ROUTE TimeSourceschuur.fraction_changed TO schuurDeuropen.set_fraction
+        ROUTE schuurDeuropen.value_changed TO schuurdeur.rotation
 
+        # /achterdeur.wrl
 
-#dak van schuur
 
-Transform {
-children [
-Shape {
-appearance  DEF appdak Appearance {
-	 material          Material {
-  	ambientIntensity  0
-  	diffuseColor      0.2 0.2 0.2
-  	emissiveColor     0 0 0
-  	shininess         0
-  	specularColor     0 0 0 
-  	transparency      0
-			  }
 
-  texture           ImageTexture {
-  			  url     [""]
-  			  repeatS TRUE
-  			  repeatT TRUE
- 			  }
-}
 
-geometry Box { size 2.24 0.04 3.24	}
-}
-]
-translation 4.6 2.62 6.2
-}
+        # /deuren.wrl
 
+        # ramen.wrl
 
-DEF plafond Transform {
-	children [
-		Shape {
-appearance Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      1 1 1
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {	#default NULL
-					point [
-						0.14	2.70	-0.14,
-						5.54	2.70	-0.14,
-						5.54	2.70	-8.86,
-						0.14	2.70	-8.86,
-
-						5.54	2.70	-2.36, #-4
-						5.54	2.70	-4.36,
-						4.42	2.70	-4.36,
-						4.42	2.70	-2.36,
-
-					]
-				}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [
-		0, 1, 4, 7, -1, 
-		0, 7, 4, 1, -1, 
-
-		0, 7, 6, 3, -1,
-		0, 3, 6, 7, -1, 
-
-		5, 2, 3, 6, -1, 
-		5, 6, 3, 2, -1,
-]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             TRUE
-				texCoordIndex     []
-			}
-		}
-	]
-}
 
 
 
-DEF vloerboven Transform {
-	children [
-		Shape {
-appearance Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      1 0.5 0.3
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {	#default NULL
-					point [
-						0.14	2.80	-0.14,
-						5.54	2.80	-0.14,
-						5.54	2.80	-8.86,
-						0.14	2.80	-8.86,
-
-						5.54	2.80	-2.36, #-4
-						5.54	2.8	-4.36,
-						4.42	2.8	-4.36,
-						4.42	2.8	-2.36,
-
-					]
-				}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [
-		0, 1, 4, 7, -1, 
-		0, 7, 4, 1, -1, 
-
-		0, 7, 6, 3, -1,
-		0, 3, 6, 7, -1, 
-
-		5, 2, 3, 6, -1, 
-		5, 6, 3, 2, -1,
-]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             TRUE
-				texCoordIndex     []
-			}
-		}
-	]
-}
+        Transform {
+            children [
+                Shape {
+                    appearance DEF kozijn Appearance {
+                        material         Material {
+                            ambientIntensity  0.2
+                            diffuseColor      0.95 0.95 0.9
+                            emissiveColor     0 0 0
+                            shininess         0.1
+                            specularColor     0 0 0
+                            transparency      0
+                        }	texture           NULL
+                        textureTransform  NULL
+                    }
+                    geometry Box { size	0.05 1.3 0.05 }
+                }
 
+            ]
+            translation	0.625 1.6 -0.14
+        }
 
+        Transform {
+            children [
+                Shape {
+                    appearance	USE kozijn
+                    geometry	Box { size	0.05 1.3 0.05 }
+                }
 
+            ]
+            translation	2.575 1.6 -0.14
+        }
 
-DEF stukmuur1 Transform {
-children[
-	Shape {
-	appearance DEF wandkleur Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      1 0.9 0.7
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-		geometry 	Box {
-	size	2.84 2.50 0.07
-				}
 
-	}
- ]
-translation		1.7	4.05 -4.565
-}
+        Transform {
+            children [
+                Shape {
+                    appearance	USE kozijn
+                    geometry	Box { size	0.05 1.3 0.05 }
+                }
 
-DEF stukmuur2 Transform {
-children[
-	Shape {
-	appearance USE wandkleur
-		geometry 	Box {
-	size	0.07 2.50 0.7
-				}
-
-	}
- ]
-translation		3.155	4.05 -4.28
-}
+            ]
+            translation	1.475 1.6 -0.14
+        }
 
+        Transform {
+            children [
+                Shape {
+                    appearance	USE kozijn
+                    geometry	Box { size	0.05 1.3 0.05 }
+                }
 
-DEF stukmuur3 Transform {
-children[
-	Shape {
-	appearance USE wandkleur
-		geometry 	Box {
-	size	0.07 2.68 3.57
-				}
+            ]
+            translation	1.725 1.6 -0.14
+        }
 
-	}
- ]
-translation		3.155	4.05 -7.215
-}
+        Transform {
+            children [
+                Shape {
+                    appearance	USE kozijn
+                    geometry	Box { size	2 0.05 0.05 }
+                }
 
-DEF stukmuur4 Transform {
-children[
-	Shape {
-	appearance USE wandkleur
-		geometry 	Box {
-	size	0.07 2.50 2.85
-				}
-
-	}
- ]
-translation		3.155	4.05 -1.705
-}
+            ]
+            translation	1.6 0.925 -0.14
+        }
 
-DEF stukmuur5 Transform {
-children[
-	Shape {
-	appearance USE wandkleur
-		geometry 	Box {
-	size	0.42 2.50 0.07
-				}
-
-	}
- ]
-translation		3.4	4.05 -2.325
-}
+        Transform {
+            children [
+                Shape {
+                    appearance	USE kozijn
+                    geometry	Box { size	2 0.05 0.05 }
+                }
 
-DEF stukmuur6 Transform {
-children[
-	Shape {
-	appearance USE wandkleur
-		geometry 	Box {
-	size	0.98 2.50 0.07
-				}
-
-	}
- ]
-translation		4.91	4.05 -2.325
-}
+            ]
+            translation	1.6 2.275 -0.14
+        }
 
-DEF stukmuur7 Transform {
-children[
-	Shape {
-	appearance USE wandkleur
-		geometry 	Box {
-	size	1.34 2.50 0.07
-				}
-
-	}
- ]
-translation		4.73	4.05 -4.395
-}
+        #einde keukenraam
 
+        #begin toiletraam
 
-DEF stukmuur8 Transform {
-children[
-	Shape {
-	appearance USE wandkleur
-		geometry 	Box {
-	size	0.07 2.50 1.2
-				}
+        Transform {
+            children [
+                Shape {
+                    appearance	USE kozijn
+                    geometry	Box { size	0.05 0.7 0.05 }
+                }
 
-	}
- ]
-translation		4.025	4.05 -4.96
-}
+            ]
+            translation	4.865 1.95 -0.14
+        }
 
-DEF vulstukvoortrap Transform {
-	children [
-		Shape {
-appearance USE wandkleur
-
-			geometry IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {	#default NULL
-					point [
-						4.42	2.7	-2.36,
-						4.42	2.7	-3.36,
-						4.42	2.8	-3.36,
-						4.42	2.8	-2.36,
-					]
-				}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [
-	0, 1, 2, 3, -1,
-	0, 3, 2, 1, -1,
-]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             TRUE
-				texCoordIndex     []
-			}
-		}
-	]
-}
+        Transform {
+            children [
+                Shape {
+                    appearance	USE kozijn
+                    geometry	Box { size	0.05 0.7 0.05 }
+                }
 
+            ]
+            translation	5.015 1.95 -0.14
+        }
 
+        Transform {
+            children [
+                Shape {
+                    appearance	USE kozijn
+                    geometry	Box { size	0.1 0.05 0.05 }
+                }
 
-DEF paalvoortrap Transform {
-children[
-Shape {
-appearance 	USE wandkleur
-geometry	Box { size	0.07	2.50	0.07	}
-}
-]
-translation 4.385	4.05	-3.36
-}
+            ]
+            translation	4.94 1.625 -0.14
+        }
 
-# deuren.wrl
+        Transform {
+            children [
+                Shape {
+                    appearance	USE kozijn
+                    geometry	Box { size	0.1 0.05 0.05 }
+                }
 
+            ]
+            translation	4.94 2.275 -0.14
+        }
 
+        #einde toiletraam
+        #voordeur posten
+        Transform {
+            children [
+                Shape {
+                    appearance	USE kozijn
+                    geometry	Box { size	0.05 2.26 0.05 }
+                }
 
+            ]
+            translation	3.215 1.17 -0.14
+        }
 
+        Transform {
+            children [
+                Shape {
+                    appearance	USE kozijn
+                    geometry	Box { size	0.05 2.26 0.05 }
+                }
 
-#Deuren boven
+            ]
+            translation	4.395 1.17 -0.14
+        }
+        Transform {
+            children [
+                Shape {
+                    appearance	USE kozijn
+                    geometry	Box { size	1.13 0.05 0.05 }
+                }
 
-#deur7
-Transform {
-children[ 
+            ]
+            translation	3.805 2.275 -0.14
+        }
+        #einde deurposten
+        #begin kozijnen achter
+        Transform {
+            children [
+                Shape {
+                    appearance	USE kozijn
+                    geometry	Box { size	0.05 2.1 0.05 }
+                }
 
-#dwarslat boven de deur
-DEF dwarslat Transform {
-	children [
-		Shape {
-appearance DEF kozijn Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      0.95 0.95 0.9
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry Box { size	0.8 0.05 0.05 }
-}
+            ]
+            translation	3.215 1.65 -8.86
+        }
+        Transform {
+            children [
+                Shape {
+                    appearance	USE kozijn
+                    geometry	Box { size	0.05 2.1 0.05 }
+                }
 
-]
-translation	0 2.035 0
-}
+            ]
+            translation	4.775	1.65 -8.86
+        }
 
+        Transform {
+            children [
+                Shape {
+                    appearance		DEF blauw Appearance {
+                        material         Material {
+                            ambientIntensity  0.2
+                            diffuseColor      0.3 0.4 0.7
+                            emissiveColor     0 0 0
+                            shininess         0.1
+                            specularColor     0 0 0
+                            transparency      0
+                        }	texture           NULL
+                        textureTransform  NULL
+                    }
+
+                    geometry	Box { size	1.51 0.5 0.05 }
+                }
 
+            ]
+            translation	3.995 2.45 -8.86
+        }
 
-DEF ruitjeboven Transform {
-	children [
-		Shape {
-appearance DEF glas Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      0.6 0.6 0.9
-	emissiveColor     0 0 0
-	shininess         0.8
-	specularColor     1 1 1 
-	transparency      0.7
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry Box { size	0.8 0.44 0.01 }
-}
+        Transform {
+            children [
+                Shape {
+                    appearance	USE kozijn
+                    geometry	Box { size	1.51 0.05 0.05 }
+                }
 
-]
-translation	0 2.28 0
-}#ruit boven de deur
+            ]
+            translation	3.995 0.625 -8.86
+        }#1
+        Transform {
+            children [
+                Shape {
+                    appearance	USE kozijn
+                    geometry	Box { size	1.51 0.05 0.05 }
+                }
 
-#deur
-DEF deuroudersgang Transform {
-center -0.4 0 0
-	children [
+            ]
+            translation	3.995 2.175 -8.86
+        }#2
 
 
+        Transform {
+            children [
+                Shape {
+                    appearance	USE kozijn
+                    geometry	Box { size	0.94 0.05 0.05 }
+                }
 
-	DEF klikopdeur7 TouchSensor {}
-  DEF TimeSource7 TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
-  # Animeer het openzwaaien van de deur rond de Y as:
-   DEF Deuropen7 OrientationInterpolator {
-       key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
-       keyValue [ 0 1 0 0, 0 1 0 -1, 0 1 0 -2, 0 1 0 -2, 0 1 0 -1, 0 1 0 0 ]
-  }
+            ]
+            translation	2.72 0.625 -8.86
+        }
 
+        Transform {
+            children [
+                Shape {
+                    appearance	USE kozijn
+                    geometry	Box { size	1.99 0.05 0.05 }
+                }
 
-DEF deurklink # deurklink.wrl
+            ]
+            translation	2.195 2.675 -8.86
+        }
 
+        Transform {
+            children [
+                Shape {
+                    appearance	USE kozijn
+                    geometry	Box { size	1 0.05 0.05 }
+                }
 
+            ]
+            translation	1.725 2.175 -8.86
+        }
 
+        Transform {
+            children [
+                Shape {
+                    appearance	USE kozijn
+                    geometry	Box { size	0.05 2.61 0.05 }
+                }
 
+            ]
+            translation	1.225 1.345 -8.86
+        }
 
-DEF deurklink Transform {
-	children [
-	    DEF enehelft	Shape {
-            appearance DEF aluminium Appearance {
-                material         Material {
-                ambientIntensity  0.2
-                diffuseColor      0.4 0.4 0.5
-                emissiveColor     0 0 0
-                shininess         0.8
-                specularColor     0.4 0.4 0.5
+        Transform {
+            children [
+                Shape {
+                    appearance	USE kozijn
+                    geometry	Box { size	0.05 2.61 0.05 }
                 }
-                texture           NULL
-                textureTransform  NULL
-            }
-		    geometry IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {
-					point [
-                        -0.015	0.02	0, #0
-                        0.015		0.02	0,
-                        0.02		-0.02	0,
-                        -0.02		-0.02	0, #3
-
-                        -0.01		-0.015	0.06, #4
-                        0.01		-0.015	0.06,
-                        -0.01		0.015		0.03,
-                        0.01		0.015		0.03,
-
-                        0.005		0.1		0.035, #8
-                        -0.005	0.1		0.035,
-                        -0.005	0.1		0.055,
-                        0.005		0.1		0.055,
-
-
-
-					]
-				}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [
-	
-2, 3, 4, 5, -1,
-2, 5, 4, 3, -1,
-
-4, 5, 11, 10, -1, 
-4, 10, 11, 5, -1,
-
-0, 1, 7, 6, -1, 
-0, 6, 7, 1, -1,
-
-6, 7, 8, 9, -1, 
-6, 9, 8, 7, -1,
-
-8, 9, 10, 11, -1, 
-8, 11, 10, 9, -1,
-
-0, 6, 4, 3, -1,
-0, 3, 4, 6, -1,
-
-6, 9, 10, 4, -1, 
-6, 4, 10, 9, -1,
-
-1, 2, 5, 7, -1,
-1, 7, 5, 2, -1,
-
-7, 5, 11, 8, -1,
-7, 8, 11, 5, -1,
-
-]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             TRUE
-				#texCoordIndex     []
-			}
-		}#enehelft
-
-	Transform {
-		children [
-
-			USE enehelft
-		]
-	rotation 0 1 0 3.1415927
-	translation	0 0 -0.07
-	}
-	Transform {
-
-		children [
-		DEF vlakdeel Shape {
-			appearance USE aluminium
-			geometry Box { size 0.18 0.07 0.01 }
-		}#shape
-		]
-	translation -0.03 0 -0.005
-	}
-
-	Transform {
-
-		children [
-		USE vlakdeel 
-		]
-	translation -0.03 0 -0.065
-	}
-
-
-
-	]
-
-translation 0.35 0 0.035
-rotation 0 0 1 1.5707963
-}#deurklink
-
 
+            ]
+            translation	2.225 1.345 -8.86
+        }
 
-# /deurklink.wrl
 
 
-DEF deurvorm Shape {
-	appearance DEF deurkleur Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      0.8 0.8 0.8
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry Box { size	0.8 2 0.05 }
-}]
-translation	0 1.005 0
-}
-		
-]
-translation 3.155 2.8 -3.53
-rotation 0 1 0 1.5707963
-}
-
-#ROUTE klikopdeur7.touchTime TO TimeSource7.startTime
-#ROUTE TimeSource7.fraction_changed TO Deuropen7.set_fraction
-#ROUTE Deuropen7.value_changed TO deuroudersgang.rotation
-
-#deur8
-Transform {
-children[ 	USE dwarslat
-		USE ruitjeboven 
-
-#deur
-DEF deurtweedeslaapkamergang Transform {
-center -0.4 0 0
-	children [
-
-
-
-	DEF klikopdeur8 TouchSensor {}
-  DEF TimeSource8 TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
-  # Animeer het openzwaaien van de deur rond de Y as:
-   DEF Deuropen8 OrientationInterpolator {
-       key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
-       keyValue [ 0 1 0 0, 0 1 0 -1, 0 1 0 -2, 0 1 0 -2, 0 1 0 -1, 0 1 0 0 ]
-  }
-USE deurklink
-USE deurvorm
-]
-translation	0 1.005 0
-}
-		
-]
-translation 3.155 2.8 -5.03
-rotation 0 1 0 -1.5707963
-}
+        Transform {
+            children [
+                Shape {
+                    appearance	USE kozijn
+                    geometry	Box { size	0.05 1.5 0.05 }
+                }
 
-#ROUTE klikopdeur8.touchTime TO TimeSource8.startTime
-#ROUTE TimeSource8.fraction_changed TO Deuropen8.set_fraction
-#ROUTE Deuropen8.value_changed TO deurtweedeslaapkamergang.rotation
+            ]
+            translation	3.565 1.4 -8.86
+        }
 
+        #einde ramen achter
 
-#deur9
-Transform {
-children[ 	USE dwarslat
-		USE ruitjeboven 
 
-#deur
-DEF deurkinderkamergang Transform {
-center -0.4 0 0
-	children [
 
+        # /ramen.wrl
 
+        # ruiten.wrl
 
-	DEF klikopdeur9 TouchSensor {}
-  DEF TimeSource9 TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
-  # Animeer het openzwaaien van de deur rond de Y as:
-   DEF Deuropen9 OrientationInterpolator {
-       key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
-       keyValue [ 0 1 0 0, 0 1 0 -1, 0 1 0 -2, 0 1 0 -2, 0 1 0 -1, 0 1 0 0 ]
-  }
-USE deurklink
-USE deurvorm
-]
-translation	0 1.005 0
-}
-		
-]
-translation 3.59 2.8 -5.465
-rotation 0 1 0 3.1415927
-}
 
-#ROUTE klikopdeur9.touchTime TO TimeSource9.startTime
-#ROUTE TimeSource9.fraction_changed TO Deuropen9.set_fraction
-#ROUTE Deuropen9.value_changed TO deurkinderkamergang.rotation
 
 
-#deur10
-Transform {
-children[ 	USE dwarslat
-		USE ruitjeboven 
+        #begin vensterglas
 
-#deur
-DEF deurbadkamergang Transform {
-center -0.4 0 0
-	children [
+        Transform {
+            children [
+                Shape {
+                    appearance DEF glas Appearance {
+                        material         Material {
+                            ambientIntensity  0.2
+                            diffuseColor      0.6 0.6 0.9
+                            emissiveColor     0 0 0
+                            shininess         0.8
+                            specularColor     1 1 1
+                            transparency      0.7
+                        }	texture           NULL
+                        textureTransform  NULL
+                    }
+                    geometry Box { size	0.94 2 0.01 }
+                }
 
+            ]
+            translation	2.72 1.65 -8.86
+        }#ruit 5 achter
 
+        #ruit1 keuken
+        Transform {
+            children [
+                Shape {
+                    appearance USE glas
+                    geometry Box { size	0.8 1.3 0.01 }
+                }
 
-	DEF klikopdeur10 TouchSensor {}
-  DEF TimeSource10 TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
-  # Animeer het openzwaaien van de deur rond de Y as:
-   DEF Deuropen10 OrientationInterpolator {
-       key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
-       keyValue [ 0 1 0 0, 0 1 0 -1, 0 1 0 -2, 0 1 0 -2, 0 1 0 -1, 0 1 0 0 ]
-  }
-USE deurklink
-USE deurvorm
-]
-translation	0 1.005 0
-}
-		
-]
-translation 4.01 2.8 -2.325
-rotation 0 1 0 0
-}
+            ]
+            translation	1.05 1.6 -0.14
+        }#ruit 1 keuken
 
+        #ruit3 keuken
+        Transform {
+            children [
+                Shape {
+                    appearance USE glas
+                    geometry Box { size	0.8 1.3 0.01 }
+                }
 
+            ]
+            translation	2.15 1.6 -0.14
+        }#ruit 3 keuken
 
-#ROUTE klikopdeur10.touchTime TO TimeSource10.startTime
-#ROUTE TimeSource10.fraction_changed TO Deuropen10.set_fraction
-#ROUTE Deuropen10.value_changed TO deurbadkamergang.rotation
+        #ruit2 keuken
+        Transform {
+            children [
+                Shape {
+                    appearance USE glas
+                    geometry Box { size	0.2 1.3 0.01 }
+                }
 
+            ]
+            translation	1.6 1.6 -0.14
+        }#ruit 2 keuken
 
-# /deuren.wrl
 
-# trapboven.wrl
+        #toiletruit
+        Transform {
+            children [
+                Shape {
+                    appearance USE glas
+                    geometry Box { size	0.1 0.6 0.01 }
+                }
 
+            ]
+            translation	4.94 1.95 -0.14
+        }#ruit van toiletraam
 
+        #ramen achter
 
 
 
 
+        Transform {
+            children [
+                Shape {
+                    appearance USE glas
+                    geometry Box { size	1.16 1.5 0.01 }
+                }
 
+            ]
+            translation	4.17 1.4 -8.86
+        }#ruit 3 achter
 
-DEF trapboven Transform {
-	children [
-		Shape {
-appearance Appearance {
-	material          Material {
-	ambientIntensity  0.2
-	diffuseColor      1 0.5 0.3
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry DEF trap2 IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {	#default NULL
-					point [
-	-0.2	0	1, #0
-	0	0.2	1,
-	0	0.2	0,
-	-0.2	0	0, #3
-
-	0.28	0.4	1, #4
-	0.6	0.6	1,
-	0.98	0.8	1,
-	0.98	1	0.45, #7
-
-	0.98	1.2	0.25, #8
-	0.98	1.4	0, 
-	0.98	1.6	-0.25, 
-	0.98	1.8	-0.45, #11
-
-	0.98	2.0	-1, #12
-	0.6	2.2	-1,
-	0.28	2.4	-1,
-	0	2.6	-1, #15
-
-	0	0.6	0, #16
-	0	0.8	0,
-	0	1	0, #18
-	0	1.2	0, #19
-
-	0	1.4	0, #20
-	0	1.6	0,
-	0	1.8	0, #22
-	0	2	0, #23
-
-	0	2.2	0, #24
-	0	2.4	0, 
-	0	2.6	0,  
-	0	2.8	0,  #27
-
-	-0.2	0.2	1, #28
-	0	0.4	1,
-	0	0.4	0,
-	-0.2	0.2	0, #31
-
-	0.28	0.6	1, #32
-	0.6	0.8	1,
-	0.98	1	1,
-	0.98	1.2	0.45, #35
-
-	0.98	1.4	0.25, #36
-	0.98	1.6	0, 
-	0.98	1.8	-0.25, 
-	0.98	2	-0.45, #39
-
-	0.98	2.2	-1, #40
-	0.6	2.4	-1,
-	0.28	2.6	-1,
-	0	2.8	-1, #43
-
-	0	0	1,
-	0	0	0, #45
-	0	0.4	0, #46
-
-					]
-				}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [
-
-	28, 1, 2, 31, -1, #1e_treevlak
-	29, 4, 46, -1, #2e
-	32, 5, 16, -1,
-	33, 6, 17, -1,
-	34, 7, 18, -1, 
-	35, 8, 19, -1, 
-	36, 9, 20, -1, 
-	37, 10, 21, -1,
-	38, 11, 22, -1,
-	39, 12, 23, -1,
-	40, 13, 24, -1,
-	41, 14, 25, -1,
-	42, 15, 26, -1, #13e_treevlak
-
-#	0, 28, 31, 3, -1, #voor_en_zijvlakken_van_de_eerste_tree_komt_boven_niet_voor
-#	0, 44, 1, 28, -1,
-#	3, 31, 2, 45, -1,
-
-	2, 1, 29, 30, -1, #alle_voorvlakken
-	46, 4, 32, 16, -1,
-	16, 5, 33, 17, -1,
-	17, 6, 34, 18, -1,
-	18, 7, 35, 19, -1, 
-	19, 8, 36, 20, -1,
-	20, 9, 37, 21, -1,
-	21, 10, 38, 22, -1,
-	22, 11, 39, 23, -1,
-	23, 12, 40, 24, -1,
-	24, 13, 41, 25, -1,
-	25, 14, 42, 26, -1,
-	26, 15, 43, 27, -1,
-
-
-	
-
-]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             FALSE
-				texCoordIndex     []
-			}
-		}
-	]
-translation 4.42	2.6	-3.36
-}
+        Transform {
+            children [
+                Shape {
+                    appearance USE glas
+                    geometry Box { size	0.3 1.5 0.01 }
+                }
 
+            ]
+            translation	3.39 1.4 -8.86
+        }#ruit 4 achter
 
-# /trapboven.wrl
+        Transform {
+            children [
+                Shape {
+                    appearance USE glas
+                    geometry Box { size	0.95 0.45 0.01 }
+                }
 
-# buitmuur.wrl
+            ]
+            translation	1.725 2.425 -8.86
+        }#ruit 6 achter
+
+        # /ruiten.wrl
+
+
+        # /beneden/beneden.wrl
+
+
+        DEF boven Transform {
+            children[
+
+                Transform {
+                    children[
+
+                        Transform {
+                            children[
+                                Shape {
+                                    appearance DEF groen Appearance {
+                                        material         Material {
+                                            ambientIntensity  1
+                                            diffuseColor      0 1 0
+                                            emissiveColor     0 1 0
+                                            shininess         0.1
+                                            specularColor     0 0 0
+                                            transparency      0
+                                        }	texture           NULL
+                                        textureTransform  NULL
+                                    }
+                                    geometry DEF pijl IndexedFaceSet {
+                                        color             NULL
+                                        coord  Coordinate {	#default NULL
+                                            point [
+                                                0 0 0,
+                                                0.2 0.2 0,
+                                                0.2 -0.2 0,
+
+                                            ]
+                                        }
+                                        normal            NULL
+                                        texCoord          NULL
+                                        ccw               TRUE
+                                        colorIndex        []
+                                        colorPerVertex    TRUE
+                                        convex            TRUE
+                                        coordIndex  [	0,1,2,-1,
+                                        ]     #default []
+                                        creaseAngle       0
+                                        normalIndex       []
+                                        normalPerVertex   TRUE
+                                        solid             FALSE
+                                        texCoordIndex     []
+                                    }
+                                }#shape
+                            ]
+                            rotation 0 1 0 3.1415927
+                        }
+
+                        DEF schuifboven TouchSensor {}
+                    ]
+                    translation 0.15 2.95 0.3
+                }
 
+                Transform {
+                    children[
+
+                        Shape {
+                            appearance DEF rood Appearance {
+                                material         Material {
+                                    ambientIntensity  1
+                                    diffuseColor      1 0 0
+                                    emissiveColor     1 0 0
+                                    shininess         0.1
+                                    specularColor     0 0 0
+                                    transparency      0
+                                }	texture           NULL
+                                textureTransform  NULL
+                            }
+
+                            geometry USE pijl
+                        }
+
+                        DEF schuifboven2 TouchSensor {}
+                    ]
+
+                    translation 5.48 2.95 0.3
+                }
 
+                # boven/boven.wrl
 
 
-Transform {
-	children [
-		Shape {
-appearance DEF steen Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      0.8 0.4 0.3
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {	#default NULL
-					point [
-						0	0	0, #linkerbenedenhoek voorgevel
-						5.68	0	0,
-						5.68	5.40	0,
-						0	5.40	0, #linkerbovenhoek voorgevel
-
-						3.19	0	0, #voordeur
-						4.42	0	0,
-						4.42	2.30	0,
-						3.19	2.30	0, #voordeur
-
-						4.84	1.60	0, #toiletraam-8
-						5.04	1.60	0,
-						5.04	2.30	0,
-						4.84	2.30	0, 
-
-						2.60	0.90	0, #keukenraam-12
-						2.60	2.30	0,
-						0.60	2.30	0,
-						0.60	0.90	0,
-
-						0.60	3.60	0, #bovenraam-16
-						1.50	3.60	0,
-						1.50	5.0	0,
-						4.42	5.0	0,
-						4.42	5.40	0, 
-						0.60	5.40	0,
-
-						0	8.555	-3.15, #linkergevel-22
-						0	2.7	-9.0,
-						0	0	-9.0,
 
-						5.68	8.555	-3.15, #rechtergevel-25
-						5.68	5.40	-6.3,
-						5.68	5.40	-9,
-						5.68	0	-9.0,
 
-						2.25	0	-9.0, #achtergevel-29
-						2.25	0.6	-9.0,
-						4.8	0.6	-9.0,
-						4.8	5.40	-9.0,
-						1.2	0	-9.0,
-						1.2	2.7	-9,
+                Viewpoint {
+                    fieldOfView    1
+                    jump           TRUE
+                    orientation    1 0 0  0
+                    position       2.5 3.75 -2.5
 
+                    description    "Ouderslaapkamer"
+                }
 
-						3.19	0	-0.14, #diepte van de voordeur-35
-						4.42	0	-0.14,
-						4.42	2.30	-0.14,
-						3.19	2.30	-0.14, #diepte van de voordeur-38
+                Viewpoint {
+                    fieldOfView    1
+                    jump           TRUE
+                    orientation    1 0 0  0
+                    position       2.5 3.75 -5
 
-						2.60	0.90	-0.14, # diepte van het keukenraam-39
-						2.60	2.30	-0.14,
-						0.60	2.30	-0.14,
-						0.60	0.90	-0.14,
+                    description    "Tweede slaapkamer"
+                }
 
-						4.84	1.60	-0.14, #diepte van het toiletraam-43
-						5.04	1.60	-0.14,
-						5.04	2.30	-0.14,
-						4.84	2.30	-0.14, 
+                Viewpoint {
+                    fieldOfView    1
+                    jump           TRUE
+                    orientation    1 0 0  0
+                    position       4.5 3.75 -7
 
-						0.60	3.60	-0.14, #diepte van het bovenraam-47
-						1.50	3.60	-0.14,
-						1.50	5.0	-0.14,
-						4.42	5.0	-0.14,
-						4.42	5.40	-0.14, 
-						0.60	5.40	-0.14, #52
+                    description    "Kinderkamer"
+                }
 
-						2.25	0	-8.86, #diepte van de achtergevel-53
-						2.25	0.6	-8.86,
-						4.8	0.6	-8.86,
-						4.8	5.40	-8.86,
-						1.2	0	-8.86,
-						1.2	2.7	-8.86,	#58
+                Viewpoint {
+                    fieldOfView    1
+                    jump           TRUE
+                    orientation    1 0 0  0
+                    position       4.5 3.75 -1.5
 
-						0	2.7	0, #59 extra punten voor segmentering beneden
-						0.14	2.7	-0.14,
+                    description    "Badkamer"
+                }
 
-						5.68	2.7	0, #61
-						5.54	2.7	-0.14, #
 
-						0	2.7	-9, #63
-						0.14	2.7	-8.86, #
 
-						5.68	2.7	-9, #65
-						5.54	2.7	-8.86, #
+                #dak van schuur
+
+                Transform {
+                    children [
+                        Shape {
+                            appearance  DEF appdak Appearance {
+                                material          Material {
+                                    ambientIntensity  0
+                                    diffuseColor      0.2 0.2 0.2
+                                    emissiveColor     0 0 0
+                                    shininess         0
+                                    specularColor     0 0 0
+                                    transparency      0
+                                }
+
+                                texture           ImageTexture {
+                                    url     [""]
+                                    repeatS TRUE
+                                    repeatT TRUE
+                                }
+                            }
+
+                            geometry Box { size 2.24 0.04 3.24	}
+                        }
+                    ]
+                    translation 4.6 2.62 6.2
+                }
 
-						1.2	2.7	-9, #67
-						1.2	2.7	-8.86, #
 
-						4.8	2.7	-9, #69
-						4.8	2.7	-8.86, #
+                DEF plafond Transform {
+                    children [
+                        Shape {
+                            appearance Appearance {
+                                material         Material {
+                                    ambientIntensity  0.2
+                                    diffuseColor      1 1 1
+                                    emissiveColor     0 0 0
+                                    shininess         0.1
+                                    specularColor     0 0 0
+                                    transparency      0
+                                }	texture           NULL
+                                textureTransform  NULL
+                            }
+                            geometry IndexedFaceSet {
+                                color             NULL
+                                coord  Coordinate {	#default NULL
+                                    point [
+                                        0.14	2.70	-0.14,
+                                        5.54	2.70	-0.14,
+                                        5.54	2.70	-8.86,
+                                        0.14	2.70	-8.86,
+
+                                        5.54	2.70	-2.36, #-4
+                                        5.54	2.70	-4.36,
+                                        4.42	2.70	-4.36,
+                                        4.42	2.70	-2.36,
+
+                                    ]
+                                }
+                                normal            NULL
+                                texCoord          NULL
+                                ccw               TRUE
+                                colorIndex        []
+                                colorPerVertex    TRUE
+                                convex            TRUE
+                                coordIndex  [
+                                    0, 1, 4, 7, -1,
+                                    0, 7, 4, 1, -1,
+
+                                    0, 7, 6, 3, -1,
+                                    0, 3, 6, 7, -1,
+
+                                    5, 2, 3, 6, -1,
+                                    5, 6, 3, 2, -1,
+                                ]     #default []
+                                creaseAngle       0
+                                normalIndex       []
+                                normalPerVertex   TRUE
+                                solid             TRUE
+                                texCoordIndex     []
+                            }
+                        }
+                    ]
+                }
 
-						0.14	5.4	-0.14, #71
-						5.54	5.4	-0.14, #72
-						5.54	5.4	-8.86, #73
-						0.14	2.7	-9, #74
-						0.14	5.4	-6.3, #75
-						0	5.4	-6.3, #76
 
-					]
-				}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [
-		16, 21, 3, 59, -1,
 
-		19, 2, 20, -1,
+                DEF vloerboven Transform {
+                    children [
+                        Shape {
+                            appearance Appearance {
+                                material         Material {
+                                    ambientIntensity  0.2
+                                    diffuseColor      1 0.5 0.3
+                                    emissiveColor     0 0 0
+                                    shininess         0.1
+                                    specularColor     0 0 0
+                                    transparency      0
+                                }	texture           NULL
+                                textureTransform  NULL
+                            }
+                            geometry IndexedFaceSet {
+                                color             NULL
+                                coord  Coordinate {	#default NULL
+                                    point [
+                                        0.14	2.80	-0.14,
+                                        5.54	2.80	-0.14,
+                                        5.54	2.80	-8.86,
+                                        0.14	2.80	-8.86,
+
+                                        5.54	2.80	-2.36, #-4
+                                        5.54	2.8	-4.36,
+                                        4.42	2.8	-4.36,
+                                        4.42	2.8	-2.36,
+
+                                    ]
+                                }
+                                normal            NULL
+                                texCoord          NULL
+                                ccw               TRUE
+                                colorIndex        []
+                                colorPerVertex    TRUE
+                                convex            TRUE
+                                coordIndex  [
+                                    0, 1, 4, 7, -1,
+                                    0, 7, 4, 1, -1,
+
+                                    0, 7, 6, 3, -1,
+                                    0, 3, 6, 7, -1,
+
+                                    5, 2, 3, 6, -1,
+                                    5, 6, 3, 2, -1,
+                                ]     #default []
+                                creaseAngle       0
+                                normalIndex       []
+                                normalPerVertex   TRUE
+                                solid             TRUE
+                                texCoordIndex     []
+                            }
+                        }
+                    ]
+                }
 
-		2, 19, 61, -1,
 
-		65, 27, 2, 61, -1, 
 
-		59, 3, 76, 23, -1,
 
-		17, 48, 47, 16, -1,
+                DEF stukmuur1 Transform {
+                    children[
+                        Shape {
+                            appearance DEF wandkleur Appearance {
+                                material         Material {
+                                    ambientIntensity  0.2
+                                    diffuseColor      1 0.9 0.7
+                                    emissiveColor     0 0 0
+                                    shininess         0.1
+                                    specularColor     0 0 0
+                                    transparency      0
+                                }	texture           NULL
+                                textureTransform  NULL
+                            }
+                            geometry 	Box {
+                                size	2.84 2.50 0.07
+                            }
+
+                        }
+                    ]
+                    translation		1.7	4.05 -4.565
+                }
 
-		18, 49, 48, 17, -1,
+                DEF stukmuur2 Transform {
+                    children[
+                        Shape {
+                            appearance USE wandkleur
+                            geometry 	Box {
+                                size	0.07 2.50 0.7
+                            }
+
+                        }
+                    ]
+                    translation		3.155	4.05 -4.28
+                }
 
-		19, 50, 49, 18, -1,
 
-		20, 51, 50, 19, -1,
+                DEF stukmuur3 Transform {
+                    children[
+                        Shape {
+                            appearance USE wandkleur
+                            geometry 	Box {
+                                size	0.07 2.68 3.57
+                            }
 
-		16, 47, 52, 21, -1,
+                        }
+                    ]
+                    translation		3.155	4.05 -7.215
+                }
 
-		3, 21, 52, 71, -1, 
+                DEF stukmuur4 Transform {
+                    children[
+                        Shape {
+                            appearance USE wandkleur
+                            geometry 	Box {
+                                size	0.07 2.50 2.85
+                            }
+
+                        }
+                    ]
+                    translation		3.155	4.05 -1.705
+                }
 
-		20, 2, 72, 51, -1,
+                DEF stukmuur5 Transform {
+                    children[
+                        Shape {
+                            appearance USE wandkleur
+                            geometry 	Box {
+                                size	0.42 2.50 0.07
+                            }
+
+                        }
+                    ]
+                    translation		3.4	4.05 -2.325
+                }
 
-		2, 27, 73, 72, -1,
+                DEF stukmuur6 Transform {
+                    children[
+                        Shape {
+                            appearance USE wandkleur
+                            geometry 	Box {
+                                size	0.98 2.50 0.07
+                            }
+
+                        }
+                    ]
+                    translation		4.91	4.05 -2.325
+                }
 
-		27, 32, 56, 73, -1,
+                DEF stukmuur7 Transform {
+                    children[
+                        Shape {
+                            appearance USE wandkleur
+                            geometry 	Box {
+                                size	1.34 2.50 0.07
+                            }
+
+                        }
+                    ]
+                    translation		4.73	4.05 -4.395
+                }
 
-		63, 64, 75, 76, -1,
 
-		3, 76, 75, 71, -1,
+                DEF stukmuur8 Transform {
+                    children[
+                        Shape {
+                            appearance USE wandkleur
+                            geometry 	Box {
+                                size	0.07 2.50 1.2
+                            }
 
-		#27, 32, 69, 65, -1,
-		27, 65, 69, 32, -1,
+                        }
+                    ]
+                    translation		4.025	4.05 -4.96
+                }
 
-		32, 69, 70, 56, -1,
+                DEF vulstukvoortrap Transform {
+                    children [
+                        Shape {
+                            appearance USE wandkleur
+
+                            geometry IndexedFaceSet {
+                                color             NULL
+                                coord  Coordinate {	#default NULL
+                                    point [
+                                        4.42	2.7	-2.36,
+                                        4.42	2.7	-3.36,
+                                        4.42	2.8	-3.36,
+                                        4.42	2.8	-2.36,
+                                    ]
+                                }
+                                normal            NULL
+                                texCoord          NULL
+                                ccw               TRUE
+                                colorIndex        []
+                                colorPerVertex    TRUE
+                                convex            TRUE
+                                coordIndex  [
+                                    0, 1, 2, 3, -1,
+                                    0, 3, 2, 1, -1,
+                                ]     #default []
+                                creaseAngle       0
+                                normalIndex       []
+                                normalPerVertex   TRUE
+                                solid             TRUE
+                                texCoordIndex     []
+                            }
+                        }
+                    ]
+                }
 
-		59, 17, 16, -1,
 
-		59, 61, 17, -1,
 
-		17, 61 , 18. -1,
+                DEF paalvoortrap Transform {
+                    children[
+                        Shape {
+                            appearance 	USE wandkleur
+                            geometry	Box { size	0.07	2.50	0.07	}
+                        }
+                    ]
+                    translation 4.385	4.05	-3.36
+                }
 
-		18, 61, 19, -1,
+                # deuren.wrl
 
 
-]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             FALSE
-				texCoordIndex     []
-			}
-		}
-	]
-}
 
 
 
-# /buitmuur.wrl
+                #Deuren boven
+
+                #deur7
+                Transform {
+                    children[
+
+                        #dwarslat boven de deur
+                        DEF dwarslat Transform {
+                            children [
+                                Shape {
+                                    appearance DEF kozijn Appearance {
+                                        material         Material {
+                                            ambientIntensity  0.2
+                                            diffuseColor      0.95 0.95 0.9
+                                            emissiveColor     0 0 0
+                                            shininess         0.1
+                                            specularColor     0 0 0
+                                            transparency      0
+                                        }	texture           NULL
+                                        textureTransform  NULL
+                                    }
+                                    geometry Box { size	0.8 0.05 0.05 }
+                                }
+
+                            ]
+                            translation	0 2.035 0
+                        }
+
+
+
+                        DEF ruitjeboven Transform {
+                            children [
+                                Shape {
+                                    appearance DEF glas Appearance {
+                                        material         Material {
+                                            ambientIntensity  0.2
+                                            diffuseColor      0.6 0.6 0.9
+                                            emissiveColor     0 0 0
+                                            shininess         0.8
+                                            specularColor     1 1 1
+                                            transparency      0.7
+                                        }	texture           NULL
+                                        textureTransform  NULL
+                                    }
+                                    geometry Box { size	0.8 0.44 0.01 }
+                                }
+
+                            ]
+                            translation	0 2.28 0
+                        }#ruit boven de deur
 
-# binmuur.wrl
+                        #deur
+                        DEF deuroudersgang Transform {
+                            center -0.4 0 0
+                            children [
 
 
 
+                                DEF klikopdeur7 TouchSensor {}
+                                DEF TimeSource7 TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
+                                # Animeer het openzwaaien van de deur rond de Y as:
+                                DEF Deuropen7 OrientationInterpolator {
+                                    key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
+                                    keyValue [ 0 1 0 0, 0 1 0 -1, 0 1 0 -2, 0 1 0 -2, 0 1 0 -1, 0 1 0 0 ]
+                                }
+
+
+                                DEF deurklink # deurklink.wrl
+
+
+
+
+
+                                DEF deurklink Transform {
+                                    children [
+                                        DEF enehelft	Shape {
+                                            appearance DEF aluminium Appearance {
+                                                material         Material {
+                                                    ambientIntensity  0.2
+                                                    diffuseColor      0.4 0.4 0.5
+                                                    emissiveColor     0 0 0
+                                                    shininess         0.8
+                                                    specularColor     0.4 0.4 0.5
+                                                }
+                                                texture           NULL
+                                                textureTransform  NULL
+                                            }
+                                            geometry IndexedFaceSet {
+                                                color             NULL
+                                                coord  Coordinate {
+                                                    point [
+                                                        -0.015	0.02	0, #0
+                                                        0.015		0.02	0,
+                                                        0.02		-0.02	0,
+                                                        -0.02		-0.02	0, #3
 
-Transform {
-	children [
-		Shape {
-appearance Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      1 0.9 0.7
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {	#default NULL
-					point [
-						0.28	0	-0.28, #0 linkerbenedenhoek voorgevel
-						5.40	0	-0.28,
-						5.40	5.40	-0.28,
-						0.28	5.40	-0.28, #3 linkerbovenhoek voorgevel
-
-						3.19	0	-0.28, #4 voordeur
-						4.42	0	-0.28,
-						4.42	2.30	-0.28,
-						3.19	2.30	-0.28, #7 voordeur
-
-						4.84	1.60	-0.28, #toiletraam-8
-						5.04	1.60	-0.28,
-						5.04	2.30	-0.28,
-						4.84	2.30	-0.28, 
-
-						2.60	0.90	-0.28, #keukenraam-12
-						2.60	2.30	-0.28,
-						0.60	2.30	-0.28,
-						0.60	0.90	-0.28,
-
-						0.60	3.60	-0.28, #bovenraam-16
-						1.50	3.60	-0.28,
-						1.50	5.0	-0.28,
-						4.42	5.0	-0.28,
-						4.42	5.40	-0.28, 
-						0.60	5.40	-0.28,
-
-						0.28	8.55	-3.15, #linkergevel-22
-						0.28	2.70	-8.72,
-						0.28	0	-8.72,
+                                                        -0.01		-0.015	0.06, #4
+                                                        0.01		-0.015	0.06,
+                                                        -0.01		0.015		0.03,
+                                                        0.01		0.015		0.03,
+
+                                                        0.005		0.1		0.035, #8
+                                                        -0.005	0.1		0.035,
+                                                        -0.005	0.1		0.055,
+                                                        0.005		0.1		0.055,
+
+
+
+                                                    ]
+                                                }
+                                                normal            NULL
+                                                texCoord          NULL
+                                                ccw               TRUE
+                                                colorIndex        []
+                                                colorPerVertex    TRUE
+                                                convex            TRUE
+                                                coordIndex  [
+
+                                                    2, 3, 4, 5, -1,
+                                                    2, 5, 4, 3, -1,
+
+                                                    4, 5, 11, 10, -1,
+                                                    4, 10, 11, 5, -1,
+
+                                                    0, 1, 7, 6, -1,
+                                                    0, 6, 7, 1, -1,
+
+                                                    6, 7, 8, 9, -1,
+                                                    6, 9, 8, 7, -1,
+
+                                                    8, 9, 10, 11, -1,
+                                                    8, 11, 10, 9, -1,
+
+                                                    0, 6, 4, 3, -1,
+                                                    0, 3, 4, 6, -1,
+
+                                                    6, 9, 10, 4, -1,
+                                                    6, 4, 10, 9, -1,
+
+                                                    1, 2, 5, 7, -1,
+                                                    1, 7, 5, 2, -1,
+
+                                                    7, 5, 11, 8, -1,
+                                                    7, 8, 11, 5, -1,
 
-						5.40	8.55	-3.15, #rechtergevel-25
-						5.40	5.40	-6.30,
-						5.40	5.40	-8.72,
-						5.40	0	-8.72,
+                                                ]     #default []
+                                                creaseAngle       0
+                                                normalIndex       []
+                                                normalPerVertex   TRUE
+                                                solid             TRUE
+                                                #texCoordIndex     []
+                                            }
+                                        }#enehelft
 
-						2.25	0	-8.72, #achtergevel-29
-						2.25	0.6	-8.72,
-						4.8	0.6	-8.72,
-						4.8	5.40	-8.72,
-						1.2	0	-8.72,
-						1.2	2.70	-8.72,
+                                        Transform {
+                                            children [
 
+                                                USE enehelft
+                                            ]
+                                            rotation 0 1 0 3.1415927
+                                            translation	0 0 -0.07
+                                        }
+                                        Transform {
 
-						3.19	0	-0.14, #diepte van de voordeur-35
-						4.42	0	-0.14,
-						4.42	2.30	-0.14,
-						3.19	2.30	-0.14, #diepte van de voordeur-38
+                                            children [
+                                                DEF vlakdeel Shape {
+                                                    appearance USE aluminium
+                                                    geometry Box { size 0.18 0.07 0.01 }
+                                                }#shape
+                                            ]
+                                            translation -0.03 0 -0.005
+                                        }
+
+                                        Transform {
+
+                                            children [
+                                                USE vlakdeel
+                                            ]
+                                            translation -0.03 0 -0.065
+                                        }
+
+
+
+                                    ]
+
+                                    translation 0.35 0 0.035
+                                    rotation 0 0 1 1.5707963
+                                }#deurklink
+
+
+
+                                # /deurklink.wrl
 
-						2.60	0.90	-0.14, # diepte van het keukenraam-39
-						2.60	2.30	-0.14,
-						0.60	2.30	-0.14,
-						0.60	0.90	-0.14,
 
-						4.84	1.60	-0.14, #diepte van het toiletraam-43
-						5.04	1.60	-0.14,
-						5.04	2.30	-0.14,
-						4.84	2.30	-0.14, 
+                                DEF deurvorm Shape {
+                                    appearance DEF deurkleur Appearance {
+                                        material         Material {
+                                            ambientIntensity  0.2
+                                            diffuseColor      0.8 0.8 0.8
+                                            emissiveColor     0 0 0
+                                            shininess         0.1
+                                            specularColor     0 0 0
+                                            transparency      0
+                                        }	texture           NULL
+                                        textureTransform  NULL
+                                    }
+                                    geometry Box { size	0.8 2 0.05 }
+                                }]
+                            translation	0 1.005 0
+                        }
+
+                    ]
+                    translation 3.155 2.8 -3.53
+                    rotation 0 1 0 1.5707963
+                }
 
-						0.60	3.60	-0.14, #diepte van het bovenraam-47
-						1.50	3.60	-0.14,
-						1.50	5.0	-0.14,
-						4.42	5.0	-0.14,
-						4.42	5.40	-0.14, 
-						0.60	5.40	-0.14, #52
+                ROUTE klikopdeur7.touchTime TO TimeSource7.startTime
+                ROUTE TimeSource7.fraction_changed TO Deuropen7.set_fraction
+                ROUTE Deuropen7.value_changed TO deuroudersgang.rotation
+
+                #deur8
+                Transform {
+                    children[ 	USE dwarslat
+                        USE ruitjeboven
+
+                        #deur
+                        DEF deurtweedeslaapkamergang Transform {
+                            center -0.4 0 0
+                            children [
+
+
+
+                                DEF klikopdeur8 TouchSensor {}
+                                DEF TimeSource8 TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
+                                # Animeer het openzwaaien van de deur rond de Y as:
+                                DEF Deuropen8 OrientationInterpolator {
+                                    key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
+                                    keyValue [ 0 1 0 0, 0 1 0 -1, 0 1 0 -2, 0 1 0 -2, 0 1 0 -1, 0 1 0 0 ]
+                                }
+                                USE deurklink
+                                USE deurvorm
+                            ]
+                            translation	0 1.005 0
+                        }
+
+                    ]
+                    translation 3.155 2.8 -5.03
+                    rotation 0 1 0 -1.5707963
+                }
 
-						2.25	0	-8.86, #diepte van de achtergevel-53
-						2.25	0.6	-8.86,
-						4.8	0.6	-8.86,
-						4.8	5.40	-8.86,
-						1.2	0	-8.86,
-						1.2	2.70	-8.86,	#58
+                ROUTE klikopdeur8.touchTime TO TimeSource8.startTime
+                ROUTE TimeSource8.fraction_changed TO Deuropen8.set_fraction
+                ROUTE Deuropen8.value_changed TO deurtweedeslaapkamergang.rotation
 
-						0.28	5.40	0,	#59 hoekpunt voor dakvorm zolder
-						5.40	5.40	0,
-						0.28	5.40	-6.30, #61
-						0.28	2.70	-9.0,  #62 hoekpunt voor dakvorm 1e verdieping
 
-						0.28	2.7	-0.28, #63 extra punten voor segmentering boven
-						0.14	2.7	-0.14,
+                #deur9
+                Transform {
+                    children[ 	USE dwarslat
+                        USE ruitjeboven
 
-						5.4	2.7	-0.28, #65
-						5.54	2.7	-0.14, #
+                        #deur
+                        DEF deurkinderkamergang Transform {
+                            center -0.4 0 0
+                            children [
 
-						0.28	2.7	-8.72, #67
-						0.14	2.7	-8.86, #
 
-						5.4	2.7	-8.72, #69
-						5.54	2.7	-8.86, #
 
-						1.2	2.7	-8.72, #71
-						1.2	2.7	-8.86, #
+                                DEF klikopdeur9 TouchSensor {}
+                                DEF TimeSource9 TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
+                                # Animeer het openzwaaien van de deur rond de Y as:
+                                DEF Deuropen9 OrientationInterpolator {
+                                    key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
+                                    keyValue [ 0 1 0 0, 0 1 0 -1, 0 1 0 -2, 0 1 0 -2, 0 1 0 -1, 0 1 0 0 ]
+                                }
+                                USE deurklink
+                                USE deurvorm
+                            ]
+                            translation	0 1.005 0
+                        }
 
-						4.8	2.7	-8.72, #73
-						4.8	2.7	-8.86, #
+                    ]
+                    translation 3.59 2.8 -5.465
+                    rotation 0 1 0 3.1415927
+                }
 
-						0.14	5.4	-0.14, #75
-						5.54	5.4	-0.14, #76
-						5.54	5.4	-8.86, #77
-						0.14	2.7	-9, #78
-						0.14	5.4	-6.3, #79
+                ROUTE klikopdeur9.touchTime TO TimeSource9.startTime
+                ROUTE TimeSource9.fraction_changed TO Deuropen9.set_fraction
+                ROUTE Deuropen9.value_changed TO deurkinderkamergang.rotation
 
-					]
-				}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [
 
+                #deur10
+                Transform {
+                    children[ 	USE dwarslat
+                        USE ruitjeboven
 
+                        #deur
+                        DEF deurbadkamergang Transform {
+                            center -0.4 0 0
+                            children [
 
-		16, 21, 3, 63, -1,
 
-		19, 2, 20, -1,
 
-		63, 16, 17, 65, -1,
+                                DEF klikopdeur10 TouchSensor {}
+                                DEF TimeSource10 TimeSensor { cycleInterval 20.0 } # Run once for 20 sec.
+                                # Animeer het openzwaaien van de deur rond de Y as:
+                                DEF Deuropen10 OrientationInterpolator {
+                                    key      [ 0,      0.025,	0.05,	0.95,	0.975,       1.0 ]
+                                    keyValue [ 0 1 0 0, 0 1 0 -1, 0 1 0 -2, 0 1 0 -2, 0 1 0 -1, 0 1 0 0 ]
+                                }
+                                USE deurklink
+                                USE deurvorm
+                            ]
+                            translation	0 1.005 0
+                        }
 
-		17, 18, 19, 65, -1,
+                    ]
+                    translation 4.01 2.8 -2.325
+                    rotation 0 1 0 0
+                }
 
-		2, 19, 65, -1,
 
-		69, 27, 2, 65, -1, 
 
-		63, 3, 61, 62, -1,
+                ROUTE klikopdeur10.touchTime TO TimeSource10.startTime
+                ROUTE TimeSource10.fraction_changed TO Deuropen10.set_fraction
+                ROUTE Deuropen10.value_changed TO deurbadkamergang.rotation
 
-		16, 47, 48, 17, -1,
 
-		17, 48, 49, 18, -1,
+                # /deuren.wrl
 
-		18, 49, 50, 19, -1, 
+                # trapboven.wrl
+
+
+
+
+
+
+
+
+                DEF trapboven Transform {
+                    children [
+                        Shape {
+                            appearance Appearance {
+                                material          Material {
+                                    ambientIntensity  0.2
+                                    diffuseColor      1 0.5 0.3
+                                    emissiveColor     0 0 0
+                                    shininess         0.1
+                                    specularColor     0 0 0
+                                    transparency      0
+                                }	texture           NULL
+                                textureTransform  NULL
+                            }
+                            geometry DEF trap2 IndexedFaceSet {
+                                color             NULL
+                                coord  Coordinate {	#default NULL
+                                    point [
+                                        -0.2	0	1, #0
+                                        0	0.2	1,
+                                        0	0.2	0,
+                                        -0.2	0	0, #3
+
+                                        0.28	0.4	1, #4
+                                        0.6	0.6	1,
+                                        0.98	0.8	1,
+                                        0.98	1	0.45, #7
+
+                                        0.98	1.2	0.25, #8
+                                        0.98	1.4	0,
+                                        0.98	1.6	-0.25,
+                                        0.98	1.8	-0.45, #11
+
+                                        0.98	2.0	-1, #12
+                                        0.6	2.2	-1,
+                                        0.28	2.4	-1,
+                                        0	2.6	-1, #15
+
+                                        0	0.6	0, #16
+                                        0	0.8	0,
+                                        0	1	0, #18
+                                        0	1.2	0, #19
+
+                                        0	1.4	0, #20
+                                        0	1.6	0,
+                                        0	1.8	0, #22
+                                        0	2	0, #23
+
+                                        0	2.2	0, #24
+                                        0	2.4	0,
+                                        0	2.6	0,
+                                        0	2.8	0,  #27
+
+                                        -0.2	0.2	1, #28
+                                        0	0.4	1,
+                                        0	0.4	0,
+                                        -0.2	0.2	0, #31
+
+                                        0.28	0.6	1, #32
+                                        0.6	0.8	1,
+                                        0.98	1	1,
+                                        0.98	1.2	0.45, #35
+
+                                        0.98	1.4	0.25, #36
+                                        0.98	1.6	0,
+                                        0.98	1.8	-0.25,
+                                        0.98	2	-0.45, #39
+
+                                        0.98	2.2	-1, #40
+                                        0.6	2.4	-1,
+                                        0.28	2.6	-1,
+                                        0	2.8	-1, #43
+
+                                        0	0	1,
+                                        0	0	0, #45
+                                        0	0.4	0, #46
+
+                                    ]
+                                }
+                                normal            NULL
+                                texCoord          NULL
+                                ccw               TRUE
+                                colorIndex        []
+                                colorPerVertex    TRUE
+                                convex            TRUE
+                                coordIndex  [
+
+                                    28, 1, 2, 31, -1, #1e_treevlak
+                                    29, 4, 46, -1, #2e
+                                    32, 5, 16, -1,
+                                    33, 6, 17, -1,
+                                    34, 7, 18, -1,
+                                    35, 8, 19, -1,
+                                    36, 9, 20, -1,
+                                    37, 10, 21, -1,
+                                    38, 11, 22, -1,
+                                    39, 12, 23, -1,
+                                    40, 13, 24, -1,
+                                    41, 14, 25, -1,
+                                    42, 15, 26, -1, #13e_treevlak
+
+                                    #	0, 28, 31, 3, -1, #voor_en_zijvlakken_van_de_eerste_tree_komt_boven_niet_voor
+                                    #	0, 44, 1, 28, -1,
+                                    #	3, 31, 2, 45, -1,
+
+                                    2, 1, 29, 30, -1, #alle_voorvlakken
+                                    46, 4, 32, 16, -1,
+                                    16, 5, 33, 17, -1,
+                                    17, 6, 34, 18, -1,
+                                    18, 7, 35, 19, -1,
+                                    19, 8, 36, 20, -1,
+                                    20, 9, 37, 21, -1,
+                                    21, 10, 38, 22, -1,
+                                    22, 11, 39, 23, -1,
+                                    23, 12, 40, 24, -1,
+                                    24, 13, 41, 25, -1,
+                                    25, 14, 42, 26, -1,
+                                    26, 15, 43, 27, -1,
+
+
+
+
+                                ]     #default []
+                                creaseAngle       0
+                                normalIndex       []
+                                normalPerVertex   TRUE
+                                solid             FALSE
+                                texCoordIndex     []
+                            }
+                        }
+                    ]
+                    translation 4.42	2.6	-3.36
+                }
 
-		19, 50, 51, 20, -1, 
 
-		21, 52, 47, 16, -1,
+                # /trapboven.wrl
+
+                # buitmuur.wrl
+
+
+
+
+                Transform {
+                    children [
+                        Shape {
+                            appearance DEF steen Appearance {
+                                material         Material {
+                                    ambientIntensity  0.2
+                                    diffuseColor      0.8 0.4 0.3
+                                    emissiveColor     0 0 0
+                                    shininess         0.1
+                                    specularColor     0 0 0
+                                    transparency      0
+                                }	texture           NULL
+                                textureTransform  NULL
+                            }
+                            geometry IndexedFaceSet {
+                                color             NULL
+                                coord  Coordinate {	#default NULL
+                                    point [
+                                        0	0	0, #linkerbenedenhoek voorgevel
+                                        5.68	0	0,
+                                        5.68	5.40	0,
+                                        0	5.40	0, #linkerbovenhoek voorgevel
+
+                                        3.19	0	0, #voordeur
+                                        4.42	0	0,
+                                        4.42	2.30	0,
+                                        3.19	2.30	0, #voordeur
+
+                                        4.84	1.60	0, #toiletraam-8
+                                        5.04	1.60	0,
+                                        5.04	2.30	0,
+                                        4.84	2.30	0,
+
+                                        2.60	0.90	0, #keukenraam-12
+                                        2.60	2.30	0,
+                                        0.60	2.30	0,
+                                        0.60	0.90	0,
+
+                                        0.60	3.60	0, #bovenraam-16
+                                        1.50	3.60	0,
+                                        1.50	5.0	0,
+                                        4.42	5.0	0,
+                                        4.42	5.40	0,
+                                        0.60	5.40	0,
 
-		73, 74, 56, 32, -1,
+                                        0	8.555	-3.15, #linkergevel-22
+                                        0	2.7	-9.0,
+                                        0	0	-9.0,
 
-		69, 73, 32, 27, -1,
+                                        5.68	8.555	-3.15, #rechtergevel-25
+                                        5.68	5.40	-6.3,
+                                        5.68	5.40	-9,
+                                        5.68	0	-9.0,
 
-		3, 21, 52, 75 -1,
+                                        2.25	0	-9.0, #achtergevel-29
+                                        2.25	0.6	-9.0,
+                                        4.8	0.6	-9.0,
+                                        4.8	5.40	-9.0,
+                                        1.2	0	-9.0,
+                                        1.2	2.7	-9,
 
-		20, 2, 76, 51, -1,
 
-		3, 61, 79, 75, -1,
+                                        3.19	0	-0.14, #diepte van de voordeur-35
+                                        4.42	0	-0.14,
+                                        4.42	2.30	-0.14,
+                                        3.19	2.30	-0.14, #diepte van de voordeur-38
 
-		2, 27, 77, 76, -1,
+                                        2.60	0.90	-0.14, # diepte van het keukenraam-39
+                                        2.60	2.30	-0.14,
+                                        0.60	2.30	-0.14,
+                                        0.60	0.90	-0.14,
 
-		62, 61, 79, 78, -1,
+                                        4.84	1.60	-0.14, #diepte van het toiletraam-43
+                                        5.04	1.60	-0.14,
+                                        5.04	2.30	-0.14,
+                                        4.84	2.30	-0.14,
 
-		27, 32, 56, 77, -1,
+                                        0.60	3.60	-0.14, #diepte van het bovenraam-47
+                                        1.50	3.60	-0.14,
+                                        1.50	5.0	-0.14,
+                                        4.42	5.0	-0.14,
+                                        4.42	5.40	-0.14,
+                                        0.60	5.40	-0.14, #52
 
+                                        2.25	0	-8.86, #diepte van de achtergevel-53
+                                        2.25	0.6	-8.86,
+                                        4.8	0.6	-8.86,
+                                        4.8	5.40	-8.86,
+                                        1.2	0	-8.86,
+                                        1.2	2.7	-8.86,	#58
 
+                                        0	2.7	0, #59 extra punten voor segmentering beneden
+                                        0.14	2.7	-0.14,
 
-]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             FALSE
-				texCoordIndex     []
-			}
-		}
-	]
-}
+                                        5.68	2.7	0, #61
+                                        5.54	2.7	-0.14, #
 
+                                        0	2.7	-9, #63
+                                        0.14	2.7	-8.86, #
 
+                                        5.68	2.7	-9, #65
+                                        5.54	2.7	-8.86, #
 
-# /binmuur.wrl
+                                        1.2	2.7	-9, #67
+                                        1.2	2.7	-8.86, #
 
-# ramen.wrl
+                                        4.8	2.7	-9, #69
+                                        4.8	2.7	-8.86, #
 
+                                        0.14	5.4	-0.14, #71
+                                        5.54	5.4	-0.14, #72
+                                        5.54	5.4	-8.86, #73
+                                        0.14	2.7	-9, #74
+                                        0.14	5.4	-6.3, #75
+                                        0	5.4	-6.3, #76
 
+                                    ]
+                                }
+                                normal            NULL
+                                texCoord          NULL
+                                ccw               TRUE
+                                colorIndex        []
+                                colorPerVertex    TRUE
+                                convex            TRUE
+                                coordIndex  [
+                                    16, 21, 3, 59, -1,
 
+                                    19, 2, 20, -1,
 
+                                    2, 19, 61, -1,
 
+                                    65, 27, 2, 61, -1,
 
-#begin bovenraam
+                                    59, 3, 76, 23, -1,
 
-Transform {
-	children [
-		Shape {
-appearance DEF kozijn Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      0.95 0.95 0.9
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
+                                    17, 48, 47, 16, -1,
 
-geometry	Box { size	3.82 0.05 0.05 }
-}
+                                    18, 49, 48, 17, -1,
 
-]
-translation	2.51 5.025 -0.14
-}
+                                    19, 50, 49, 18, -1,
 
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	3.82 0.1 0.05 }
-}
+                                    20, 51, 50, 19, -1,
 
-]
-translation	2.51 5.35 -0.14
-}
+                                    16, 47, 52, 21, -1,
 
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	0.05 1.8 0.05 }
-}
+                                    3, 21, 52, 71, -1,
 
-]
-translation	0.625 4.5 -0.14
-}
+                                    20, 2, 72, 51, -1,
 
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	0.05 1.8 0.05 }
-}
+                                    2, 27, 73, 72, -1,
 
-]
-translation	1.475 4.5 -0.14
-}
+                                    27, 32, 56, 73, -1,
 
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	0.05 0.25 0.05 }
-}
+                                    63, 64, 75, 76, -1,
 
-]
-translation	4.395 5.175 -0.14
-}
+                                    3, 76, 75, 71, -1,
 
-Transform {
-	children [
-		Shape {
-appearance DEF blauw Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      0.3 0.4 0.7
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
+                                    #27, 32, 69, 65, -1,
+                                    27, 65, 69, 32, -1,
 
-geometry	Box { size	0.9 0.25 0.05 }
-}
+                                    32, 69, 70, 56, -1,
 
-]
-translation	3.05 5.175 -0.14
-}
+                                    59, 17, 16, -1,
 
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	0.9 0.05 0.05 }
-}
+                                    59, 61, 17, -1,
 
-]
-translation	1.05 3.625 -0.14
-}
+                                    17, 61 , 18, -1,
 
-#einde bovenraam
-#begin kozijnen achter
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	0.05 2.4 0.05 }
-}
+                                    18, 61, 19, -1,
 
-]
-translation	3.215 3.9 -8.86
-}
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	0.05 2.4 0.05 }
-}
 
-]
-translation	4.775 3.9 -8.86
-}
-Transform {
-	children [
-		Shape {
-appearance	USE blauw 
-geometry	Box { size	1.61 0.3 0.05 }
-}
+                                ]     #default []
+                                creaseAngle       0
+                                normalIndex       []
+                                normalPerVertex   TRUE
+                                solid             FALSE
+                                texCoordIndex     []
+                            }
+                        }
+                    ]
+                }
 
-]
-translation	3.995 5.25 -8.86
-}
-Transform {
-	children [
-		Shape {
-appearance	USE blauw 
-geometry	Box { size	1.51 0.8 0.05 }
-}
 
-]
-translation	3.995 3.1 -8.86
-}
 
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	1.51 0.05 0.05 }
-}
+                # /buitmuur.wrl
+
+                # binmuur.wrl
+
+
+
+
+                Transform {
+                    children [
+                        Shape {
+                            appearance Appearance {
+                                material         Material {
+                                    ambientIntensity  0.2
+                                    diffuseColor      1 0.9 0.7
+                                    emissiveColor     0 0 0
+                                    shininess         0.1
+                                    specularColor     0 0 0
+                                    transparency      0
+                                }	texture           NULL
+                                textureTransform  NULL
+                            }
+                            geometry IndexedFaceSet {
+                                color             NULL
+                                coord  Coordinate {	#default NULL
+                                    point [
+                                        0.28	0	-0.28, #0 linkerbenedenhoek voorgevel
+                                        5.40	0	-0.28,
+                                        5.40	5.40	-0.28,
+                                        0.28	5.40	-0.28, #3 linkerbovenhoek voorgevel
+
+                                        3.19	0	-0.28, #4 voordeur
+                                        4.42	0	-0.28,
+                                        4.42	2.30	-0.28,
+                                        3.19	2.30	-0.28, #7 voordeur
+
+                                        4.84	1.60	-0.28, #toiletraam-8
+                                        5.04	1.60	-0.28,
+                                        5.04	2.30	-0.28,
+                                        4.84	2.30	-0.28,
+
+                                        2.60	0.90	-0.28, #keukenraam-12
+                                        2.60	2.30	-0.28,
+                                        0.60	2.30	-0.28,
+                                        0.60	0.90	-0.28,
+
+                                        0.60	3.60	-0.28, #bovenraam-16
+                                        1.50	3.60	-0.28,
+                                        1.50	5.0	-0.28,
+                                        4.42	5.0	-0.28,
+                                        4.42	5.40	-0.28,
+                                        0.60	5.40	-0.28,
 
-]
-translation	3.995 3.525 -8.86
-}#3
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	1.51 0.05 0.05 }
-}
+                                        0.28	8.55	-3.15, #linkergevel-22
+                                        0.28	2.70	-8.72,
+                                        0.28	0	-8.72,
 
-]
-translation	3.995 5.075 -8.86
-}#4
+                                        5.40	8.55	-3.15, #rechtergevel-25
+                                        5.40	5.40	-6.30,
+                                        5.40	5.40	-8.72,
+                                        5.40	0	-8.72,
 
+                                        2.25	0	-8.72, #achtergevel-29
+                                        2.25	0.6	-8.72,
+                                        4.8	0.6	-8.72,
+                                        4.8	5.40	-8.72,
+                                        1.2	0	-8.72,
+                                        1.2	2.70	-8.72,
 
 
+                                        3.19	0	-0.14, #diepte van de voordeur-35
+                                        4.42	0	-0.14,
+                                        4.42	2.30	-0.14,
+                                        3.19	2.30	-0.14, #diepte van de voordeur-38
 
+                                        2.60	0.90	-0.14, # diepte van het keukenraam-39
+                                        2.60	2.30	-0.14,
+                                        0.60	2.30	-0.14,
+                                        0.60	0.90	-0.14,
 
+                                        4.84	1.60	-0.14, #diepte van het toiletraam-43
+                                        5.04	1.60	-0.14,
+                                        5.04	2.30	-0.14,
+                                        4.84	2.30	-0.14,
 
+                                        0.60	3.60	-0.14, #diepte van het bovenraam-47
+                                        1.50	3.60	-0.14,
+                                        1.50	5.0	-0.14,
+                                        4.42	5.0	-0.14,
+                                        4.42	5.40	-0.14,
+                                        0.60	5.40	-0.14, #52
 
-Transform {
-	children [
-		Shape {
-appearance	USE kozijn 
-geometry	Box { size	0.05 1.5 0.05 }
-}
+                                        2.25	0	-8.86, #diepte van de achtergevel-53
+                                        2.25	0.6	-8.86,
+                                        4.8	0.6	-8.86,
+                                        4.8	5.40	-8.86,
+                                        1.2	0	-8.86,
+                                        1.2	2.70	-8.86,	#58
 
-]
-translation	3.565 4.3 -8.86
-}
+                                        0.28	5.40	0,	#59 hoekpunt voor dakvorm zolder
+                                        5.40	5.40	0,
+                                        0.28	5.40	-6.30, #61
+                                        0.28	2.70	-9.0,  #62 hoekpunt voor dakvorm 1e verdieping
 
+                                        0.28	2.7	-0.28, #63 extra punten voor segmentering boven
+                                        0.14	2.7	-0.14,
 
+                                        5.4	2.7	-0.28, #65
+                                        5.54	2.7	-0.14, #
 
-#einde ramen achter
+                                        0.28	2.7	-8.72, #67
+                                        0.14	2.7	-8.86, #
 
+                                        5.4	2.7	-8.72, #69
+                                        5.54	2.7	-8.86, #
 
+                                        1.2	2.7	-8.72, #71
+                                        1.2	2.7	-8.86, #
 
-# /ramen.wrl
+                                        4.8	2.7	-8.72, #73
+                                        4.8	2.7	-8.86, #
 
-# ruiten.wrl
+                                        0.14	5.4	-0.14, #75
+                                        5.54	5.4	-0.14, #76
+                                        5.54	5.4	-8.86, #77
+                                        0.14	2.7	-9, #78
+                                        0.14	5.4	-6.3, #79
 
+                                    ]
+                                }
+                                normal            NULL
+                                texCoord          NULL
+                                ccw               TRUE
+                                colorIndex        []
+                                colorPerVertex    TRUE
+                                convex            TRUE
+                                coordIndex  [
 
 
 
+                                    16, 21, 3, 63, -1,
 
+                                    19, 2, 20, -1,
 
-#bovenruiten
-Transform {
-	children [
-		Shape {
-appearance DEF glas Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      0.6 0.6 0.9
-	emissiveColor     0 0 0
-	shininess         0.8
-	specularColor     1 1 1 
-	transparency      0.7
-}	texture           NULL
-	textureTransform  NULL
-}
+                                    63, 16, 17, 65, -1,
 
-			geometry Box { size	0.8 1.35 0.01 }
-}
+                                    17, 18, 19, 65, -1,
 
-]
-translation	1.05 4.325 -0.14
-}#ruit 1 boven
+                                    2, 19, 65, -1,
 
-Transform {
-	children [
-		Shape {
-appearance USE glas
-			geometry Box { size	0.8 0.3 0.01 }
-}
+                                    69, 27, 2, 65, -1,
 
-]
-translation	1.05 5.2 -0.14
-}#ruit 2 boven
+                                    63, 3, 61, 62, -1,
 
-Transform {
-	children [
-		Shape {
-appearance USE glas
-			geometry Box { size	1.1 0.3 0.01 }
-}
+                                    16, 47, 48, 17, -1,
 
-]
-translation	2.05 5.2 -0.14
-}#ruit 3 boven
+                                    17, 48, 49, 18, -1,
 
-Transform {
-	children [
-		Shape {
-appearance USE glas
-			geometry Box { size	0.85 0.3 0.01 }
-}
+                                    18, 49, 50, 19, -1,
 
-]
-translation	3.935 5.2 -0.14
-}#ruit 4 boven
+                                    19, 50, 51, 20, -1,
 
+                                    21, 52, 47, 16, -1,
 
+                                    73, 74, 56, 32, -1,
 
-#ramen achter
-Transform {
-	children [
-		Shape {
-appearance USE glas
-			geometry Box { size	1.16 1.5 0.01 }
-}
+                                    69, 73, 32, 27, -1,
 
-]
-translation	4.17 4.3 -8.86
-}#ruit 1 achter
+                                    3, 21, 52, 75 -1,
 
-Transform {
-	children [
-		Shape {
-appearance USE glas
-			geometry Box { size	0.3 1.5 0.01 }
-}
+                                    20, 2, 76, 51, -1,
 
-]
-translation	3.39 4.3 -8.86
-}#ruit 2 achter
+                                    3, 61, 79, 75, -1,
 
+                                    2, 27, 77, 76, -1,
 
+                                    62, 61, 79, 78, -1,
 
-# /ruiten.wrl
+                                    27, 32, 56, 77, -1,
 
-# /boven/boven.wrl
 
 
+                                ]     #default []
+                                creaseAngle       0
+                                normalIndex       []
+                                normalPerVertex   TRUE
+                                solid             FALSE
+                                texCoordIndex     []
+                            }
+                        }
+                    ]
+                }
 
-DEF zolder Transform {
-children[
 
-Transform {
-children[
 
-Transform{
-children[
-	Shape {
-appearance USE groen
-geometry USE pijl
-}
-]
-rotation 0 1 0 3.1415927
-}
+                # /binmuur.wrl
 
-DEF schuifzolder TouchSensor {}
-]
-translation 0.15 5.4 0.3
-}
+                # ramen.wrl
 
-Transform {
-children[
 
-	Shape {
-appearance USE rood
-geometry USE pijl
-}
 
-DEF schuifzolder2 TouchSensor {}
-]
-translation 5.48 5.4 0.3
-}
 
-DEF dak Transform {
-children [
-# dak/dak.wrl
 
 
+                #begin bovenraam
 
+                Transform {
+                    children [
+                        Shape {
+                            appearance DEF kozijn Appearance {
+                                material         Material {
+                                    ambientIntensity  0.2
+                                    diffuseColor      0.95 0.95 0.9
+                                    emissiveColor     0 0 0
+                                    shininess         0.1
+                                    specularColor     0 0 0
+                                    transparency      0
+                                }	texture           NULL
+                                textureTransform  NULL
+                            }
 
-Transform {
-	children [
-		Shape {
-appearance Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      0.3 0.4 0.5
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {	#default NULL
-					point [
-					0	5.4	0, #dakranden-0
-					5.68	5.4	0,
-					5.68	8.55	-3.15,
-					0	8.55	-3.15,
-					0	2.7	-9,
-					3.12	2.7	-9,
-					3.12	5.4	-6.30,
-					5.68	5.4	-6.30, #7
-
-					1.5	3.7	-8, #dakraam1-8
-					2.3	3.7	-8,
-					2.3	4.7	-7,
-					1.5	4.7	-7,
-
-					4.1	7.3	-1.9,  #dakraam2-12
-					3.5	7.3	-1.9, 
-					3.5	7.7	-2.3, 
-					4.1	7.7	-2.3, #15
-
-					0	5.44	0.04, #dikte van dakranden-16
-					5.68	5.44	0.04,
-					5.68	8.6065685	-3.15,
-					0	8.6065685	-3.15,
-					0	2.74	-9.04,
-					3.12	2.74	-9.04,
-					3.12	5.44	-6.34,
-					5.68	5.44	-6.34, #23	
-
-					1.5	3.74	-8.04, #dikte van het dakraam1-24
-					2.3	3.74	-8.04,
-					2.3	4.74	-7.04,
-					1.5	4.74	-7.04, #27	
+                            geometry	Box { size	3.82 0.05 0.05 }
+                        }
 
-					4.1	7.34	-1.86,  #dikte van het dakraam2-28
-					3.5	7.34	-1.86, 
-					3.5	7.74	-2.26,
-					4.1	7.74	-2.26, #31
-			
-					]
-				}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [
+                    ]
+                    translation	2.51 5.025 -0.14
+                }
 
+                Transform {
+                    children [
+                        Shape {
+                            appearance	USE kozijn
+                            geometry	Box { size	3.82 0.1 0.05 }
+                        }
 
-	0, 13, 14, 3, -1,
-	0, 3, 14, 13, -1,
+                    ]
+                    translation	2.51 5.35 -0.14
+                }
 
-	16, 29, 30, 19, -1,
-	16, 19, 30, 29, -1,
+                Transform {
+                    children [
+                        Shape {
+                            appearance	USE kozijn
+                            geometry	Box { size	0.05 1.8 0.05 }
+                        }
 
-	0, 1, 12, 13, -1, 
-	0, 13, 12, 1, -1,
+                    ]
+                    translation	0.625 4.5 -0.14
+                }
 
-	16, 17, 28, 29, -1,
-	16, 29, 28, 17, -1,
+                Transform {
+                    children [
+                        Shape {
+                            appearance	USE kozijn
+                            geometry	Box { size	0.05 1.8 0.05 }
+                        }
 
-	1, 12, 15, 2, -1, 
-	1, 2, 15, 12, -1,
+                    ]
+                    translation	1.475 4.5 -0.14
+                }
 
-	17, 28, 31, 18, -1,
-	17, 18, 31, 28, -1,
+                Transform {
+                    children [
+                        Shape {
+                            appearance	USE kozijn
+                            geometry	Box { size	0.05 0.25 0.05 }
+                        }
 
-	15, 2, 3, 14, -1, 
-	15, 14, 3, 2, -1,
+                    ]
+                    translation	4.395 5.175 -0.14
+                }
 
-	31, 18, 19, 30, -1,
-	31, 30, 19, 18, -1,
-	
-	4, 8, 11, 3, -1, 
-	4, 3, 11, 8, -1, 
+                Transform {
+                    children [
+                        Shape {
+                            appearance DEF blauw Appearance {
+                                material         Material {
+                                    ambientIntensity  0.2
+                                    diffuseColor      0.3 0.4 0.7
+                                    emissiveColor     0 0 0
+                                    shininess         0.1
+                                    specularColor     0 0 0
+                                    transparency      0
+                                }	texture           NULL
+                                textureTransform  NULL
+                            }
+
+                            geometry	Box { size	0.9 0.25 0.05 }
+                        }
+
+                    ]
+                    translation	3.05 5.175 -0.14
+                }
 
-	20, 24, 27, 19, -1,
-	20, 19, 27, 24, -1,
+                Transform {
+                    children [
+                        Shape {
+                            appearance	USE kozijn
+                            geometry	Box { size	0.9 0.05 0.05 }
+                        }
 
-	5, 4, 8, 9, -1, 
-	5, 9, 8, 4, -1, 
+                    ]
+                    translation	1.05 3.625 -0.14
+                }
 
-	21, 20, 24, 25, -1,
-	21, 25, 24, 20, -1, 
+                #einde bovenraam
+                #begin kozijnen achter
+                Transform {
+                    children [
+                        Shape {
+                            appearance	USE kozijn
+                            geometry	Box { size	0.05 2.4 0.05 }
+                        }
+
+                    ]
+                    translation	3.215 3.9 -8.86
+                }
+                Transform {
+                    children [
+                        Shape {
+                            appearance	USE kozijn
+                            geometry	Box { size	0.05 2.4 0.05 }
+                        }
+
+                    ]
+                    translation	4.775 3.9 -8.86
+                }
+                Transform {
+                    children [
+                        Shape {
+                            appearance	USE blauw
+                            geometry	Box { size	1.61 0.3 0.05 }
+                        }
+
+                    ]
+                    translation	3.995 5.25 -8.86
+                }
+                Transform {
+                    children [
+                        Shape {
+                            appearance	USE blauw
+                            geometry	Box { size	1.51 0.8 0.05 }
+                        }
+
+                    ]
+                    translation	3.995 3.1 -8.86
+                }
 
-	5, 9, 10, 6, -1,
-	5, 6, 10, 9, -1,
+                Transform {
+                    children [
+                        Shape {
+                            appearance	USE kozijn
+                            geometry	Box { size	1.51 0.05 0.05 }
+                        }
 
-	21, 25, 26, 22, -1,
-	21, 22, 26, 25, -1,
+                    ]
+                    translation	3.995 3.525 -8.86
+                }#3
+                Transform {
+                    children [
+                        Shape {
+                            appearance	USE kozijn
+                            geometry	Box { size	1.51 0.05 0.05 }
+                        }
 
-	7, 6, 2, -1, 
-	7, 2, 6, -1,
+                    ]
+                    translation	3.995 5.075 -8.86
+                }#4
 
-	23, 22, 18, -1,
-	23, 18, 22, -1,
 
-	6, 10, 11, 3, 2, -1,
-	6, 2, 3, 11, 10, -1,
 
-	22, 26, 18, -1,
-	22, 18, 26, -1,
 
-	26, 27, 19, -1,
-	26, 19, 27, -1, 
 
-	26, 19, 18, -1,
-	26, 18, 19, -1,
 
-	0, 1, 17, 16, -1,
-	0, 16, 17, 1, -1,
 
-	1, 2, 18, 17, -1,
-	1, 17, 18, 2, -1, 
+                Transform {
+                    children [
+                        Shape {
+                            appearance	USE kozijn
+                            geometry	Box { size	0.05 1.5 0.05 }
+                        }
 
-	3, 0, 16, 19, -1, 
-	3, 19, 16, 0, -1,
+                    ]
+                    translation	3.565 4.3 -8.86
+                }
 
-	2, 7, 23, 18, -1,
-	2, 18, 23, 7, -1, 
 
-	7, 6, 22, 23, -1, 
-	7, 23, 22, 6, -1,
 
-	5, 6, 22, 21, -1, 
-	5, 21, 22, 6, -1,
+                #einde ramen achter
 
-	5, 4, 20, 21, -1,
-	5, 21, 20, 4, -1,
 
-	4, 3, 19, 20, -1, 
-	4, 20, 19, 3, -1,
 
-	9, 8, 24, 25, -1,
-	9, 25, 24, 8, -1,
+                # /ramen.wrl
 
-	8, 11, 27, 24, -1,
-	8, 24, 27, 11, -1,
+                # ruiten.wrl
 
-	10, 11, 27, 26, -1,
-	10, 26, 27, 11, -1,
 
-	9, 10, 26, 25, -1, 
-	9, 25, 26, 10, -1,
 
-	12, 13, 29, 28, -1,
-	12, 28, 29, 13, -1,
 
-	12, 15, 31, 28, -1, 
-	12, 28, 31, 15, -1,
 
-	14, 15, 31, 30, -1, 
-	14, 30, 31, 15, -1,
 
-	13, 14, 30, 29, -1,
-	13, 29, 30, 14, -1,
+                #bovenruiten
+                Transform {
+                    children [
+                        Shape {
+                            appearance DEF glas Appearance {
+                                material         Material {
+                                    ambientIntensity  0.2
+                                    diffuseColor      0.6 0.6 0.9
+                                    emissiveColor     0 0 0
+                                    shininess         0.8
+                                    specularColor     1 1 1
+                                    transparency      0.7
+                                }	texture           NULL
+                                textureTransform  NULL
+                            }
 
+                            geometry Box { size	0.8 1.35 0.01 }
+                        }
 
+                    ]
+                    translation	1.05 4.325 -0.14
+                }#ruit 1 boven
 
+                Transform {
+                    children [
+                        Shape {
+                            appearance USE glas
+                            geometry Box { size	0.8 0.3 0.01 }
+                        }
 
-]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             TRUE
-				texCoordIndex     []
-			}
-		}
-	]
-}
+                    ]
+                    translation	1.05 5.2 -0.14
+                }#ruit 2 boven
 
+                Transform {
+                    children [
+                        Shape {
+                            appearance USE glas
+                            geometry Box { size	1.1 0.3 0.01 }
+                        }
 
-#schoorsteen
-
-Transform {
-	children [
-		Shape {
-appearance Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      0.1 0.1 0.1
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0.3 0.3 0.3
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {	#default NULL
-					point [
-		4.8	8	-2.6,
-		5.3	8	-2.6,
-		5.3	8.4	-3.0,
-		4.8	8.4	-3.0,
-
-		4.9	9.4	-2.65,
-		5.2	9.4	-2.65,
-		5.2	9.4	-2.95,	
-		4.9	9.4	-2.95, ]
-	}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [
-		0, 1, 5, 4, -1, 
-		0, 4, 5, 1, -1, 
-
-		1, 2, 6, 5, -1, 
-		1, 5, 6, 2, -1,
-
-		2, 3, 7, 6, -1,
-		2, 6, 7, 3, -1,
-
-		0, 3, 7, 4, -1,
-		0, 4, 7, 3, -1, 
-
-		4, 5, 6, 7, -1, 
-		4, 7, 6, 5, -1,
-
-
-]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             TRUE
-				texCoordIndex     []
-			}
-		}
-	]
-}
+                    ]
+                    translation	2.05 5.2 -0.14
+                }#ruit 3 boven
 
+                Transform {
+                    children [
+                        Shape {
+                            appearance USE glas
+                            geometry Box { size	0.85 0.3 0.01 }
+                        }
 
+                    ]
+                    translation	3.935 5.2 -0.14
+                }#ruit 4 boven
 
 
 
+                #ramen achter
+                Transform {
+                    children [
+                        Shape {
+                            appearance USE glas
+                            geometry Box { size	1.16 1.5 0.01 }
+                        }
 
-# /dak/dak.wrl
+                    ]
+                    translation	4.17 4.3 -8.86
+                }#ruit 1 achter
 
-Transform {
-children[
+                Transform {
+                    children [
+                        Shape {
+                            appearance USE glas
+                            geometry Box { size	0.3 1.5 0.01 }
+                        }
 
+                    ]
+                    translation	3.39 4.3 -8.86
+                }#ruit 2 achter
 
-Transform{
-children[
 
-	Shape {
-appearance USE groen
-geometry USE pijl
-}
 
-]
-rotation 0 1 0 3.1415927
-}
+                # /ruiten.wrl
 
-DEF schuifdak TouchSensor {}
+                # /boven/boven.wrl
+
+
+
+                DEF zolder Transform {
+                    children[
+
+                        Transform {
+                            children[
+
+                                Transform{
+                                    children[
+                                        Shape {
+                                            appearance USE groen
+                                            geometry USE pijl
+                                        }
+                                    ]
+                                    rotation 0 1 0 3.1415927
+                                }
+
+                                DEF schuifzolder TouchSensor {}
+                            ]
+                            translation 0.15 5.4 0.3
+                        }
+
+                        Transform {
+                            children[
+
+                                Shape {
+                                    appearance USE rood
+                                    geometry USE pijl
+                                }
+
+                                DEF schuifzolder2 TouchSensor {}
+                            ]
+                            translation 5.48 5.4 0.3
+                        }
+
+                        DEF dak Transform {
+                            children [
+                                # dak/dak.wrl
+
+
+
+
+                                Transform {
+                                    children [
+                                        Shape {
+                                            appearance Appearance {
+                                                material         Material {
+                                                    ambientIntensity  0.2
+                                                    diffuseColor      0.3 0.4 0.5
+                                                    emissiveColor     0 0 0
+                                                    shininess         0.1
+                                                    specularColor     0 0 0
+                                                    transparency      0
+                                                }	texture           NULL
+                                                textureTransform  NULL
+                                            }
+                                            geometry IndexedFaceSet {
+                                                color             NULL
+                                                coord  Coordinate {	#default NULL
+                                                    point [
+                                                        0	5.4	0, #dakranden-0
+                                                        5.68	5.4	0,
+                                                        5.68	8.55	-3.15,
+                                                        0	8.55	-3.15,
+                                                        0	2.7	-9,
+                                                        3.12	2.7	-9,
+                                                        3.12	5.4	-6.30,
+                                                        5.68	5.4	-6.30, #7
 
-]
-translation 0.15 6 0.3
-}
+                                                        1.5	3.7	-8, #dakraam1-8
+                                                        2.3	3.7	-8,
+                                                        2.3	4.7	-7,
+                                                        1.5	4.7	-7,
 
+                                                        4.1	7.3	-1.9,  #dakraam2-12
+                                                        3.5	7.3	-1.9,
+                                                        3.5	7.7	-2.3,
+                                                        4.1	7.7	-2.3, #15
 
-Transform {
-children[
+                                                        0	5.44	0.04, #dikte van dakranden-16
+                                                        5.68	5.44	0.04,
+                                                        5.68	8.6065685	-3.15,
+                                                        0	8.6065685	-3.15,
+                                                        0	2.74	-9.04,
+                                                        3.12	2.74	-9.04,
+                                                        3.12	5.44	-6.34,
+                                                        5.68	5.44	-6.34, #23
 
-	Shape {
-appearance USE rood
-geometry USE pijl
-}
+                                                        1.5	3.74	-8.04, #dikte van het dakraam1-24
+                                                        2.3	3.74	-8.04,
+                                                        2.3	4.74	-7.04,
+                                                        1.5	4.74	-7.04, #27
 
-DEF schuifdak2 TouchSensor {}
-]
-translation 5.48 6 0.3
-}
+                                                        4.1	7.34	-1.86,  #dikte van het dakraam2-28
+                                                        3.5	7.34	-1.86,
+                                                        3.5	7.74	-2.26,
+                                                        4.1	7.74	-2.26, #31
 
-DEF tijd1 TimeSensor {
-	cycleInterval 4
-	enabled       TRUE
-	loop          FALSE
-	startTime     0
-	stopTime      0
-}
+                                                    ]
+                                                }
+                                                normal            NULL
+                                                texCoord          NULL
+                                                ccw               TRUE
+                                                colorIndex        []
+                                                colorPerVertex    TRUE
+                                                convex            TRUE
+                                                coordIndex  [
 
-DEF plaats1 PositionInterpolator {
-	key           [0, 1]
-	keyValue      [0 0 0 ,6 0 0]
-}
 
-DEF tijd1a TimeSensor {
-	cycleInterval 4
-	enabled       TRUE
-	loop          FALSE
-	startTime     0
-	stopTime      0
-}
+                                                    0, 13, 14, 3, -1,
+                                                    0, 3, 14, 13, -1,
 
-DEF plaats1a PositionInterpolator {
-	key           [0, 1]
-	keyValue      [6 0 0 ,0 0 0]
-}
+                                                    16, 29, 30, 19, -1,
+                                                    16, 19, 30, 29, -1,
 
+                                                    0, 1, 12, 13, -1,
+                                                    0, 13, 12, 1, -1,
 
+                                                    16, 17, 28, 29, -1,
+                                                    16, 29, 28, 17, -1,
 
-]
-}#dak
+                                                    1, 12, 15, 2, -1,
+                                                    1, 2, 15, 12, -1,
 
-# zolder/zolder.wrl
+                                                    17, 28, 31, 18, -1,
+                                                    17, 18, 31, 28, -1,
 
+                                                    15, 2, 3, 14, -1,
+                                                    15, 14, 3, 2, -1,
 
+                                                    31, 18, 19, 30, -1,
+                                                    31, 30, 19, 18, -1,
 
-Viewpoint {
-	fieldOfView    1
-	jump           TRUE
-	orientation    1 0 0  0
-	position       2.5 7 -3.15
+                                                    4, 8, 11, 3, -1,
+                                                    4, 3, 11, 8, -1,
 
-	description    "op zolder"
-}
+                                                    20, 24, 27, 19, -1,
+                                                    20, 19, 27, 24, -1,
 
-#kleine platte dakje
-
-Transform {
-children [
-Shape {
-appearance DEF appdak Appearance {
-	 material          Material {
-  	ambientIntensity  0
-  	diffuseColor      0.2 0.2 0.2
-  	emissiveColor     0 0 0
-  	shininess         0
-  	specularColor     0 0 0 
-  	transparency      0
-			  }
-
-  texture           ImageTexture {
-  			  url     [""]
-  			  repeatS TRUE
-  			  repeatT TRUE
- 			  }
-}
-geometry Box { size 2.6 0.04 2.74	}
-}
-]
-translation 4.39 5.40 -7.67
-}
+                                                    5, 4, 8, 9, -1,
+                                                    5, 9, 8, 4, -1,
 
+                                                    21, 20, 24, 25, -1,
+                                                    21, 25, 24, 20, -1,
 
-DEF zoldervloer Transform {
-	children [
-		Shape {
-appearance Appearance {
-	material          Material {
-	ambientIntensity  0.2
-	diffuseColor      1 0.5 0.3
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {	#default NULL
-					point [
-						0.14	5.40	0,
-						5.54	5.40	0,
-						5.54	5.40	-6.30,
-						0.14	5.40	-6.30,
-
-						5.54	5.40	-2.36, #-4
-						5.54	5.40	-4.36,
-						4.42	5.40	-4.36,
-						4.42	5.40	-2.36,
-
-
-					]
-				}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [
-		0, 1, 4, 7, -1, 
-		0, 7, 4, 1, -1, 
-
-		0, 7, 6, 3, -1,
-		0, 3, 6, 7, -1, 
-
-		5, 2, 3, 6, -1, 
-		5, 6, 3, 2, -1,
-]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             TRUE
-				texCoordIndex     []
-			}
-		}
-	]
-}
+                                                    5, 9, 10, 6, -1,
+                                                    5, 6, 10, 9, -1,
 
-DEF plafondboven Transform {
-	children [
-		Shape {
-appearance Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      1 1 1 
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {	#default NULL
-					point [
-						0.14	5.30	-0.14,
-						5.54	5.30	-0.14,
-						5.54	5.30	-8.86,
-						3.19	5.30	-8.86,
-
-						5.54	5.30	-2.36, #-4
-						5.54	5.30	-4.36,
-						4.42	5.30	-4.36,
-						4.42	5.30	-2.36,
-
-						3.19	5.30	-6.40,
-						0.14	5.30	-6.40,
-					]
-				}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [
-		0, 1, 4, 7, -1, 
-		0, 7, 4, 1, -1, 
-
-		0, 7, 6, 8, 9, -1,
-		0, 9, 8, 6, 7, -1, 
-
-		5, 2, 3, 8, 6, -1, 
-		5, 6, 8, 3, 2, -1,
-]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             TRUE
-				texCoordIndex     []
-			}
-		}
-	]
-}
+                                                    21, 25, 26, 22, -1,
+                                                    21, 22, 26, 25, -1,
 
+                                                    7, 6, 2, -1,
+                                                    7, 2, 6, -1,
 
+                                                    23, 22, 18, -1,
+                                                    23, 18, 22, -1,
 
-DEF vulstukvoortrap Transform {
-	children [
-		Shape {
-appearance DEF wandkleur Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      1 0.9 0.7
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
+                                                    6, 10, 11, 3, 2, -1,
+                                                    6, 2, 3, 11, 10, -1,
 
+                                                    22, 26, 18, -1,
+                                                    22, 18, 26, -1,
 
-			geometry IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {	#default NULL
-					point [
-						4.42	5.3	-2.36, #0
-						4.42	5.3	-3.36, 
-						4.42	5.4	-3.36,
-						4.42	5.4	-2.36, #3
-
-						5.4	5.3	-2.36, #4
-						5.4	5.4	-2.36,
-
-						5.4	5.3	-4.36, #6
-						5.4	5.4	-4.36,
-						4.42	5.3	-4.36, #8
-						4.42	5.4	-4.36,
-				
-				
-					]
-				}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [
-	0, 1, 2, 3, -1,
-	0, 3, 2, 1, -1,
-	0, 3, 5, 4, -1,
-	9, 8, 6, 7, -1,
-
-]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             FALSE
-				texCoordIndex     []
-			}
-		}
-
-]
-}
+                                                    26, 27, 19, -1,
+                                                    26, 19, 27, -1,
 
-# ballustrade.wrl
+                                                    26, 19, 18, -1,
+                                                    26, 18, 19, -1,
 
+                                                    0, 1, 17, 16, -1,
+                                                    0, 16, 17, 1, -1,
 
+                                                    1, 2, 18, 17, -1,
+                                                    1, 17, 18, 2, -1,
 
-Transform {
-children[
+                                                    3, 0, 16, 19, -1,
+                                                    3, 19, 16, 0, -1,
 
-DEF spijlen Group {
-children [
-Transform{
-children [
-DEF spijl Shape {
-appearance DEF kozijn Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      0.95 0.95 0.9
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-geometry  Cylinder {
-				bottom  FALSE
-				height  0.8
-				radius  0.015
-				side    TRUE
-				top     FALSE
-			}
-}
-]
-translation -0.025	0.4	0.05
-}
+                                                    2, 7, 23, 18, -1,
+                                                    2, 18, 23, 7, -1,
 
-Transform{
-children USE spijl
-translation -0.025	0.4	0.15
-}
-Transform{
-children USE spijl
-translation -0.025	0.4	0.25
-}
-Transform{
-children USE spijl
-translation -0.025	0.4	0.35
-}
-Transform{
-children USE spijl
-translation -0.025	0.4	0.45
-}
-Transform{
-children USE spijl
-translation -0.025	0.4	0.55
-}
-Transform{
-children USE spijl
-translation -0.025	0.4	0.65
-}
-Transform{
-children USE spijl
-translation -0.025	0.4	0.75
-}
-Transform{
-children USE spijl
-translation -0.025	0.4	0.85
-}
-Transform{
-children USE spijl
-translation -0.025	0.4	0.95
-}
+                                                    7, 6, 22, 23, -1,
+                                                    7, 23, 22, 6, -1,
 
-]
-}#spijlengroup
+                                                    5, 6, 22, 21, -1,
+                                                    5, 21, 22, 6, -1,
 
-Transform{
-translation 0 0 1
-rotation 0 1 0 1.5707963
-children USE spijlen
-}
+                                                    5, 4, 20, 21, -1,
+                                                    5, 21, 20, 4, -1,
 
-Transform{
-children [
-Shape {
-appearance USE  kozijn
-geometry  Box { size 0.05	0.03	1.05	}
-}
-]
-translation -0.025	0.815	0.525
-}
+                                                    4, 3, 19, 20, -1,
+                                                    4, 20, 19, 3, -1,
 
-Transform{
-children [
-Shape {
-appearance USE  kozijn
-geometry  Box { size 1	0.03	0.05	}
-}
-]
-translation 0.5	0.815	1.025
-}
+                                                    9, 8, 24, 25, -1,
+                                                    9, 25, 24, 8, -1,
 
+                                                    8, 11, 27, 24, -1,
+                                                    8, 24, 27, 11, -1,
 
-]
-translation	4.42	5.4	-3.36
-}
+                                                    10, 11, 27, 26, -1,
+                                                    10, 26, 27, 11, -1,
 
-# /ballustrade.wrl
+                                                    9, 10, 26, 25, -1,
+                                                    9, 25, 26, 10, -1,
 
-# binmuur.wrl
+                                                    12, 13, 29, 28, -1,
+                                                    12, 28, 29, 13, -1,
 
+                                                    12, 15, 31, 28, -1,
+                                                    12, 28, 31, 15, -1,
 
+                                                    14, 15, 31, 30, -1,
+                                                    14, 30, 31, 15, -1,
 
+                                                    13, 14, 30, 29, -1,
+                                                    13, 29, 30, 14, -1,
 
-Transform {
-	children [
-		Shape {
-appearance Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      1 0.9 0.7
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {	#default NULL
-					point [
-						0.28	0	-0.28, #0 linkerbenedenhoek voorgevel
-						5.40	0	-0.28,
-						5.40	5.40	-0.28,
-						0.28	5.40	-0.28, #3 linkerbovenhoek voorgevel
-
-						3.19	0	-0.28, #4 voordeur
-						4.42	0	-0.28,
-						4.42	2.30	-0.28,
-						3.19	2.30	-0.28, #7 voordeur
-
-						4.84	1.60	-0.28, #toiletraam-8
-						5.04	1.60	-0.28,
-						5.04	2.30	-0.28,
-						4.84	2.30	-0.28, 
-
-						2.60	0.90	-0.28, #keukenraam-12
-						2.60	2.30	-0.28,
-						0.60	2.30	-0.28,
-						0.60	0.90	-0.28,
-
-						0.60	3.60	-0.28, #bovenraam-16
-						1.50	3.60	-0.28,
-						1.50	5.0	-0.28,
-						4.42	5.0	-0.28,
-						4.42	5.40	-0.28, 
-						0.60	5.40	-0.28,
-
-						0.28	8.55	-3.15, #linkergevel-22
-						0.28	2.70	-8.72,
-						0.28	0	-8.72,
-
-						5.40	8.55	-3.15, #rechtergevel-25
-						5.40	5.40	-6.30,
-						5.40	5.40	-8.72,
-						5.40	0	-8.72,
-
-						2.25	0	-8.72, #achtergevel-29
-						2.25	0.6	-8.72,
-						4.8	0.6	-8.72,
-						4.8	5.40	-8.72,
-						1.2	0	-8.72,
-						1.2	2.70	-8.72,
-
-
-						3.19	0	-0.14, #diepte van de voordeur-35
-						4.42	0	-0.14,
-						4.42	2.30	-0.14,
-						3.19	2.30	-0.14, #diepte van de voordeur-38
-
-						2.60	0.90	-0.14, # diepte van het keukenraam-39
-						2.60	2.30	-0.14,
-						0.60	2.30	-0.14,
-						0.60	0.90	-0.14,
-
-						4.84	1.60	-0.14, #diepte van het toiletraam-43
-						5.04	1.60	-0.14,
-						5.04	2.30	-0.14,
-						4.84	2.30	-0.14, 
-
-						0.60	3.60	-0.14, #diepte van het bovenraam-47
-						1.50	3.60	-0.14,
-						1.50	5.0	-0.14,
-						4.42	5.0	-0.14,
-						4.42	5.40	-0.14, 
-						0.60	5.40	-0.14, #52
-
-						2.25	0	-8.86, #diepte van de achtergevel-53
-						2.25	0.6	-8.86,
-						4.8	0.6	-8.86,
-						4.8	5.40	-8.86,
-						1.2	0	-8.86,
-						1.2	2.70	-8.86,	#58
-
-						0.28	5.40	0,	#59 hoekpunt voor dakvorm zolder
-						5.40	5.40	0,
-						0.28	5.40	-6.30, #61
-						0.28	2.70	-9.0,  #62 hoekpunt voor dakvorm 1e verdieping
-
-						0.14	5.40	0,	#63 extra punten voor segmentering
-						5.54	5.40	0,
-						0.14	5.40	-6.30, 
-						5.54	5.40	-6.3,  #66
-						5.54	8.55	-3.15, #rechtergevel-67
-						0.14	8.55	-3.15, #linkergevel-68
-					]
-				}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [
-	
-		59, 22, 61, -1,
-		60, 25, 26, -1,
-
-		59, 63, 68, 22, -1,
-		68, 22, 61, 65, -1,
-
-		60, 64, 67, 25, -1, 
-		25, 67, 66, 26, -1,
-
-		
-
-]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             FALSE
-				texCoordIndex     []
-			}
-		}
-	]
-}
 
 
 
-# /binmuur.wrl
+                                                ]     #default []
+                                                creaseAngle       0
+                                                normalIndex       []
+                                                normalPerVertex   TRUE
+                                                solid             TRUE
+                                                texCoordIndex     []
+                                            }
+                                        }
+                                    ]
+                                }
 
-# buitmuur.wrl
 
+                                #schoorsteen
 
+                                Transform {
+                                    children [
+                                        Shape {
+                                            appearance Appearance {
+                                                material         Material {
+                                                    ambientIntensity  0.2
+                                                    diffuseColor      0.1 0.1 0.1
+                                                    emissiveColor     0 0 0
+                                                    shininess         0.1
+                                                    specularColor     0.3 0.3 0.3
+                                                    transparency      0
+                                                }	texture           NULL
+                                                textureTransform  NULL
+                                            }
+                                            geometry IndexedFaceSet {
+                                                color             NULL
+                                                coord  Coordinate {	#default NULL
+                                                    point [
+                                                        4.8	8	-2.6,
+                                                        5.3	8	-2.6,
+                                                        5.3	8.4	-3.0,
+                                                        4.8	8.4	-3.0,
 
+                                                        4.9	9.4	-2.65,
+                                                        5.2	9.4	-2.65,
+                                                        5.2	9.4	-2.95,
+                                                        4.9	9.4	-2.95, ]
+                                                }
+                                                normal            NULL
+                                                texCoord          NULL
+                                                ccw               TRUE
+                                                colorIndex        []
+                                                colorPerVertex    TRUE
+                                                convex            TRUE
+                                                coordIndex  [
+                                                    0, 1, 5, 4, -1,
+                                                    0, 4, 5, 1, -1,
 
-Transform {
-	children [
-		Shape {
-appearance DEF steen Appearance {
-	material         Material {
-	ambientIntensity  0.2
-	diffuseColor      0.8 0.4 0.3
-	emissiveColor     0 0 0
-	shininess         0.1
-	specularColor     0 0 0
-	transparency      0
-}	texture           NULL
-	textureTransform  NULL
-}
-			geometry IndexedFaceSet {
-				color             NULL
-				coord  Coordinate {	#default NULL
-					point [
-						0	0	0, #linkerbenedenhoek voorgevel
-						5.68	0	0,
-						5.68	5.40	0,
-						0	5.40	0, #linkerbovenhoek voorgevel
-
-						3.19	0	0, #voordeur
-						4.42	0	0,
-						4.42	2.30	0,
-						3.19	2.30	0, #voordeur
-
-						4.84	1.60	0, #toiletraam-8
-						5.04	1.60	0,
-						5.04	2.30	0,
-						4.84	2.30	0, 
-
-						2.60	0.90	0, #keukenraam-12
-						2.60	2.30	0,
-						0.60	2.30	0,
-						0.60	0.90	0,
-
-						0.60	3.60	0, #bovenraam-16
-						1.50	3.60	0,
-						1.50	5.0	0,
-						4.42	5.0	0,
-						4.42	5.40	0, 
-						0.60	5.40	0,
-
-						0	8.555	-3.15, #linkergevel-22
-						0	2.7	-9.0,
-						0	0	-9.0,
-
-						5.68	8.555	-3.15, #rechtergevel-25
-						5.68	5.40	-6.3,
-						5.68	5.40	-9,
-						5.68	0	-9.0,
-
-						2.25	0	-9.0, #achtergevel-29
-						2.25	0.6	-9.0,
-						4.8	0.6	-9.0,
-						4.8	5.40	-9.0,
-						1.2	0	-9.0,
-						1.2	2.7	-9,
-
-
-						3.19	0	-0.14, #diepte van de voordeur-35
-						4.42	0	-0.14,
-						4.42	2.30	-0.14,
-						3.19	2.30	-0.14, #diepte van de voordeur-38
-
-						2.60	0.90	-0.14, # diepte van het keukenraam-39
-						2.60	2.30	-0.14,
-						0.60	2.30	-0.14,
-						0.60	0.90	-0.14,
-
-						4.84	1.60	-0.14, #diepte van het toiletraam-43
-						5.04	1.60	-0.14,
-						5.04	2.30	-0.14,
-						4.84	2.30	-0.14, 
-
-						0.60	3.60	-0.14, #diepte van het bovenraam-47
-						1.50	3.60	-0.14,
-						1.50	5.0	-0.14,
-						4.42	5.0	-0.14,
-						4.42	5.40	-0.14, 
-						0.60	5.40	-0.14, #52
-
-						2.25	0	-8.86, #diepte van de achtergevel-53
-						2.25	0.6	-8.86,
-						4.8	0.6	-8.86,
-						4.8	5.40	-8.86,
-						1.2	0	-8.86,
-						1.2	2.7	-8.86,	#58
-
-						0.14	5.40	0,	#59 extra punten voor segmentering
-						5.54	5.40	0,
-						0.14	5.40	-6.30, 
-						5.54	5.40	-6.3,  #62
-						5.54	8.55	-3.15, #rechtergevel-63
-						0.14	8.55	-3.15, #linkergevel-64
-						0 	5.4	-6.3,
-					]
-				}
-				normal            NULL
-				texCoord          NULL
-				ccw               TRUE
-				colorIndex        []
-				colorPerVertex    TRUE
-				convex            TRUE
-				coordIndex  [
-	3, 22, 65, -1,
-	2, 26, 25, -1,
-
-	3, 59, 64, 22, -1,
-	61, 65, 22, 64, -1,
-
-	60, 2, 25, 63, -1,
-	63, 25, 26, 62, -1,
-
-
-]     #default []
-				creaseAngle       0
-				normalIndex       []
-				normalPerVertex   TRUE
-				solid             FALSE
-				texCoordIndex     []
-			}
-		}
-	]
-}
+                                                    1, 2, 6, 5, -1,
+                                                    1, 5, 6, 2, -1,
 
+                                                    2, 3, 7, 6, -1,
+                                                    2, 6, 7, 3, -1,
 
+                                                    0, 3, 7, 4, -1,
+                                                    0, 4, 7, 3, -1,
 
-# /buitmuur.wrl
+                                                    4, 5, 6, 7, -1,
+                                                    4, 7, 6, 5, -1,
 
-# /zolder/zolder.wrl
 
-DEF tijd2 TimeSensor {
-	cycleInterval 4
-	enabled       TRUE
-	loop          FALSE
-	startTime     0
-	stopTime      0
-}
+                                                ]     #default []
+                                                creaseAngle       0
+                                                normalIndex       []
+                                                normalPerVertex   TRUE
+                                                solid             TRUE
+                                                texCoordIndex     []
+                                            }
+                                        }
+                                    ]
+                                }
 
-DEF plaats2 PositionInterpolator {
-	key           [0, 1]
-	keyValue      [0 0 0 ,6 0 0]
-}
 
-DEF tijd2a TimeSensor {
-	cycleInterval 4
-	enabled       TRUE
-	loop          FALSE
-	startTime     0
-	stopTime      0
-}
 
-DEF plaats2a PositionInterpolator {
-	key           [0, 1]
-	keyValue      [6 0 0 ,0 0 0]
-}
 
 
 
-]
-}#zolder
+                                # /dak/dak.wrl
 
-DEF tijd3 TimeSensor {
-	cycleInterval 4
-	enabled       TRUE
-	loop          FALSE
-	startTime     0
-	stopTime      0
-}
+                                Transform {
+                                    children[
+
+
+                                        Transform{
+                                            children[
+
+                                                Shape {
+                                                    appearance USE groen
+                                                    geometry USE pijl
+                                                }
+
+                                            ]
+                                            rotation 0 1 0 3.1415927
+                                        }
+
+                                        DEF schuifdak TouchSensor {}
+
+                                    ]
+                                    translation 0.15 6 0.3
+                                }
+
+
+                                Transform {
+                                    children[
+
+                                        Shape {
+                                            appearance USE rood
+                                            geometry USE pijl
+                                        }
+
+                                        DEF schuifdak2 TouchSensor {}
+                                    ]
+                                    translation 5.48 6 0.3
+                                }
+
+                                DEF tijd1 TimeSensor {
+                                    cycleInterval 4
+                                    enabled       TRUE
+                                    loop          FALSE
+                                    startTime     0
+                                    stopTime      0
+                                }
+
+                                DEF plaats1 PositionInterpolator {
+                                    key           [0, 1]
+                                    keyValue      [0 0 0 ,6 0 0]
+                                }
+
+                                DEF tijd1a TimeSensor {
+                                    cycleInterval 4
+                                    enabled       TRUE
+                                    loop          FALSE
+                                    startTime     0
+                                    stopTime      0
+                                }
+
+                                DEF plaats1a PositionInterpolator {
+                                    key           [0, 1]
+                                    keyValue      [6 0 0 ,0 0 0]
+                                }
+
+
+
+                            ]
+                        }#dak
+
+                        # zolder/zolder.wrl
+
+
+
+                        Viewpoint {
+                            fieldOfView    1
+                            jump           TRUE
+                            orientation    1 0 0  0
+                            position       2.5 7 -3.15
+
+                            description    "op zolder"
+                        }
+
+                        #kleine platte dakje
+
+                        Transform {
+                            children [
+                                Shape {
+                                    appearance DEF appdak Appearance {
+                                        material          Material {
+                                            ambientIntensity  0
+                                            diffuseColor      0.2 0.2 0.2
+                                            emissiveColor     0 0 0
+                                            shininess         0
+                                            specularColor     0 0 0
+                                            transparency      0
+                                        }
+
+                                        texture           ImageTexture {
+                                            url     [""]
+                                            repeatS TRUE
+                                            repeatT TRUE
+                                        }
+                                    }
+                                    geometry Box { size 2.6 0.04 2.74	}
+                                }
+                            ]
+                            translation 4.39 5.40 -7.67
+                        }
+
+
+                        DEF zoldervloer Transform {
+                            children [
+                                Shape {
+                                    appearance Appearance {
+                                        material          Material {
+                                            ambientIntensity  0.2
+                                            diffuseColor      1 0.5 0.3
+                                            emissiveColor     0 0 0
+                                            shininess         0.1
+                                            specularColor     0 0 0
+                                            transparency      0
+                                        }	texture           NULL
+                                        textureTransform  NULL
+                                    }
+                                    geometry IndexedFaceSet {
+                                        color             NULL
+                                        coord  Coordinate {	#default NULL
+                                            point [
+                                                0.14	5.40	0,
+                                                5.54	5.40	0,
+                                                5.54	5.40	-6.30,
+                                                0.14	5.40	-6.30,
+
+                                                5.54	5.40	-2.36, #-4
+                                                5.54	5.40	-4.36,
+                                                4.42	5.40	-4.36,
+                                                4.42	5.40	-2.36,
+
+
+                                            ]
+                                        }
+                                        normal            NULL
+                                        texCoord          NULL
+                                        ccw               TRUE
+                                        colorIndex        []
+                                        colorPerVertex    TRUE
+                                        convex            TRUE
+                                        coordIndex  [
+                                            0, 1, 4, 7, -1,
+                                            0, 7, 4, 1, -1,
+
+                                            0, 7, 6, 3, -1,
+                                            0, 3, 6, 7, -1,
+
+                                            5, 2, 3, 6, -1,
+                                            5, 6, 3, 2, -1,
+                                        ]     #default []
+                                        creaseAngle       0
+                                        normalIndex       []
+                                        normalPerVertex   TRUE
+                                        solid             TRUE
+                                        texCoordIndex     []
+                                    }
+                                }
+                            ]
+                        }
+
+                        DEF plafondboven Transform {
+                            children [
+                                Shape {
+                                    appearance Appearance {
+                                        material         Material {
+                                            ambientIntensity  0.2
+                                            diffuseColor      1 1 1
+                                            emissiveColor     0 0 0
+                                            shininess         0.1
+                                            specularColor     0 0 0
+                                            transparency      0
+                                        }	texture           NULL
+                                        textureTransform  NULL
+                                    }
+                                    geometry IndexedFaceSet {
+                                        color             NULL
+                                        coord  Coordinate {	#default NULL
+                                            point [
+                                                0.14	5.30	-0.14,
+                                                5.54	5.30	-0.14,
+                                                5.54	5.30	-8.86,
+                                                3.19	5.30	-8.86,
+
+                                                5.54	5.30	-2.36, #-4
+                                                5.54	5.30	-4.36,
+                                                4.42	5.30	-4.36,
+                                                4.42	5.30	-2.36,
+
+                                                3.19	5.30	-6.40,
+                                                0.14	5.30	-6.40,
+                                            ]
+                                        }
+                                        normal            NULL
+                                        texCoord          NULL
+                                        ccw               TRUE
+                                        colorIndex        []
+                                        colorPerVertex    TRUE
+                                        convex            TRUE
+                                        coordIndex  [
+                                            0, 1, 4, 7, -1,
+                                            0, 7, 4, 1, -1,
+
+                                            0, 7, 6, 8, 9, -1,
+                                            0, 9, 8, 6, 7, -1,
+
+                                            5, 2, 3, 8, 6, -1,
+                                            5, 6, 8, 3, 2, -1,
+                                        ]     #default []
+                                        creaseAngle       0
+                                        normalIndex       []
+                                        normalPerVertex   TRUE
+                                        solid             TRUE
+                                        texCoordIndex     []
+                                    }
+                                }
+                            ]
+                        }
+
+
+
+                        DEF vulstukvoortrap Transform {
+                            children [
+                                Shape {
+                                    appearance DEF wandkleur Appearance {
+                                        material         Material {
+                                            ambientIntensity  0.2
+                                            diffuseColor      1 0.9 0.7
+                                            emissiveColor     0 0 0
+                                            shininess         0.1
+                                            specularColor     0 0 0
+                                            transparency      0
+                                        }	texture           NULL
+                                        textureTransform  NULL
+                                    }
+
+
+                                    geometry IndexedFaceSet {
+                                        color             NULL
+                                        coord  Coordinate {	#default NULL
+                                            point [
+                                                4.42	5.3	-2.36, #0
+                                                4.42	5.3	-3.36,
+                                                4.42	5.4	-3.36,
+                                                4.42	5.4	-2.36, #3
+
+                                                5.4	5.3	-2.36, #4
+                                                5.4	5.4	-2.36,
+
+                                                5.4	5.3	-4.36, #6
+                                                5.4	5.4	-4.36,
+                                                4.42	5.3	-4.36, #8
+                                                4.42	5.4	-4.36,
+
+
+                                            ]
+                                        }
+                                        normal            NULL
+                                        texCoord          NULL
+                                        ccw               TRUE
+                                        colorIndex        []
+                                        colorPerVertex    TRUE
+                                        convex            TRUE
+                                        coordIndex  [
+                                            0, 1, 2, 3, -1,
+                                            0, 3, 2, 1, -1,
+                                            0, 3, 5, 4, -1,
+                                            9, 8, 6, 7, -1,
+
+                                        ]     #default []
+                                        creaseAngle       0
+                                        normalIndex       []
+                                        normalPerVertex   TRUE
+                                        solid             FALSE
+                                        texCoordIndex     []
+                                    }
+                                }
+
+                            ]
+                        }
+
+                        # ballustrade.wrl
+
+
+
+                        Transform {
+                            children[
+
+                                DEF spijlen Group {
+                                    children [
+                                        Transform{
+                                            children [
+                                                DEF spijl Shape {
+                                                    appearance DEF kozijn Appearance {
+                                                        material         Material {
+                                                            ambientIntensity  0.2
+                                                            diffuseColor      0.95 0.95 0.9
+                                                            emissiveColor     0 0 0
+                                                            shininess         0.1
+                                                            specularColor     0 0 0
+                                                            transparency      0
+                                                        }	texture           NULL
+                                                        textureTransform  NULL
+                                                    }
+                                                    geometry  Cylinder {
+                                                        bottom  FALSE
+                                                        height  0.8
+                                                        radius  0.015
+                                                        side    TRUE
+                                                        top     FALSE
+                                                    }
+                                                }
+                                            ]
+                                            translation -0.025	0.4	0.05
+                                        }
+
+                                        Transform{
+                                            children USE spijl
+                                            translation -0.025	0.4	0.15
+                                        }
+                                        Transform{
+                                            children USE spijl
+                                            translation -0.025	0.4	0.25
+                                        }
+                                        Transform{
+                                            children USE spijl
+                                            translation -0.025	0.4	0.35
+                                        }
+                                        Transform{
+                                            children USE spijl
+                                            translation -0.025	0.4	0.45
+                                        }
+                                        Transform{
+                                            children USE spijl
+                                            translation -0.025	0.4	0.55
+                                        }
+                                        Transform{
+                                            children USE spijl
+                                            translation -0.025	0.4	0.65
+                                        }
+                                        Transform{
+                                            children USE spijl
+                                            translation -0.025	0.4	0.75
+                                        }
+                                        Transform{
+                                            children USE spijl
+                                            translation -0.025	0.4	0.85
+                                        }
+                                        Transform{
+                                            children USE spijl
+                                            translation -0.025	0.4	0.95
+                                        }
+
+                                    ]
+                                }#spijlengroup
+
+                                Transform{
+                                    translation 0 0 1
+                                    rotation 0 1 0 1.5707963
+                                    children USE spijlen
+                                }
+
+                                Transform{
+                                    children [
+                                        Shape {
+                                            appearance USE  kozijn
+                                            geometry  Box { size 0.05	0.03	1.05	}
+                                        }
+                                    ]
+                                    translation -0.025	0.815	0.525
+                                }
+
+                                Transform{
+                                    children [
+                                        Shape {
+                                            appearance USE  kozijn
+                                            geometry  Box { size 1	0.03	0.05	}
+                                        }
+                                    ]
+                                    translation 0.5	0.815	1.025
+                                }
+
+
+                            ]
+                            translation	4.42	5.4	-3.36
+                        }
+
+                        # /ballustrade.wrl
+
+                        # binmuur.wrl
+
+
+
+
+                        Transform {
+                            children [
+                                Shape {
+                                    appearance Appearance {
+                                        material         Material {
+                                            ambientIntensity  0.2
+                                            diffuseColor      1 0.9 0.7
+                                            emissiveColor     0 0 0
+                                            shininess         0.1
+                                            specularColor     0 0 0
+                                            transparency      0
+                                        }	texture           NULL
+                                        textureTransform  NULL
+                                    }
+                                    geometry IndexedFaceSet {
+                                        color             NULL
+                                        coord  Coordinate {	#default NULL
+                                            point [
+                                                0.28	0	-0.28, #0 linkerbenedenhoek voorgevel
+                                                5.40	0	-0.28,
+                                                5.40	5.40	-0.28,
+                                                0.28	5.40	-0.28, #3 linkerbovenhoek voorgevel
+
+                                                3.19	0	-0.28, #4 voordeur
+                                                4.42	0	-0.28,
+                                                4.42	2.30	-0.28,
+                                                3.19	2.30	-0.28, #7 voordeur
+
+                                                4.84	1.60	-0.28, #toiletraam-8
+                                                5.04	1.60	-0.28,
+                                                5.04	2.30	-0.28,
+                                                4.84	2.30	-0.28,
+
+                                                2.60	0.90	-0.28, #keukenraam-12
+                                                2.60	2.30	-0.28,
+                                                0.60	2.30	-0.28,
+                                                0.60	0.90	-0.28,
+
+                                                0.60	3.60	-0.28, #bovenraam-16
+                                                1.50	3.60	-0.28,
+                                                1.50	5.0	-0.28,
+                                                4.42	5.0	-0.28,
+                                                4.42	5.40	-0.28,
+                                                0.60	5.40	-0.28,
+
+                                                0.28	8.55	-3.15, #linkergevel-22
+                                                0.28	2.70	-8.72,
+                                                0.28	0	-8.72,
+
+                                                5.40	8.55	-3.15, #rechtergevel-25
+                                                5.40	5.40	-6.30,
+                                                5.40	5.40	-8.72,
+                                                5.40	0	-8.72,
+
+                                                2.25	0	-8.72, #achtergevel-29
+                                                2.25	0.6	-8.72,
+                                                4.8	0.6	-8.72,
+                                                4.8	5.40	-8.72,
+                                                1.2	0	-8.72,
+                                                1.2	2.70	-8.72,
+
+
+                                                3.19	0	-0.14, #diepte van de voordeur-35
+                                                4.42	0	-0.14,
+                                                4.42	2.30	-0.14,
+                                                3.19	2.30	-0.14, #diepte van de voordeur-38
+
+                                                2.60	0.90	-0.14, # diepte van het keukenraam-39
+                                                2.60	2.30	-0.14,
+                                                0.60	2.30	-0.14,
+                                                0.60	0.90	-0.14,
+
+                                                4.84	1.60	-0.14, #diepte van het toiletraam-43
+                                                5.04	1.60	-0.14,
+                                                5.04	2.30	-0.14,
+                                                4.84	2.30	-0.14,
+
+                                                0.60	3.60	-0.14, #diepte van het bovenraam-47
+                                                1.50	3.60	-0.14,
+                                                1.50	5.0	-0.14,
+                                                4.42	5.0	-0.14,
+                                                4.42	5.40	-0.14,
+                                                0.60	5.40	-0.14, #52
+
+                                                2.25	0	-8.86, #diepte van de achtergevel-53
+                                                2.25	0.6	-8.86,
+                                                4.8	0.6	-8.86,
+                                                4.8	5.40	-8.86,
+                                                1.2	0	-8.86,
+                                                1.2	2.70	-8.86,	#58
+
+                                                0.28	5.40	0,	#59 hoekpunt voor dakvorm zolder
+                                                5.40	5.40	0,
+                                                0.28	5.40	-6.30, #61
+                                                0.28	2.70	-9.0,  #62 hoekpunt voor dakvorm 1e verdieping
+
+                                                0.14	5.40	0,	#63 extra punten voor segmentering
+                                                5.54	5.40	0,
+                                                0.14	5.40	-6.30,
+                                                5.54	5.40	-6.3,  #66
+                                                5.54	8.55	-3.15, #rechtergevel-67
+                                                0.14	8.55	-3.15, #linkergevel-68
+                                            ]
+                                        }
+                                        normal            NULL
+                                        texCoord          NULL
+                                        ccw               TRUE
+                                        colorIndex        []
+                                        colorPerVertex    TRUE
+                                        convex            TRUE
+                                        coordIndex  [
+
+                                            59, 22, 61, -1,
+                                            60, 25, 26, -1,
+
+                                            59, 63, 68, 22, -1,
+                                            68, 22, 61, 65, -1,
+
+                                            60, 64, 67, 25, -1,
+                                            25, 67, 66, 26, -1,
+
+
+
+                                        ]     #default []
+                                        creaseAngle       0
+                                        normalIndex       []
+                                        normalPerVertex   TRUE
+                                        solid             FALSE
+                                        texCoordIndex     []
+                                    }
+                                }
+                            ]
+                        }
+
+
+
+                        # /binmuur.wrl
+
+                        # buitmuur.wrl
+
+
+
+
+                        Transform {
+                            children [
+                                Shape {
+                                    appearance DEF steen Appearance {
+                                        material         Material {
+                                            ambientIntensity  0.2
+                                            diffuseColor      0.8 0.4 0.3
+                                            emissiveColor     0 0 0
+                                            shininess         0.1
+                                            specularColor     0 0 0
+                                            transparency      0
+                                        }	texture           NULL
+                                        textureTransform  NULL
+                                    }
+                                    geometry IndexedFaceSet {
+                                        color             NULL
+                                        coord  Coordinate {	#default NULL
+                                            point [
+                                                0	0	0, #linkerbenedenhoek voorgevel
+                                                5.68	0	0,
+                                                5.68	5.40	0,
+                                                0	5.40	0, #linkerbovenhoek voorgevel
+
+                                                3.19	0	0, #voordeur
+                                                4.42	0	0,
+                                                4.42	2.30	0,
+                                                3.19	2.30	0, #voordeur
+
+                                                4.84	1.60	0, #toiletraam-8
+                                                5.04	1.60	0,
+                                                5.04	2.30	0,
+                                                4.84	2.30	0,
+
+                                                2.60	0.90	0, #keukenraam-12
+                                                2.60	2.30	0,
+                                                0.60	2.30	0,
+                                                0.60	0.90	0,
+
+                                                0.60	3.60	0, #bovenraam-16
+                                                1.50	3.60	0,
+                                                1.50	5.0	0,
+                                                4.42	5.0	0,
+                                                4.42	5.40	0,
+                                                0.60	5.40	0,
+
+                                                0	8.555	-3.15, #linkergevel-22
+                                                0	2.7	-9.0,
+                                                0	0	-9.0,
+
+                                                5.68	8.555	-3.15, #rechtergevel-25
+                                                5.68	5.40	-6.3,
+                                                5.68	5.40	-9,
+                                                5.68	0	-9.0,
+
+                                                2.25	0	-9.0, #achtergevel-29
+                                                2.25	0.6	-9.0,
+                                                4.8	0.6	-9.0,
+                                                4.8	5.40	-9.0,
+                                                1.2	0	-9.0,
+                                                1.2	2.7	-9,
+
+
+                                                3.19	0	-0.14, #diepte van de voordeur-35
+                                                4.42	0	-0.14,
+                                                4.42	2.30	-0.14,
+                                                3.19	2.30	-0.14, #diepte van de voordeur-38
+
+                                                2.60	0.90	-0.14, # diepte van het keukenraam-39
+                                                2.60	2.30	-0.14,
+                                                0.60	2.30	-0.14,
+                                                0.60	0.90	-0.14,
+
+                                                4.84	1.60	-0.14, #diepte van het toiletraam-43
+                                                5.04	1.60	-0.14,
+                                                5.04	2.30	-0.14,
+                                                4.84	2.30	-0.14,
+
+                                                0.60	3.60	-0.14, #diepte van het bovenraam-47
+                                                1.50	3.60	-0.14,
+                                                1.50	5.0	-0.14,
+                                                4.42	5.0	-0.14,
+                                                4.42	5.40	-0.14,
+                                                0.60	5.40	-0.14, #52
+
+                                                2.25	0	-8.86, #diepte van de achtergevel-53
+                                                2.25	0.6	-8.86,
+                                                4.8	0.6	-8.86,
+                                                4.8	5.40	-8.86,
+                                                1.2	0	-8.86,
+                                                1.2	2.7	-8.86,	#58
+
+                                                0.14	5.40	0,	#59 extra punten voor segmentering
+                                                5.54	5.40	0,
+                                                0.14	5.40	-6.30,
+                                                5.54	5.40	-6.3,  #62
+                                                5.54	8.55	-3.15, #rechtergevel-63
+                                                0.14	8.55	-3.15, #linkergevel-64
+                                                0 	5.4	-6.3,
+                                            ]
+                                        }
+                                        normal            NULL
+                                        texCoord          NULL
+                                        ccw               TRUE
+                                        colorIndex        []
+                                        colorPerVertex    TRUE
+                                        convex            TRUE
+                                        coordIndex  [
+                                            3, 22, 65, -1,
+                                            2, 26, 25, -1,
+
+                                            3, 59, 64, 22, -1,
+                                            61, 65, 22, 64, -1,
+
+                                            60, 2, 25, 63, -1,
+                                            63, 25, 26, 62, -1,
+
+
+                                        ]     #default []
+                                        creaseAngle       0
+                                        normalIndex       []
+                                        normalPerVertex   TRUE
+                                        solid             FALSE
+                                        texCoordIndex     []
+                                    }
+                                }
+                            ]
+                        }
+
+
+
+                        # /buitmuur.wrl
+
+                        # /zolder/zolder.wrl
+
+                        DEF tijd2 TimeSensor {
+                            cycleInterval 4
+                            enabled       TRUE
+                            loop          FALSE
+                            startTime     0
+                            stopTime      0
+                        }
+
+                        DEF plaats2 PositionInterpolator {
+                            key           [0, 1]
+                            keyValue      [0 0 0 ,6 0 0]
+                        }
+
+                        DEF tijd2a TimeSensor {
+                            cycleInterval 4
+                            enabled       TRUE
+                            loop          FALSE
+                            startTime     0
+                            stopTime      0
+                        }
+
+                        DEF plaats2a PositionInterpolator {
+                            key           [0, 1]
+                            keyValue      [6 0 0 ,0 0 0]
+                        }
+
+
+
+                    ]
+                }#zolder
+
+                DEF tijd3 TimeSensor {
+                    cycleInterval 4
+                    enabled       TRUE
+                    loop          FALSE
+                    startTime     0
+                    stopTime      0
+                }
 
-DEF plaats3 PositionInterpolator {
-	key           [0, 1]
-	keyValue      [0 0 0 ,6 0 0]
-}
+                DEF plaats3 PositionInterpolator {
+                    key           [0, 1]
+                    keyValue      [0 0 0 ,6 0 0]
+                }
 
-DEF tijd3a TimeSensor {
-	cycleInterval 4
-	enabled       TRUE
-	loop          FALSE
-	startTime     0
-	stopTime      0
-}
+                DEF tijd3a TimeSensor {
+                    cycleInterval 4
+                    enabled       TRUE
+                    loop          FALSE
+                    startTime     0
+                    stopTime      0
+                }
 
-DEF plaats3a PositionInterpolator {
-	key           [0, 1]
-	keyValue      [6 0 0 ,0 0 0]
-}
+                DEF plaats3a PositionInterpolator {
+                    key           [0, 1]
+                    keyValue      [6 0 0 ,0 0 0]
+                }
 
 
-]
-}#boven
+            ]
+        }#boven
 
 
 
-]
+    ]
 }
 
-#ROUTE schuifdak.touchTime TO tijd1.startTime
-#ROUTE tijd1.fraction_changed TO plaats1.set_fraction
-#ROUTE plaats1.value_changed TO dak.translation
+ROUTE schuifdak.touchTime TO tijd1.startTime
+ROUTE tijd1.fraction_changed TO plaats1.set_fraction
+ROUTE plaats1.value_changed TO dak.translation
 
-#ROUTE schuifzolder.touchTime TO tijd2.startTime
-#ROUTE tijd2.fraction_changed TO plaats2.set_fraction
-#ROUTE plaats2.value_changed TO zolder.translation
+ROUTE schuifzolder.touchTime TO tijd2.startTime
+ROUTE tijd2.fraction_changed TO plaats2.set_fraction
+ROUTE plaats2.value_changed TO zolder.translation
 
-#ROUTE schuifboven.touchTime TO tijd3.startTime
-#ROUTE tijd3.fraction_changed TO plaats3.set_fraction
-#ROUTE plaats3.value_changed TO boven.translation
+ROUTE schuifboven.touchTime TO tijd3.startTime
+ROUTE tijd3.fraction_changed TO plaats3.set_fraction
+ROUTE plaats3.value_changed TO boven.translation
 
-#ROUTE schuifdak2.touchTime TO tijd1a.startTime
-#ROUTE tijd1a.fraction_changed TO plaats1a.set_fraction
-#ROUTE plaats1a.value_changed TO dak.translation
+ROUTE schuifdak2.touchTime TO tijd1a.startTime
+ROUTE tijd1a.fraction_changed TO plaats1a.set_fraction
+ROUTE plaats1a.value_changed TO dak.translation
 
-#ROUTE schuifzolder2.touchTime TO tijd2a.startTime
-#ROUTE tijd2a.fraction_changed TO plaats2a.set_fraction
-#ROUTE plaats2a.value_changed TO zolder.translation
+ROUTE schuifzolder2.touchTime TO tijd2a.startTime
+ROUTE tijd2a.fraction_changed TO plaats2a.set_fraction
+ROUTE plaats2a.value_changed TO zolder.translation
 
-#ROUTE schuifboven2.touchTime TO tijd3a.startTime
-#ROUTE tijd3a.fraction_changed TO plaats3a.set_fraction
-#ROUTE plaats3a.value_changed TO boven.translation
+ROUTE schuifboven2.touchTime TO tijd3a.startTime
+ROUTE tijd3a.fraction_changed TO plaats3a.set_fraction
+ROUTE plaats3a.value_changed TO boven.translation
 

+ 192 - 107
examples/webgl_loader_vrml.html

@@ -1,129 +1,214 @@
 <!DOCTYPE html>
 <html lang="en">
-	<head>
-		<title>three.js webgl - loaders - vrml loader</title>
-		<meta charset="utf-8">
-		<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
-		<style>
-			body {
-				font-family: Monospace;
-				background-color: #000;
-				color: #fff;
-				margin: 0px;
-				overflow: hidden;
+<head>
+    <title>VRML loading with ThreeJs and VrmlParser</title>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+    <style>
+        body {
+            font-family: Monospace;
+            background-color: #000;
+            color: #fff;
+            margin: 0px;
+            overflow: hidden;
+        }
+
+        #info {
+            color: #fff;
+            position: absolute;
+            top: 10px;
+            width: 100%;
+            text-align: center;
+            z-index: 100;
+            display: block;
+        }
+
+        #info a, .button {
+            color: #f00;
+            font-weight: bold;
+            text-decoration: underline;
+            cursor: pointer
+        }
+
+        #viewpoints {
+            background-color: gray;
+            z-index: 101;
+            position: absolute;
+            width: 140px;
+            top: 10px;
+            left: 10px;
+            padding: 2px;
+            border: 1px solid white;
+        }
+
+        #viewpoints div {
+            width: inherit;
+        }
+    </style>
+
+</head>
+
+<body>
+<div id="info">
+    <a href="http://threejs.org" target="_blank">three.js / VrmlParser</a> -
+    vrml format loader test using VrmlParser -
+</div>
+<div id="viewpoints">
+    <h4>Viewpoints from the VRML file</h4>
+</div>
+
+<script src="../build/three.min.js"></script>
+<script src="js/libs/vrml.min.js"></script>
+
+<script src="js/loaders/VRMLLoader.js"></script>
+<script src="js/renderers/Projector.js"></script>
+<script src="js/controls/OrbitControls.js"></script>
+<script src="js/controls/FlyControls.js"></script>
+<script src="js/controls/FirstPersonControls.js"></script>
+<script src="js/controls/TrackballControls.js"></script>
+
+<script>
+
+	var container;
+
+	var camera, controls, scene, renderer, dirLight;
+
+	var animation;
+
+	// setup a clock
+	var clock = new THREE.Clock();
+
+	init();
+	animate();
+
+	function resetControls() {
+		controls             = new THREE.FlyControls(camera);
+		controls.rotateSpeed = 1;
+		controls.zoomSpeed   = 0.2;
+		controls.panSpeed    = 0.2;
+		controls.enableZoom  = true;
+		controls.enablePan   = true;
+	}
+
+	function setupLight() {
+		if ( ! dirLight ) {
+			dirLight = new THREE.DirectionalLight(0xaaaaaa);
+			dirLight.position.set(500, 500, 1000).normalize();
+			dirLight.castShadow = false;
+		}
+		camera.add(dirLight);
+		camera.add(dirLight.target);
+	}
+
+	function selectViewpoint(event, vrmlConverter) {
+		var viewpoint = event.target.dataset.name;
+		console.log('clicked ' + viewpoint);
+		camera = vrmlConverter.viewpoints[ viewpoint ].getCamera();
+		setupLight();
+		resetControls();
+		animation.addClickSupport(camera, renderer);
+	}
+
+	function init() {
+		camera            = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 0.01, 1e5);
+		camera.position.z = 4;
+		camera.position.y = 3;
+		camera.position.x = 0;
+
+		scene = new THREE.Scene();
+
+		scene.fog = new THREE.Fog(0xffffff, 1, 5000);
+		scene.fog.color.setHSL(0.6, 0, 1);
+
+		scene.add(camera);
+
+		setupLight();
+		resetControls();
+
+		var debug         = true;
+		var vrmlConverter = new VrmlParser.Renderer.ThreeJs(debug);
+		// renderer
+
+		renderer                   = new THREE.WebGLRenderer({ antialias: true });
+		renderer.shadowMap.enabled = true;
+		renderer.setClearColor(0x000000, 1);
+		renderer.setSize(window.innerWidth, window.innerHeight);
+
+		// add support for animation and interaction
+		animation = new VrmlParser.Renderer.ThreeJs.Animation(debug);
+		animation.addClickSupport(camera, renderer);
+
+		// initialize the viewpoinst with the camera from the global scope
+		vrmlConverter.viewpoints = {
+			reset: {
+				getCamera: function () {
+					return this.camera;
+				}, name: 'surrounding_reset', camera: camera
 			}
-			#info {
-				color: #fff;
-				position: absolute;
-				top: 10px;
-				width: 100%;
-				text-align: center;
-				z-index: 100;
-				display:block;
-			}
-			#info a, .button { color: #f00; font-weight: bold; text-decoration: underline; cursor: pointer }
-		</style>
-	</head>
-
-	<body>
-		<div id="info">
-		<a href="http://threejs.org" target="_blank">three.js</a> -
-		vrml format loader test -
-		<!--model from <a href="http://cs.iupui.edu/~aharris/webDesign/vrml/" target="_blank">VRML 2.0 Tutorial</a>,-->
-		</div>
-
-		<script src="../build/three.js"></script>
-
-		<script src="js/controls/OrbitControls.js"></script>
-
-		<script src="js/loaders/VRMLLoader.js"></script>
-
-		<script src="js/Detector.js"></script>
-		<script src="js/libs/stats.min.js"></script>
-
-		<script>
-
-			if ( ! Detector.webgl ) Detector.addGetWebGLMessage();
-
-			var container, stats;
-
-			var camera, controls, scene, renderer;
-
-			var cross;
-
-			init();
-			animate();
-
-			function init() {
-
-				camera = new THREE.PerspectiveCamera( 60, window.innerWidth / window.innerHeight, 0.01, 1e10 );
-				camera.position.z = 6;
+		}; // key value store of cameras based on VRML viewpoint nodes, stored by their name.
 
-				controls = new THREE.OrbitControls( camera );
+		var vrmlLoader = new THREE.VRMLLoader(vrmlParser, new THREE.LoadingManager(), true);
 
-				controls.rotateSpeed = 5.0;
-				controls.zoomSpeed = 5;
+		var onLoad = function (vrmlTree) {
+            vrmlConverter.render(vrmlTree, scene);
 
-				scene = new THREE.Scene();
-				scene.add( camera );
+			var viewpointSelector = document.getElementById('viewpoints');
 
-				// light
-
-				var dirLight = new THREE.DirectionalLight( 0xffffff );
-				dirLight.position.set( 200, 200, 1000 ).normalize();
-
-				camera.add( dirLight );
-				camera.add( dirLight.target );
-
-				var loader = new THREE.VRMLLoader();
-				loader.load( 'models/vrml/house.wrl', function ( object ) {
-
-					scene.add( object );
-
-				} );
-
-				// renderer
-
-				renderer = new THREE.WebGLRenderer( { antialias: false } );
-				renderer.setPixelRatio( window.devicePixelRatio );
-				renderer.setSize( window.innerWidth, window.innerHeight );
-
-				container = document.createElement( 'div' );
-				document.body.appendChild( container );
-				container.appendChild( renderer.domElement );
-
-				stats = new Stats();
-				container.appendChild( stats.dom );
-
-				//
+			for ( a in vrmlConverter.viewpoints ) {
+				if ( typeof a === 'string' ) {
+					var option       = document.createElement('div');
+					option.innerHTML = a;
+					option.setAttribute('data-name', a);
+					viewpointSelector.appendChild(option);
+					option.addEventListener('click', function (event) {
+						selectViewpoint(event, vrmlConverter);
+					});
+				}
+			}
 
-				window.addEventListener( 'resize', onWindowResize, false );
+		};
 
+		var onError = function (error) {
+			var request = error.target;
+			if ( 404 === request.status ) {
+				console.log('VRML Document not found at ' + request.responseURL);
 			}
+			console.log(error);
+		}
 
-			function onWindowResize() {
+		var onProgress = function () {
 
-				camera.aspect = window.innerWidth / window.innerHeight;
-				camera.updateProjectionMatrix();
+		}
 
-				renderer.setSize( window.innerWidth, window.innerHeight );
+		vrmlLoader.load('models/vrml/house.wrl', onLoad, onProgress, onError);
 
-				controls.handleResize();
+		container = document.createElement('div');
+		document.body.appendChild(container);
+		container.appendChild(renderer.domElement);
 
-			}
-
-			function animate() {
+		//
 
-				requestAnimationFrame( animate );
+		window.addEventListener('resize', onWindowResize, false);
 
-				controls.update();
-				renderer.render( scene, camera );
+	}
 
-				stats.update();
+	function onWindowResize() {
+		camera.aspect = window.innerWidth / window.innerHeight;
+		camera.updateProjectionMatrix();
+		renderer.setSize(window.innerWidth, window.innerHeight);
+	}
 
-			}
+	function animate() {
+		requestAnimationFrame(animate);
+		var delta = clock.getDelta();
+		if ( undefined !== controls ) {
+			controls.update(delta);
+		}
+		animation.update(delta);
+		renderer.render(scene, camera);
+	}
 
-		</script>
+</script>
 
-	</body>
+</body>
 </html>