Sfoglia il codice sorgente

Reverted new VRMLLoader PR. See #10290.

Mr.doob 8 anni fa
parent
commit
7ddc4da5f7

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

@@ -1,83 +0,0 @@
-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}};

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

@@ -1,67 +1,1105 @@
 /**
  * @author mrdoob / http://mrdoob.com/
- * @author Bart McLeod / http://spaceweb.nl/
  */
 
-/**
- *
- * @param manager
- * @param parser VRMLparser based on PEG.js grammar
- * @param VrmlParser.Renderer.ThreeJs renderer
- * @constructor
- */
-THREE.VRMLLoader = function (parser, manager, debug) {
+THREE.VRMLLoader = function ( manager ) {
 
 	this.manager = ( manager !== undefined ) ? manager : THREE.DefaultLoadingManager;
-	this.parser  = parser;
-	this.debug   = debug;
+
 };
 
 THREE.VRMLLoader.prototype = {
 
 	constructor: THREE.VRMLLoader,
 
-	log: function (obj) {
-		if ( this.debug ) {
-			console.log(obj);
-		}
-	},
+	// for IndexedFaceSet support
+	isRecordingPoints: false,
+	isRecordingFaces: false,
+	points: [],
+	indexes : [],
 
-	parse: function (data) {
-		try {
-			var tree = this.parser.parse(data);
+	// for Background support
+	isRecordingAngles: false,
+	isRecordingColors: false,
+	angles: [],
+	colors: [],
 
-			this.log(tree);
-			return tree;
-		} catch ( e ) {
-			this.log('Exception with message ' + e.message);
+	recordingFieldname: null,
 
-			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);
-			}
-
-			return;
-		}
-	},
-
-	load: function (url, onLoad, onProgress, onError) {
+	load: function ( url, onLoad, onProgress, onError ) {
 
 		var scope = this;
 
-		var loader = new THREE.FileLoader(this.manager);
-		loader.load(url, function (text) {
+		var loader = new THREE.FileLoader( this.manager );
+		loader.load( url, function ( text ) {
 
-			onLoad(scope.parse(text));
+			onLoad( scope.parse( text ) );
 
-		}, onProgress, onError);
+		}, onProgress, onError );
 
 	},
 
-	setCrossOrigin: function (value) {
+	setCrossOrigin: function ( value ) {
 
 		this.crossOrigin = value;
 
 	},
 
+	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 ) ) {
+
+						current = current.parent;
+
+					} 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);
+			}
+
+			// 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 {}';
+			}
+		}
+
+		var header = lines.shift();
+
+		if ( /V1.0/.exec( header ) ) {
+
+			parseV1( lines, scene );
+
+		} else if ( /V2.0/.exec( header ) ) {
+
+			parseV2( lines, scene );
+
+		}
+
+		return scene;
+
+	}
+
 };

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

@@ -2,5179 +2,5182 @@
 
 
 Group {
-    children[
-        DirectionalLight {
-            ambientIntensity  0
-            color             1 1 0.9
-            direction         0.5 -1.5 -1
-            intensity         1.8
-            on                TRUE
-        }
+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
-        }
+DirectionalLight {
+  ambientIntensity  0 
+  color             1 1 0.9
+  direction         -0.5 1 0
+  intensity        1 
+  on                TRUE 
+}
 
-        NavigationInfo {
+NavigationInfo {
+  
+  avatarSize       [ 0.2, 1.4, 0.5 ]
 
-            avatarSize       [ 0.2, 1.4, 0.5 ]
+  headlight        FALSE
+ 
+  
+}
 
-            headlight        FALSE
 
 
-        }
 
-        DirectionalLight {
-            ambientIntensity  0
-            color             0.6 0.6 0.8
-            direction         -1 0.5 2
-            intensity         1
-            on                TRUE
-        }
+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 ]
+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
 
-        Viewpoint {
-            fieldOfView    1
-            jump           TRUE
-            orientation     0 1 0 -0.5
-            position       -4 2 10
+	description    "Entry"
+}
 
-            description    "Entry"
-        }
+Viewpoint {
+	fieldOfView    1
+	jump           TRUE
+	orientation    0 0 1  0
+	position       3.5 1.7 13
 
-        Viewpoint {
-            fieldOfView    1
-            jump           TRUE
-            orientation    0 0 1  0
-            position       3.5 1.7 13
+	description    "Vooraanzicht"
+}
 
-            description    "Vooraanzicht"
-        }
+Viewpoint {
+	fieldOfView    1
+	jump           TRUE
+	orientation    0 0 1  0
+	position       2.5 1.5 -4.5
 
-        Viewpoint {
-            fieldOfView    1
-            jump           TRUE
-            orientation    0 0 1  0
-            position       2.5 1.5 -4.5
+	description    "Woonkamer"
+}
 
-            description    "Woonkamer"
-        }
+Viewpoint {
+	fieldOfView    1
+	jump           TRUE
+	orientation    0 0 1  0
+	position       1.5 1.5 -1.7
 
-        Viewpoint {
-            fieldOfView    1
-            jump           TRUE
-            orientation    0 0 1  0
-            position       1.5 1.5 -1.7
+	description    "Keuken"
+}
 
-            description    "Keuken"
-        }
 
 
+Viewpoint {
+	fieldOfView    1
+	jump           TRUE
+	orientation    0 1 0  3.1415927
+	position       2.5 2.5 -20
 
-        Viewpoint {
-            fieldOfView    1
-            jump           TRUE
-            orientation    0 1 0  3.1415927
-            position       2.5 2.5 -20
+	description    "Achteraanzicht"
+}
 
-            description    "Achteraanzicht"
-        }
+Viewpoint {
+	fieldOfView    1
+	jump           TRUE
+	orientation    1 0 0  -1.5707963
+	position       2.5 20 -4.5
 
-        Viewpoint {
-            fieldOfView    1
-            jump           TRUE
-            orientation    1 0 0  -1.5707963
-            position       2.5 20 -4.5
+	description    "Bovenaanzicht"
+}
 
-            description    "Bovenaanzicht"
-        }
 
 
 
 
+# beneden/beneden.wrl
 
-        # 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     []
-                    }
-                }
-            ]
-        }
 
 
-        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 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     []
+			}
+		}
+	]
+}
 
-        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
-        }
+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
+}
 
-        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 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
+				}
 
-        DEF stukmuur2 Transform {
-            children[
-                Shape {
-                    appearance USE wandkleur
-                    geometry 	Box {
-                        size	1.41 2.70 0.07
-                    }
+	}
+ ]
+translation		0.63	1.35 -3.395
+}
 
-                }
-            ]
-            translation		2.485	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
+}
 
 
-        DEF stukmuur3 Transform {
-            children[
-                Shape {
-                    appearance USE wandkleur
-                    geometry 	Box {
-                        size	0.43 2.70 0.07
-                    }
+DEF stukmuur3 Transform {
+children[
+	Shape {
+	appearance USE wandkleur
+		geometry 	Box {
+	size	0.43 2.70 0.07
+				}
 
-                }
-            ]
-            translation		4.205	1.35 -3.395
-        }
+	}
+ ]
+translation		4.205	1.35 -3.395
+}
 
-        DEF stukmuur4 Transform {
-            children[
-                Shape {
-                    appearance USE wandkleur
-                    geometry 	Box {
-                        size	1.06 2.8 0.07
-                    }
+DEF stukmuur4 Transform {
+children[
+	Shape {
+	appearance USE wandkleur
+		geometry 	Box {
+	size	1.06 2.8 0.07
+				}
+
+	}
+ ]
+translation		4.87	1.4 -4.395
+}
 
-                }
-            ]
-            translation		4.87	1.4 -4.395
-        }
+DEF stukmuur5 Transform {
+children[
+	Shape {
+	appearance USE wandkleur
+		geometry 	Box {
+	size	0.07 2.70 2.28
+				}
+
+	}
+ ]
+translation		3.155	1.35 -1.42
+}
 
-        DEF stukmuur5 Transform {
-            children[
-                Shape {
-                    appearance USE wandkleur
-                    geometry 	Box {
-                        size	0.07 2.70 2.28
-                    }
+DEF stukmuur6 Transform {
+children[
+	Shape {
+	appearance USE wandkleur
+		geometry 	Box {
+	size	0.98 2.8 0.07
+				}
+
+	}
+ ]
+translation		4.91	1.4 -2.325
+}
 
-                }
-            ]
-            translation		3.155	1.35 -1.42
-        }
+DEF stukmuur7 Transform {
+children[
+	Shape {
+	appearance USE wandkleur
+		geometry 	Box {
+	size	0.98 2.70 0.07
+				}
+
+	}
+ ]
+translation		4.91	1.35 -1.515
+}
 
-        DEF stukmuur6 Transform {
-            children[
-                Shape {
-                    appearance USE wandkleur
-                    geometry 	Box {
-                        size	0.98 2.8 0.07
-                    }
 
-                }
-            ]
-            translation		4.91	1.4 -2.325
-        }
+DEF stukmuur8 Transform {
+children[
+	Shape {
+	appearance USE wandkleur
+		geometry 	Box {
+	size	0.07 2.70 0.4
+				}
 
-        DEF stukmuur7 Transform {
-            children[
-                Shape {
-                    appearance USE wandkleur
-                    geometry 	Box {
-                        size	0.98 2.70 0.07
-                    }
+	}
+ ]
+translation		4.455	1.35 -0.48
+}
 
-                }
-            ]
-            translation		4.91	1.35 -1.515
-        }
+DEF stukmuur9 Transform {
+children[
+	Shape {
+	appearance USE wandkleur
+		geometry 	Box {
+	size	0.07 2.70 0.74
+				}
+
+	}
+ ]
+translation		4.7	1.35 -1.92
+}
 
 
-        DEF stukmuur8 Transform {
-            children[
-                Shape {
-                    appearance USE wandkleur
-                    geometry 	Box {
-                        size	0.07 2.70 0.4
-                    }
 
-                }
-            ]
-            translation		4.455	1.35 -0.48
-        }
+# binmuur.wrl
 
-        DEF stukmuur9 Transform {
-            children[
-                Shape {
-                    appearance USE wandkleur
-                    geometry 	Box {
-                        size	0.07 2.70 0.74
-                    }
 
-                }
-            ]
-            translation		4.7	1.35 -1.92
-        }
 
 
+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,
 
-        # 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,
+						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
 
-                                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.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,
 
-                                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,
+						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
 
-                                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.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
 
-                                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,
+						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
 
-                                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.28	2.7	-0.28, #63 extra punten voor segmentering beneden
+						0.14	2.7	-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
+						5.4	2.7	-0.28, #65
+						5.54	2.7	-0.14, #
 
-                                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	2.7	-8.72, #67
+						0.14	2.7	-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
+						5.4	2.7	-8.72, #69
+						5.54	2.7	-8.86, #
 
-                                0.28	2.7	-0.28, #63 extra punten voor segmentering beneden
-                                0.14	2.7	-0.14,
+						1.2	2.7	-8.72, #71
+						1.2	2.7	-8.86, #
 
-                                5.4	2.7	-0.28, #65
-                                5.54	2.7	-0.14, #
+						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,
 
-                                0.28	2.7	-8.72, #67
-                                0.14	2.7	-8.86, #
+		0, 15, 14, 63, -1,
+		0, 63, 14, 15, -1,
 
-                                5.4	2.7	-8.72, #69
-                                5.54	2.7	-8.86, #
+		14, 13, 65, 63, -1,
+		
+		4, 12, 13, 7, -1,
 
-                                1.2	2.7	-8.72, #71
-                                1.2	2.7	-8.86, #
+		13, 7, 6, 65, -1,
 
-                                4.8	2.7	-8.72, #73
-                                4.8	2.7	-8.86, #
+		6, 11, 10, 65, -1,
 
-                            ]
-                        }
-                        normal            NULL
-                        texCoord          NULL
-                        ccw               TRUE
-                        colorIndex        []
-                        colorPerVertex    TRUE
-                        convex            TRUE
-                        coordIndex  [
-                            0, 4, 12, 15, -1,
-                            0, 15, 12, 4, -1,
+		5, 8, 11, 6, -1,
 
-                            0, 15, 14, 63, -1,
-                            0, 63, 14, 15, -1,
+		5, 8, 9, 1, -1,
 
-                            14, 13, 65, 63, -1,
+		1, 9, 10, 65, -1,
 
-                            4, 12, 13, 7, -1,
+		0, 63, 67, 24, -1,
 
-                            13, 7, 6, 65, -1,
+		67, 24, 33, 71, -1,
 
-                            6, 11, 10, 65, -1,
+		28, 29, 30, 31, -1,
 
-                            5, 8, 11, 6, -1,
+		28, 31, 73, 69, -1,
 
-                            5, 8, 9, 1, -1,
+		28, 69, 65, 1, -1,
 
-                            1, 9, 10, 65, -1,
+		63, 65, 66, 64, -1,
 
-                            0, 63, 67, 24, -1,
+		65, 69, 70, 66, -1,
 
-                            67, 24, 33, 71, -1,
+		63, 67, 68, 64, -1,
 
-                            28, 29, 30, 31, -1,
+		69, 73, 74, 70, -1,
 
-                            28, 31, 73, 69, -1,
+		67, 71, 72, 68, -1,
 
-                            28, 69, 65, 1, -1,
+		5, 6, 37, 36, -1,
 
-                            63, 65, 66, 64, -1,
+		6, 7, 38, 37, -1,
 
-                            65, 69, 70, 66, -1,
+		4, 35, 38, 7, -1,
 
-                            63, 67, 68, 64, -1,
+		12, 39, 40, 13, -1,
 
-                            69, 73, 74, 70, -1,
+		13, 40, 41, 14, -1, 
 
-                            67, 71, 72, 68, -1,
+		14, 41, 42, 15, -1,
 
-                            5, 6, 37, 36, -1,
+		15, 42, 39, 12, -1, 
 
-                            6, 7, 38, 37, -1,
+		8, 43, 44, 9, -1,
 
-                            4, 35, 38, 7, -1,
 
-                            12, 39, 40, 13, -1,
+		9, 44, 45, 10, -1,
 
-                            13, 40, 41, 14, -1,
 
-                            14, 41, 42, 15, -1,
+		10, 45, 46, 11, -1,
 
-                            15, 42, 39, 12, -1,
 
-                            8, 43, 44, 9, -1,
+		11, 46, 43, 8, -1,
 
 
-                            9, 44, 45, 10, -1,
+		29, 53, 54, 30, -1,
 
 
-                            10, 45, 46, 11, -1,
+		30, 54, 55, 31, -1, 
 
 
-                            11, 46, 43, 8, -1,
+		31, 55, 74, 73, -1,
 
 
-                            29, 53, 54, 30, -1,
+		33, 57, 72, 71, -1,
 
 
-                            30, 54, 55, 31, -1,
 
 
-                            31, 55, 74, 73, -1,
 
+]     #default []
+				creaseAngle       0
+				normalIndex       []
+				normalPerVertex   TRUE
+				solid             FALSE
+				texCoordIndex     []
+			}
+		}
+	]
+}
 
-                            33, 57, 72, 71, -1,
+#benodigde tijd tot hier 2 uur(kale buitenkant van het huis )
 
+# /binmuur.wrl
 
+# buitmuur.wrl
 
 
 
-                        ]     #default []
-                        creaseAngle       0
-                        normalIndex       []
-                        normalPerVertex   TRUE
-                        solid             FALSE
-                        texCoordIndex     []
-                    }
-                }
-            ]
-        }
 
-        #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,
+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,
+						2.60	0.90	0, #keukenraam-12
+						2.60	2.30	0, # 13
+						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.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,
+						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,
+						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,
+						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
+						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,
+						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,
+						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
+						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
+						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,
+						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, #
+						5.68	2.7	0, #61
+						5.54	2.7	-0.14, #
 
-                                0	2.7	-9, #63
-                                0.14	2.7	-8.86, #
+						0	2.7	-9, #63
+						0.14	2.7	-8.86, #
 
-                                5.68	2.7	-9, #65
-                                5.54	2.7	-8.86, #
+						5.68	2.7	-9, #65
+						5.54	2.7	-8.86, #
 
-                                1.2	2.7	-9, #67
-                                1.2	2.7	-8.86, #
+						1.2	2.7	-9, #67
+						1.2	2.7	-8.86, #
 
-                                4.8	2.7	-9, #69
-                                4.8	2.7	-8.86, #
+						4.8	2.7	-9, #69
+						4.8	2.7	-8.86, #
 
 
 
-                            ]
-                        }
-                        normal            NULL
-                        texCoord          NULL
-                        ccw               TRUE
-                        colorIndex        []
-                        colorPerVertex    TRUE
-                        convex            TRUE
-                        coordIndex  [
-                            0, 4, 12, 15, -1,
+					]
+				}
+				normal            NULL
+				texCoord          NULL
+				ccw               TRUE
+				colorIndex        []
+				colorPerVertex    TRUE
+				convex            TRUE
+				coordIndex  [
+		0, 4, 12, 15, -1,
 
-                            0, 15, 14, 59, -1,
+		0, 15, 14, 59, -1,
 
-                            14, 13, 61, 59,-1,
+		14, 13, 61, 59,-1,
 
 
-                            4, 7, 13, 12, -1,
+		4, 7, 13, 12, -1,
 
-                            13, 11, 61, -1,
+        13, 11, 61, -1,
 
-                            11, 10, 61, -1,
+		11, 10, 61, -1,
 
-                            9, 1, 61, 10, -1,
+		9, 1, 61, 10, -1, 
 
-                            5, 1, 9, 8, -1,
+		5, 1, 9, 8, -1,
 
-                            5, 8, 11, 6, -1,
+		5, 8, 11, 6, -1,
 
 
-                            0, 59, 63, 24, -1,
+		0, 59, 63, 24, -1,
 
-                            1, 28, 65, 61, -1,
+		1, 28, 65, 61, -1,
 
-                            28, 29, 30, 31, -1,
+		28, 29, 30, 31, -1,
 
-                            28, 31, 69, 65, -1,
+		28, 31, 69, 65, -1,
 
-                            33, 24, 63, 67, -1,
+		33, 24, 63, 67, -1,
 
-                            5, 6, 37, 36, -1,
+		5, 6, 37, 36, -1,
 
-                            6, 7, 38, 37, -1,
+		6, 7, 38, 37, -1,
 
-                            4, 35, 38, 7, -1,
+		4, 35, 38, 7, -1,
 
-                            12, 13, 40, 39, -1,
+		12, 13, 40, 39, -1,
 
-                            13, 14, 41, 40, -1,
+		13, 14, 41, 40, -1,
 
-                            15, 42, 41, 14, -1,
+		15, 42, 41, 14, -1,
 
-                            12, 39, 42, 15, -1
+		12, 39, 42, 15, -1
 
-                            8, 9, 44, 43, -1,
+		8, 9, 44, 43, -1,
 
-                            9, 10 , 45, 44, -1,
+		9, 10 , 45, 44, -1,
 
-                            10, 11, 46, 45, -1,
+		10, 11, 46, 45, -1,
 
-                            11, 8, 43, 46, -1,
+		11, 8, 43, 46, -1,
 
-                            29, 53, 54, 30, -1,
+		29, 53, 54, 30, -1,
 
-                            30, 54, 55, 31, -1,
+		30, 54, 55, 31, -1, 
 
-                            31, 55, 70, 69, -1,
+		31, 55, 70, 69, -1,
 
-                            33, 67, 68, 57, -1,
+		33, 67, 68, 57, -1,
 
-                            59, 61, 62, 60, -1,
+		59, 61, 62, 60, -1,
 
-                            59, 60, 64, 63, -1,
+		59, 60, 64, 63, -1,
 
-                            61, 65, 66, 62, -1,
+		61, 65, 66, 62, -1,
 
-                            65, 69, 70, 66, -1,
+		65, 69, 70, 66, -1,
 
-                            64, 68, 67, 63, -1,
+		64, 68, 67, 63, -1,
 
 
 
-                        ]     #default []
-                        creaseAngle       0
-                        normalIndex       []
-                        normalPerVertex   TRUE
-                        solid             FALSE
-                        texCoordIndex     []
-                    }
-                }
-            ]
-        }
+]     #default []
+				creaseAngle       0
+				normalIndex       []
+				normalPerVertex   TRUE
+				solid             FALSE
+				texCoordIndex     []
+			}
+		}
+	]
+}
 
-        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{#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 [
+Shape {
+appearance USE steen
+geometry Box {	size	2.2	2.6	0.1	}
+}
+]
+translation 1.1 1.3 -0.05
+}
 
-                Transform{
-                    children [
-                        Shape {
-                            appearance USE steen
-                            geometry Box {	size	2.2	2.6	0.1	}
-                        }
-                    ]
-                    translation	1.1	1.3	-3.15
-                }
+Transform{
+children [
+Shape {
+appearance USE steen
+geometry Box {	size	2.2	2.6	0.1	}
+}
+]
+translation	1.1	1.3	-3.15
+}
 
-                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	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	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 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
-                }
+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
+}
 
-                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
-                }
+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
+}
 
-            ]
-            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
-        }
+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
+}
 
 
-        # /trapbeneden.wrl
+]
+translation 3.48	0	7.8
+}
 
-        # deuren.wrl
+# /buitmuur.wrl
 
 
+# trapbeneden.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 }
-                                }
 
-                            ]
-                            translation	0 2.035 0
-                        }
 
 
+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 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
 
-                        #deur
-                        DEF deur Transform {
-                            center -0.4 0 0
-                            children [
 
+# /trapbeneden.wrl
 
+# deuren.wrl
 
-                                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 ]
-                                }
 
 
+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 }
+}
 
-                                # ../boven/deurklink.wrl
+]
+translation	0 2.035 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 }
+}
 
-                                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
+]
+translation	0 2.38 0
+}#ruit boven de deur
 
-                                                        -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  [
+#deur
+DEF deur Transform {
+center -0.4 0 0
+	children [
 
-                                                    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,
+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 ]
+  }
 
-                                                    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,
+# ../boven/deurklink.wrl
 
-                                                    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 [
+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 }
+}
 
-                                                USE enehelft
-                                            ]
-                                            rotation 0 1 0 3.1415927
-                                            translation	0 0 -0.07
-                                        }
-                                        Transform {
+]
+translation	0 1.005 0
+}
 
-                                            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
+]
+}#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
+}
+		
+]
+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 }
+}
 
-                                # /../boven/deurklink.wrl
+]
+translation	0 2.035 0
+}
 
-                                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
-                        }
 
 
+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
 
-                    ]
-                }#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
-                }
 
-            ]
-            translation 3.155 0 -2.96
-            rotation 0 1 0 1.5707963
-        }
+#deur5
+Transform {
+children[ DEF dwarslatafw2 Transform {
+	children [
+		Shape {
+appearance USE kozijn
+			geometry Box { size	0.74 0.05 0.05 }
+}
 
-        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	0 2.035 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 }
-                        }
+DEF ruitjeafw2 Transform {
+	children [
+		Shape {
+appearance USE kozijn 
+			geometry Box { size	0.74 0.64 0.01 }
+}
 
-                    ]
-                    translation	0 2.035 0
-                }
+]
+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
 
+#ROUTE klikopdeur6.touchTime TO TimeSource6.startTime
+#ROUTE TimeSource6.fraction_changed TO Deuropen6.set_fraction
+#ROUTE Deuropen6.value_changed TO deurtoiletgang.rotation
 
 
+# voordeur.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 voordeur Transform {
+center 1.11 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
-                }
+		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 4.395 0 -3.895
-            rotation 0 1 0 -1.5707963
-        }#deur4
+]
+translation	0.15	0.9	0.067
+}
 
-        ROUTE klikopdeur4.touchTime TO TimeSource4.startTime
-        ROUTE TimeSource4.fraction_changed TO Deuropen4.set_fraction
-        ROUTE Deuropen4.value_changed TO deurwoonkamertrapkast.rotation
 
+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
+}
 
-        #deur5
-        Transform {
-            children[ DEF dwarslatafw2 Transform {
-                    children [
-                        Shape {
-                            appearance USE kozijn
-                            geometry Box { size	0.74 0.05 0.05 }
-                        }
+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 2.035 0
-                }
+]
+translation	0.81	1.24	0
+}
 
+	]
+translation 3.25	0.05	-0.14
+}
+
+#ROUTE klikopvoordeur.touchTime TO TimeSourcevoor.startTime
+#ROUTE TimeSourcevoor.fraction_changed TO VoorDeuropen.set_fraction
+#ROUTE VoorDeuropen.value_changed TO voordeur.rotation
 
+# /voordeur.wrl
 
+# achterdeur.wrl
 
-                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 [
+#bevat ook schuurdeur
 
 
+DEF achterdeur Transform {
+center 0 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 {
+		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 [
 
-                                    children [
-                                        DEF vlakdeel Shape {
-                                            appearance USE aluminium
-                                            geometry Box { size 0.18 0.07 0.01 }
-                                        }#shape
-                                    ]
-                                    translation -0.03 0 -0.005
-                                }
+	0.93	0	-0.025, #0
+	0	0	-0.025, #
+	0	2.09	-0.025, #
+	0.93	2.09	-0.025, #3
 
-                                Transform {
+	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
 
-                                    children [
-                                        USE vlakdeel
-                                    ]
-                                    translation -0.03 0 -0.065
-                                }
+	0.93	0	0.025, #0
+	0	0	0.025, #
+	0	2.09	0.025, #
+	0.93	2.09	0.025, #3
 
+	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  [
+	
+	0, 1, 5, 4, -1, 
 
-                            ]
+	1, 2, 6, 5, -1,
 
-                            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
-                }
+	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,
 
-            ]
-            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
+	11, 10, 14, 15, -1, 
+
+	12, 8, 11, 15, -1,
+
+
+
+
+
+]     #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 ]
+  }
+
+
+
+Transform {
+    # ../boven/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
+
+                        -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.08
-            rotation 0 1 0 -1.5707963
-        }#deur6
 
-        ROUTE klikopdeur6.touchTime TO TimeSource6.startTime
-        ROUTE TimeSource6.fraction_changed TO Deuropen6.set_fraction
-        ROUTE Deuropen6.value_changed TO deurtoiletgang.rotation
 
+# /../boven/deurklink.wrl
+    translation 0.50 1 0
+}
 
-        # 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	}
+}
 
-        DEF voordeur Transform {
-            center 1.11 0 0
-            children [
+]
+translation	0.465	1.25	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 IndexedFaceSet {
-                        color             NULL
-                        coord  Coordinate {	#default NULL
-                            point [
+	]
+translation 1.26	0.05	-8.86
+}
 
-                                0	0	0.025, #0
-                                1.11	0	0.025, #
-                                1.11	2.19	0.025, #
-                                0	2.19	0.025, #3
+#ROUTE klikopachterdeur.touchTime TO TimeSourceachter.startTime
+#ROUTE TimeSourceachter.fraction_changed TO achterDeuropen.set_fraction
+#ROUTE achterDeuropen.value_changed TO achterdeur.rotation
 
-                                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
+#schuurdeur
+DEF schuurdeur Transform {
+children [
 
-                                0	0	-0.025, #8
-                                1.11	0	-0.025, #
-                                1.11	2.19	-0.025, #
-                                0	2.19	-0.025, #11
+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, #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[
+        Shape{
+            appearance 	USE deurkleur
+            geometry	USE deurInd
+        }
+    ]
+    scale 0.9139785	1	1   #maakt de deur op maat
+}
 
-                            0, 1, 5, 4, -1,
+USE ruitindeur
 
-                            1, 2, 6, 5, -1,
+Transform {
+    children USE deurklink
+    translation 0.43 1 0
+}
 
-                            6, 2, 3, 7, -1,
 
-                            0, 4, 7, 3, -1,
+]
+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
 
-                            1, 0, 8, 9, -1,
+# /achterdeur.wrl
 
-                            3, 2, 10, 11, -1,
 
-                            0, 3, 11, 8, -1,
 
-                            2, 1, 9, 10, -1,
 
+# /deuren.wrl
 
-                            5, 6, 14, 13, -1,
+# ramen.wrl
 
-                            4, 5, 13, 12, -1,
 
-                            6, 7, 15, 14, -1,
 
-                            7, 4, 12, 15, -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 }
+}
 
-                            9, 8, 12, 13, -1,
+]
+translation	0.625 1.6 -0.14
+}
 
-                            10, 9, 13, 14, -1,
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	0.05 1.3 0.05 }
+}
 
-                            11, 10, 14, 15, -1,
+]
+translation	2.575 1.6 -0.14
+}
 
-                            12, 8, 11, 15, -1,
 
+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 }
+}
 
+]
+translation	1.725 1.6 -0.14
+}
 
-                        ]     #default []
-                        creaseAngle       0
-                        normalIndex       []
-                        normalPerVertex   TRUE
-                        solid             TRUE
-                        texCoordIndex     []
-                    }
-                }
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	2 0.05 0.05 }
+}
 
-                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 ]
-                }
+]
+translation	1.6 0.925 -0.14
+}
 
-                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
-                }
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	2 0.05 0.05 }
+}
 
+]
+translation	1.6 2.275 -0.14
+}
 
-                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
-                }
+#einde keukenraam
 
-                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
-                }
+#begin toiletraam
 
-            ]
-            translation 3.25	0.05	-0.14
-        }
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	0.05 0.7 0.05 }
+}
 
-        ROUTE klikopvoordeur.touchTime TO TimeSourcevoor.startTime
-        ROUTE TimeSourcevoor.fraction_changed TO VoorDeuropen.set_fraction
-        ROUTE VoorDeuropen.value_changed TO voordeur.rotation
+]
+translation	4.865 1.95 -0.14
+}
 
-        # /voordeur.wrl
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	0.05 0.7 0.05 }
+}
 
-        # achterdeur.wrl
+]
+translation	5.015 1.95 -0.14
+}
 
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	0.1 0.05 0.05 }
+}
 
+]
+translation	4.94 1.625 -0.14
+}
 
-        #bevat ook schuurdeur
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	0.1 0.05 0.05 }
+}
 
+]
+translation	4.94 2.275 -0.14
+}
 
-        DEF achterdeur Transform {
-            center 0 0 0
-            children [
+#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
+}
 
-                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 [
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	0.05 2.26 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	4.395 1.17 -0.14
+}
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	1.13 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.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 }
+}
+
+]
+translation	3.215 1.65 -8.86
+}
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	0.05 2.1 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	4.775	1.65 -8.86
+}
 
-                                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
+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
+}
 
-                            ]
-                        }
-                        normal            NULL
-                        texCoord          NULL
-                        ccw               TRUE
-                        colorIndex        []
-                        colorPerVertex    TRUE
-                        convex            TRUE
-                        coordIndex  [
+geometry	Box { size	1.51 0.5 0.05 }
+}
 
-                            0, 1, 5, 4, -1,
+]
+translation	3.995 2.45 -8.86
+}
 
-                            1, 2, 6, 5, -1,
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	1.51 0.05 0.05 }
+}
 
-                            6, 2, 3, 7, -1,
+]
+translation	3.995 0.625 -8.86
+}#1
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	1.51 0.05 0.05 }
+}
 
-                            0, 4, 7, 3, -1,
+]
+translation	3.995 2.175 -8.86
+}#2
 
 
-                            1, 0, 8, 9, -1,
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	0.94 0.05 0.05 }
+}
 
-                            3, 2, 10, 11, -1,
+]
+translation	2.72 0.625 -8.86
+}
 
-                            0, 3, 11, 8, -1,
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	1.99 0.05 0.05 }
+}
 
-                            2, 1, 9, 10, -1,
+]
+translation	2.195 2.675 -8.86
+}
 
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	1 0.05 0.05 }
+}
 
-                            5, 6, 14, 13, -1,
+]
+translation	1.725 2.175 -8.86
+}
 
-                            4, 5, 13, 12, -1,
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	0.05 2.61 0.05 }
+}
 
-                            6, 7, 15, 14, -1,
+]
+translation	1.225 1.345 -8.86
+}
 
-                            7, 4, 12, 15, -1,
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	0.05 2.61 0.05 }
+}
 
+]
+translation	2.225 1.345 -8.86
+}
 
-                            9, 8, 12, 13, -1,
 
-                            10, 9, 13, 14, -1,
 
-                            11, 10, 14, 15, -1,
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	0.05 1.5 0.05 }
+}
 
-                            12, 8, 11, 15, -1,
+]
+translation	3.565 1.4 -8.86
+}
 
+#einde ramen achter
 
 
 
+# /ramen.wrl
 
-                        ]     #default []
-                        creaseAngle       0
-                        normalIndex       []
-                        normalPerVertex   TRUE
-                        solid             TRUE
-                        texCoordIndex     []
-                    }
-                }
+# ruiten.wrl
 
-                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 ]
-                }
 
 
 
-                Transform {
-                    # ../boven/deurklink.wrl
-
-
+#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 }
+}
 
+]
+translation	2.72 1.65 -8.86
+}#ruit 5 achter
 
-                    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
+#ruit1 keuken
+Transform {
+	children [
+		Shape {
+appearance USE glas
+geometry Box { size	0.8 1.3 0.01 }
+}
 
-                                            -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,
+]
+translation	1.05 1.6 -0.14
+}#ruit 1 keuken
 
-                                            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,
+#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
 
+#ruit2 keuken
+Transform {
+	children [
+		Shape {
+appearance USE glas
+			geometry Box { size	0.2 1.3 0.01 }
+}
 
-                                        ]
-                                    }
-                                    normal            NULL
-                                    texCoord          NULL
-                                    ccw               TRUE
-                                    colorIndex        []
-                                    colorPerVertex    TRUE
-                                    convex            TRUE
-                                    coordIndex  [
+]
+translation	1.6 1.6 -0.14
+}#ruit 2 keuken
 
-                                        2, 3, 4, 5, -1,
-                                        2, 5, 4, 3, -1,
 
-                                        4, 5, 11, 10, -1,
-                                        4, 10, 11, 5, -1,
+#toiletruit
+Transform {
+	children [
+		Shape {
+appearance USE glas
+			geometry Box { size	0.1 0.6 0.01 }
+}
 
-                                        0, 1, 7, 6, -1,
-                                        0, 6, 7, 1, -1,
+]
+translation	4.94 1.95 -0.14
+}#ruit van toiletraam
 
-                                        6, 7, 8, 9, -1,
-                                        6, 9, 8, 7, -1,
+#ramen achter
 
-                                        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,
+Transform {
+	children [
+		Shape {
+appearance USE glas
+			geometry Box { size	1.16 1.5 0.01 }
+}
 
-                                        7, 5, 11, 8, -1,
-                                        7, 8, 11, 5, -1,
+]
+translation	4.17 1.4 -8.86
+}#ruit 3 achter
 
-                                    ]     #default []
-                                    creaseAngle       0
-                                    normalIndex       []
-                                    normalPerVertex   TRUE
-                                    solid             TRUE
-                                    #texCoordIndex     []
-                                }
-                            }#enehelft
+Transform {
+	children [
+		Shape {
+appearance USE glas
+			geometry Box { size	0.3 1.5 0.01 }
+}
 
-                            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	3.39 1.4 -8.86
+}#ruit 4 achter
 
+Transform {
+	children [
+		Shape {
+appearance USE glas
+			geometry Box { size	0.95 0.45 0.01 }
+}
 
+]
+translation	1.725 2.425 -8.86
+}#ruit 6 achter
 
-                        ]
+# /ruiten.wrl
 
-                        translation 0.35 0 0.035
-                        rotation 0 0 1 1.5707963
-                    }#deurklink
 
+# /beneden/beneden.wrl
 
 
-                    # /../boven/deurklink.wrl
-                    translation 0.50 1 0
-                }
+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
+}
 
-                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	}
-                        }
+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
+}
 
-                    ]
-                    translation	0.465	1.25	0
-                }
+geometry USE pijl
+}
 
-            ]
-            translation 1.26	0.05	-8.86
-        }
+DEF schuifboven2 TouchSensor {}
+]
 
-        ROUTE klikopachterdeur.touchTime TO TimeSourceachter.startTime
-        ROUTE TimeSourceachter.fraction_changed TO achterDeuropen.set_fraction
-        ROUTE achterDeuropen.value_changed TO achterdeur.rotation
+translation 5.48 2.95 0.3
+}
 
-        #schuurdeur
-        DEF schuurdeur Transform {
-            children [
+# boven/boven.wrl
 
-                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 ]
-                }
 
-                Transform{
-                    children[
-                        Shape{
-                            appearance 	USE deurkleur
-                            geometry	USE deurInd
-                        }
-                    ]
-                    scale 0.9139785	1	1   #maakt de deur op maat
-                }
 
-                USE ruitindeur
 
-                Transform {
-                    children USE deurklink
-                    translation 0.43 1 0
-                }
+Viewpoint {
+	fieldOfView    1
+	jump           TRUE
+	orientation    1 0 0  0
+	position       2.5 3.75 -2.5
 
+	description    "Ouderslaapkamer"
+}
 
-            ]
-            translation 3.53	0.05	6.35
-            rotation 0 1 0 1.5707963
-        }
+Viewpoint {
+	fieldOfView    1
+	jump           TRUE
+	orientation    1 0 0  0
+	position       2.5 3.75 -5
 
-        ROUTE klikopschuurdeur.touchTime TO TimeSourceschuur.startTime
-        ROUTE TimeSourceschuur.fraction_changed TO schuurDeuropen.set_fraction
-        ROUTE schuurDeuropen.value_changed TO schuurdeur.rotation
+	description    "Tweede slaapkamer"
+}
 
-        # /achterdeur.wrl
+Viewpoint {
+	fieldOfView    1
+	jump           TRUE
+	orientation    1 0 0  0
+	position       4.5 3.75 -7
 
+	description    "Kinderkamer"
+}
 
+Viewpoint {
+	fieldOfView    1
+	jump           TRUE
+	orientation    1 0 0  0
+	position       4.5 3.75 -1.5
 
+	description    "Badkamer"
+}
 
-        # /deuren.wrl
 
-        # ramen.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
+ 			  }
+}
 
-        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 }
-                }
+geometry Box { size 2.24 0.04 3.24	}
+}
+]
+translation 4.6 2.62 6.2
+}
 
-            ]
-            translation	0.625 1.6 -0.14
-        }
 
-        Transform {
-            children [
-                Shape {
-                    appearance	USE kozijn
-                    geometry	Box { size	0.05 1.3 0.05 }
-                }
+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     []
+			}
+		}
+	]
+}
 
-            ]
-            translation	2.575 1.6 -0.14
-        }
 
 
-        Transform {
-            children [
-                Shape {
-                    appearance	USE kozijn
-                    geometry	Box { size	0.05 1.3 0.05 }
-                }
+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     []
+			}
+		}
+	]
+}
 
-            ]
-            translation	1.475 1.6 -0.14
-        }
 
-        Transform {
-            children [
-                Shape {
-                    appearance	USE kozijn
-                    geometry	Box { size	0.05 1.3 0.05 }
-                }
 
-            ]
-            translation	1.725 1.6 -0.14
-        }
 
-        Transform {
-            children [
-                Shape {
-                    appearance	USE kozijn
-                    geometry	Box { size	2 0.05 0.05 }
-                }
+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.6 0.925 -0.14
-        }
+	}
+ ]
+translation		1.7	4.05 -4.565
+}
 
-        Transform {
-            children [
-                Shape {
-                    appearance	USE kozijn
-                    geometry	Box { size	2 0.05 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.6 2.275 -0.14
-        }
 
-        #einde keukenraam
+DEF stukmuur3 Transform {
+children[
+	Shape {
+	appearance USE wandkleur
+		geometry 	Box {
+	size	0.07 2.68 3.57
+				}
 
-        #begin toiletraam
+	}
+ ]
+translation		3.155	4.05 -7.215
+}
 
-        Transform {
-            children [
-                Shape {
-                    appearance	USE kozijn
-                    geometry	Box { size	0.05 0.7 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	4.865 1.95 -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	0.05 0.7 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	5.015 1.95 -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
+}
 
-        Transform {
-            children [
-                Shape {
-                    appearance	USE kozijn
-                    geometry	Box { size	0.1 0.05 0.05 }
-                }
 
-            ]
-            translation	4.94 1.625 -0.14
-        }
+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.1 0.05 0.05 }
-                }
+	}
+ ]
+translation		4.025	4.05 -4.96
+}
 
-            ]
-            translation	4.94 2.275 -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     []
+			}
+		}
+	]
+}
 
-        #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 }
-                }
+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.395 1.17 -0.14
-        }
-        Transform {
-            children [
-                Shape {
-                    appearance	USE kozijn
-                    geometry	Box { size	1.13 0.05 0.05 }
-                }
+# deuren.wrl
 
-            ]
-            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 }
-                }
 
-            ]
-            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
-        }
 
-        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
-        }
+#Deuren boven
 
-        Transform {
-            children [
-                Shape {
-                    appearance	USE kozijn
-                    geometry	Box { size	1.51 0.05 0.05 }
-                }
+#deur7
+Transform {
+children[ 
 
-            ]
-            translation	3.995 0.625 -8.86
-        }#1
-        Transform {
-            children [
-                Shape {
-                    appearance	USE kozijn
-                    geometry	Box { size	1.51 0.05 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.995 2.175 -8.86
-        }#2
+]
+translation	0 2.035 0
+}
 
 
-        Transform {
-            children [
-                Shape {
-                    appearance	USE kozijn
-                    geometry	Box { size	0.94 0.05 0.05 }
-                }
 
-            ]
-            translation	2.72 0.625 -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.99 0.05 0.05 }
-                }
+]
+translation	0 2.28 0
+}#ruit boven de deur
 
-            ]
-            translation	2.195 2.675 -8.86
-        }
+#deur
+DEF deuroudersgang Transform {
+center -0.4 0 0
+	children [
 
-        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 }
-                }
+	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	1.225 1.345 -8.86
-        }
 
-        Transform {
-            children [
-                Shape {
-                    appearance	USE kozijn
-                    geometry	Box { size	0.05 2.61 0.05 }
-                }
+DEF deurklink # deurklink.wrl
+
 
-            ]
-            translation	2.225 1.345 -8.86
-        }
 
 
 
-        Transform {
-            children [
-                Shape {
-                    appearance	USE kozijn
-                    geometry	Box { size	0.05 1.5 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
+
 
-            ]
-            translation	3.565 1.4 -8.86
-        }
 
-        #einde ramen achter
+# /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
+}
 
-        # /ramen.wrl
+#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
+}
 
-        # ruiten.wrl
+#ROUTE klikopdeur8.touchTime TO TimeSource8.startTime
+#ROUTE TimeSource8.fraction_changed TO Deuropen8.set_fraction
+#ROUTE Deuropen8.value_changed TO deurtweedeslaapkamergang.rotation
 
 
+#deur9
+Transform {
+children[ 	USE dwarslat
+		USE ruitjeboven 
 
+#deur
+DEF deurkinderkamergang Transform {
+center -0.4 0 0
+	children [
 
-        #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 }
-                }
 
-            ]
-            translation	2.72 1.65 -8.86
-        }#ruit 5 achter
+	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
+}
 
-        #ruit1 keuken
-        Transform {
-            children [
-                Shape {
-                    appearance USE glas
-                    geometry Box { size	0.8 1.3 0.01 }
-                }
+#ROUTE klikopdeur9.touchTime TO TimeSource9.startTime
+#ROUTE TimeSource9.fraction_changed TO Deuropen9.set_fraction
+#ROUTE Deuropen9.value_changed TO deurkinderkamergang.rotation
 
-            ]
-            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 }
-                }
+#deur10
+Transform {
+children[ 	USE dwarslat
+		USE ruitjeboven 
 
-            ]
-            translation	2.15 1.6 -0.14
-        }#ruit 3 keuken
+#deur
+DEF deurbadkamergang Transform {
+center -0.4 0 0
+	children [
 
-        #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 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
+}
 
-        #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
+#ROUTE klikopdeur10.touchTime TO TimeSource10.startTime
+#ROUTE TimeSource10.fraction_changed TO Deuropen10.set_fraction
+#ROUTE Deuropen10.value_changed TO deurbadkamergang.rotation
 
 
+# /deuren.wrl
 
+# trapboven.wrl
 
-        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
 
-        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
 
-        Transform {
-            children [
-                Shape {
-                    appearance USE glas
-                    geometry Box { size	0.95 0.45 0.01 }
-                }
 
-            ]
-            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
+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
+}
 
 
+# /trapboven.wrl
 
+# buitmuur.wrl
 
-                Viewpoint {
-                    fieldOfView    1
-                    jump           TRUE
-                    orientation    1 0 0  0
-                    position       2.5 3.75 -2.5
 
-                    description    "Ouderslaapkamer"
-                }
 
-                Viewpoint {
-                    fieldOfView    1
-                    jump           TRUE
-                    orientation    1 0 0  0
-                    position       2.5 3.75 -5
 
-                    description    "Tweede slaapkamer"
-                }
+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,
 
-                Viewpoint {
-                    fieldOfView    1
-                    jump           TRUE
-                    orientation    1 0 0  0
-                    position       4.5 3.75 -7
+						5.68	8.555	-3.15, #rechtergevel-25
+						5.68	5.40	-6.3,
+						5.68	5.40	-9,
+						5.68	0	-9.0,
 
-                    description    "Kinderkamer"
-                }
+						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       4.5 3.75 -1.5
 
-                    description    "Badkamer"
-                }
+						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, 
 
-                #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
-                }
+						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
 
-                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	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, #
 
+						0	2.7	-9, #63
+						0.14	2.7	-8.86, #
 
-                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     []
-                            }
-                        }
-                    ]
-                }
+						5.68	2.7	-9, #65
+						5.54	2.7	-8.86, #
 
+						1.2	2.7	-9, #67
+						1.2	2.7	-8.86, #
 
+						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
 
-                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
-                }
+					]
+				}
+				normal            NULL
+				texCoord          NULL
+				ccw               TRUE
+				colorIndex        []
+				colorPerVertex    TRUE
+				convex            TRUE
+				coordIndex  [
+		16, 21, 3, 59, -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, 2, 20, -1,
 
+		2, 19, 61, -1,
 
-                DEF stukmuur3 Transform {
-                    children[
-                        Shape {
-                            appearance USE wandkleur
-                            geometry 	Box {
-                                size	0.07 2.68 3.57
-                            }
+		65, 27, 2, 61, -1, 
 
-                        }
-                    ]
-                    translation		3.155	4.05 -7.215
-                }
+		59, 3, 76, 23, -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
-                }
+		17, 48, 47, 16, -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
-                }
+		18, 49, 48, 17, -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
-                }
+		19, 50, 49, 18, -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
-                }
+		20, 51, 50, 19, -1,
 
+		16, 47, 52, 21, -1,
 
-                DEF stukmuur8 Transform {
-                    children[
-                        Shape {
-                            appearance USE wandkleur
-                            geometry 	Box {
-                                size	0.07 2.50 1.2
-                            }
+		3, 21, 52, 71, -1, 
 
-                        }
-                    ]
-                    translation		4.025	4.05 -4.96
-                }
+		20, 2, 72, 51, -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     []
-                            }
-                        }
-                    ]
-                }
+		2, 27, 73, 72, -1,
 
+		27, 32, 56, 73, -1,
 
+		63, 64, 75, 76, -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
-                }
+		3, 76, 75, 71, -1,
 
-                # deuren.wrl
+		#27, 32, 69, 65, -1,
+		27, 65, 69, 32, -1,
 
+		32, 69, 70, 56, -1,
 
+		59, 17, 16, -1,
 
+		59, 61, 17, -1,
 
+		17, 61 , 18. -1,
 
-                #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
+		18, 61, 19, -1,
 
-                        #deur
-                        DEF deuroudersgang Transform {
-                            center -0.4 0 0
-                            children [
 
+]     #default []
+				creaseAngle       0
+				normalIndex       []
+				normalPerVertex   TRUE
+				solid             FALSE
+				texCoordIndex     []
+			}
+		}
+	]
+}
 
 
-                                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
 
-                                                        -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,
+# /buitmuur.wrl
 
-                                                ]     #default []
-                                                creaseAngle       0
-                                                normalIndex       []
-                                                normalPerVertex   TRUE
-                                                solid             TRUE
-                                                #texCoordIndex     []
-                                            }
-                                        }#enehelft
+# binmuur.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
-                                        }
-
-
-
-                                    ]
-
-                                    translation 0.35 0 0.035
-                                    rotation 0 0 1 1.5707963
-                                }#deurklink
-
-
-
-                                # /deurklink.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,
 
-                                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
-                }
+						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,
 
-                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.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,
 
-                ROUTE klikopdeur8.touchTime TO TimeSource8.startTime
-                ROUTE TimeSource8.fraction_changed TO Deuropen8.set_fraction
-                ROUTE Deuropen8.value_changed TO deurtweedeslaapkamergang.rotation
 
+						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
 
-                #deur9
-                Transform {
-                    children[ 	USE dwarslat
-                        USE ruitjeboven
+						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,
 
-                        #deur
-                        DEF deurkinderkamergang Transform {
-                            center -0.4 0 0
-                            children [
+						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
 
-                                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
-                        }
+						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
 
-                    ]
-                    translation 3.59 2.8 -5.465
-                    rotation 0 1 0 3.1415927
-                }
+						0.28	2.7	-0.28, #63 extra punten voor segmentering boven
+						0.14	2.7	-0.14,
 
-                ROUTE klikopdeur9.touchTime TO TimeSource9.startTime
-                ROUTE TimeSource9.fraction_changed TO Deuropen9.set_fraction
-                ROUTE Deuropen9.value_changed TO deurkinderkamergang.rotation
+						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, #
 
-                #deur10
-                Transform {
-                    children[ 	USE dwarslat
-                        USE ruitjeboven
+						5.4	2.7	-8.72, #69
+						5.54	2.7	-8.86, #
 
-                        #deur
-                        DEF deurbadkamergang Transform {
-                            center -0.4 0 0
-                            children [
+						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, #
 
+						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
 
-                                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
-                        }
+					]
+				}
+				normal            NULL
+				texCoord          NULL
+				ccw               TRUE
+				colorIndex        []
+				colorPerVertex    TRUE
+				convex            TRUE
+				coordIndex  [
 
-                    ]
-                    translation 4.01 2.8 -2.325
-                    rotation 0 1 0 0
-                }
 
 
+		16, 21, 3, 63, -1,
 
-                ROUTE klikopdeur10.touchTime TO TimeSource10.startTime
-                ROUTE TimeSource10.fraction_changed TO Deuropen10.set_fraction
-                ROUTE Deuropen10.value_changed TO deurbadkamergang.rotation
+		19, 2, 20, -1,
 
+		63, 16, 17, 65, -1,
 
-                # /deuren.wrl
+		17, 18, 19, 65, -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
-                }
+		2, 19, 65, -1,
 
+		69, 27, 2, 65, -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,
+		63, 3, 61, 62, -1,
 
-                                        0	8.555	-3.15, #linkergevel-22
-                                        0	2.7	-9.0,
-                                        0	0	-9.0,
+		16, 47, 48, 17, -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,
+		17, 48, 49, 18, -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,
+		18, 49, 50, 19, -1, 
 
+		19, 50, 51, 20, -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
+		21, 52, 47, 16, -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,
+		73, 74, 56, 32, -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,
+		69, 73, 32, 27, -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
+		3, 21, 52, 75 -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
+		20, 2, 76, 51, -1,
 
-                                        0	2.7	0, #59 extra punten voor segmentering beneden
-                                        0.14	2.7	-0.14,
+		3, 61, 79, 75, -1,
 
-                                        5.68	2.7	0, #61
-                                        5.54	2.7	-0.14, #
+		2, 27, 77, 76, -1,
 
-                                        0	2.7	-9, #63
-                                        0.14	2.7	-8.86, #
+		62, 61, 79, 78, -1,
 
-                                        5.68	2.7	-9, #65
-                                        5.54	2.7	-8.86, #
+		27, 32, 56, 77, -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, #
 
-                                        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
+]     #default []
+				creaseAngle       0
+				normalIndex       []
+				normalPerVertex   TRUE
+				solid             FALSE
+				texCoordIndex     []
+			}
+		}
+	]
+}
 
-                                    ]
-                                }
-                                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,
+# /binmuur.wrl
 
-                                    65, 27, 2, 61, -1,
+# ramen.wrl
 
-                                    59, 3, 76, 23, -1,
 
-                                    17, 48, 47, 16, -1,
 
-                                    18, 49, 48, 17, -1,
 
-                                    19, 50, 49, 18, -1,
 
-                                    20, 51, 50, 19, -1,
 
-                                    16, 47, 52, 21, -1,
+#begin bovenraam
 
-                                    3, 21, 52, 71, -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
+}
 
-                                    20, 2, 72, 51, -1,
+geometry	Box { size	3.82 0.05 0.05 }
+}
 
-                                    2, 27, 73, 72, -1,
+]
+translation	2.51 5.025 -0.14
+}
 
-                                    27, 32, 56, 73, -1,
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	3.82 0.1 0.05 }
+}
 
-                                    63, 64, 75, 76, -1,
+]
+translation	2.51 5.35 -0.14
+}
 
-                                    3, 76, 75, 71, -1,
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	0.05 1.8 0.05 }
+}
 
-                                    #27, 32, 69, 65, -1,
-                                    27, 65, 69, 32, -1,
+]
+translation	0.625 4.5 -0.14
+}
 
-                                    32, 69, 70, 56, -1,
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	0.05 1.8 0.05 }
+}
 
-                                    59, 17, 16, -1,
+]
+translation	1.475 4.5 -0.14
+}
 
-                                    59, 61, 17, -1,
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	0.05 0.25 0.05 }
+}
 
-                                    17, 61 , 18, -1,
+]
+translation	4.395 5.175 -0.14
+}
 
-                                    18, 61, 19, -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 }
+}
 
-                                ]     #default []
-                                creaseAngle       0
-                                normalIndex       []
-                                normalPerVertex   TRUE
-                                solid             FALSE
-                                texCoordIndex     []
-                            }
-                        }
-                    ]
-                }
+]
+translation	3.05 5.175 -0.14
+}
 
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	0.9 0.05 0.05 }
+}
 
+]
+translation	1.05 3.625 -0.14
+}
 
-                # /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,
+#einde bovenraam
+#begin kozijnen achter
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	0.05 2.4 0.05 }
+}
 
-                                        0.28	8.55	-3.15, #linkergevel-22
-                                        0.28	2.70	-8.72,
-                                        0.28	0	-8.72,
+]
+translation	3.215 3.9 -8.86
+}
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	0.05 2.4 0.05 }
+}
 
-                                        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,
+]
+translation	4.775 3.9 -8.86
+}
+Transform {
+	children [
+		Shape {
+appearance	USE blauw 
+geometry	Box { size	1.61 0.3 0.05 }
+}
 
-                                        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,
+]
+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
+}
 
-                                        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
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	1.51 0.05 0.05 }
+}
 
-                                        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,
+]
+translation	3.995 3.525 -8.86
+}#3
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	1.51 0.05 0.05 }
+}
 
-                                        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.995 5.075 -8.86
+}#4
 
-                                        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.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, #
 
-                                        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, #
+Transform {
+	children [
+		Shape {
+appearance	USE kozijn 
+geometry	Box { size	0.05 1.5 0.05 }
+}
 
-                                        1.2	2.7	-8.72, #71
-                                        1.2	2.7	-8.86, #
+]
+translation	3.565 4.3 -8.86
+}
 
-                                        4.8	2.7	-8.72, #73
-                                        4.8	2.7	-8.86, #
 
-                                        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  [
+#einde ramen achter
 
 
 
-                                    16, 21, 3, 63, -1,
+# /ramen.wrl
 
-                                    19, 2, 20, -1,
+# ruiten.wrl
 
-                                    63, 16, 17, 65, -1,
 
-                                    17, 18, 19, 65, -1,
 
-                                    2, 19, 65, -1,
 
-                                    69, 27, 2, 65, -1,
 
-                                    63, 3, 61, 62, -1,
 
-                                    16, 47, 48, 17, -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
+}
 
-                                    17, 48, 49, 18, -1,
+			geometry Box { size	0.8 1.35 0.01 }
+}
 
-                                    18, 49, 50, 19, -1,
+]
+translation	1.05 4.325 -0.14
+}#ruit 1 boven
 
-                                    19, 50, 51, 20, -1,
+Transform {
+	children [
+		Shape {
+appearance USE glas
+			geometry Box { size	0.8 0.3 0.01 }
+}
 
-                                    21, 52, 47, 16, -1,
+]
+translation	1.05 5.2 -0.14
+}#ruit 2 boven
 
-                                    73, 74, 56, 32, -1,
+Transform {
+	children [
+		Shape {
+appearance USE glas
+			geometry Box { size	1.1 0.3 0.01 }
+}
 
-                                    69, 73, 32, 27, -1,
+]
+translation	2.05 5.2 -0.14
+}#ruit 3 boven
 
-                                    3, 21, 52, 75 -1,
+Transform {
+	children [
+		Shape {
+appearance USE glas
+			geometry Box { size	0.85 0.3 0.01 }
+}
 
-                                    20, 2, 76, 51, -1,
+]
+translation	3.935 5.2 -0.14
+}#ruit 4 boven
 
-                                    3, 61, 79, 75, -1,
 
-                                    2, 27, 77, 76, -1,
 
-                                    62, 61, 79, 78, -1,
+#ramen achter
+Transform {
+	children [
+		Shape {
+appearance USE glas
+			geometry Box { size	1.16 1.5 0.01 }
+}
 
-                                    27, 32, 56, 77, -1,
+]
+translation	4.17 4.3 -8.86
+}#ruit 1 achter
 
+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
 
-                                ]     #default []
-                                creaseAngle       0
-                                normalIndex       []
-                                normalPerVertex   TRUE
-                                solid             FALSE
-                                texCoordIndex     []
-                            }
-                        }
-                    ]
-                }
 
 
+# /ruiten.wrl
 
-                # /binmuur.wrl
+# /boven/boven.wrl
 
-                # ramen.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
+}
 
-                #begin bovenraam
+Transform {
+children[
 
-                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
-                            }
+	Shape {
+appearance USE rood
+geometry USE pijl
+}
 
-                            geometry	Box { size	3.82 0.05 0.05 }
-                        }
+DEF schuifzolder2 TouchSensor {}
+]
+translation 5.48 5.4 0.3
+}
 
-                    ]
-                    translation	2.51 5.025 -0.14
-                }
+DEF dak Transform {
+children [
+# dak/dak.wrl
 
-                Transform {
-                    children [
-                        Shape {
-                            appearance	USE kozijn
-                            geometry	Box { size	3.82 0.1 0.05 }
-                        }
 
-                    ]
-                    translation	2.51 5.35 -0.14
-                }
 
-                Transform {
-                    children [
-                        Shape {
-                            appearance	USE kozijn
-                            geometry	Box { size	0.05 1.8 0.05 }
-                        }
 
-                    ]
-                    translation	0.625 4.5 -0.14
-                }
+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	
 
-                Transform {
-                    children [
-                        Shape {
-                            appearance	USE kozijn
-                            geometry	Box { size	0.05 1.8 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	1.475 4.5 -0.14
-                }
 
-                Transform {
-                    children [
-                        Shape {
-                            appearance	USE kozijn
-                            geometry	Box { size	0.05 0.25 0.05 }
-                        }
+	0, 13, 14, 3, -1,
+	0, 3, 14, 13, -1,
 
-                    ]
-                    translation	4.395 5.175 -0.14
-                }
+	16, 29, 30, 19, -1,
+	16, 19, 30, 29, -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
-                }
+	0, 1, 12, 13, -1, 
+	0, 13, 12, 1, -1,
 
-                Transform {
-                    children [
-                        Shape {
-                            appearance	USE kozijn
-                            geometry	Box { size	0.9 0.05 0.05 }
-                        }
+	16, 17, 28, 29, -1,
+	16, 29, 28, 17, -1,
 
-                    ]
-                    translation	1.05 3.625 -0.14
-                }
+	1, 12, 15, 2, -1, 
+	1, 2, 15, 12, -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
-                }
+	17, 28, 31, 18, -1,
+	17, 18, 31, 28, -1,
 
-                Transform {
-                    children [
-                        Shape {
-                            appearance	USE kozijn
-                            geometry	Box { size	1.51 0.05 0.05 }
-                        }
+	15, 2, 3, 14, -1, 
+	15, 14, 3, 2, -1,
 
-                    ]
-                    translation	3.995 3.525 -8.86
-                }#3
-                Transform {
-                    children [
-                        Shape {
-                            appearance	USE kozijn
-                            geometry	Box { size	1.51 0.05 0.05 }
-                        }
+	31, 18, 19, 30, -1,
+	31, 30, 19, 18, -1,
+	
+	4, 8, 11, 3, -1, 
+	4, 3, 11, 8, -1, 
 
-                    ]
-                    translation	3.995 5.075 -8.86
-                }#4
+	20, 24, 27, 19, -1,
+	20, 19, 27, 24, -1,
 
+	5, 4, 8, 9, -1, 
+	5, 9, 8, 4, -1, 
 
+	21, 20, 24, 25, -1,
+	21, 25, 24, 20, -1, 
 
+	5, 9, 10, 6, -1,
+	5, 6, 10, 9, -1,
 
+	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,
 
-                Transform {
-                    children [
-                        Shape {
-                            appearance	USE kozijn
-                            geometry	Box { size	0.05 1.5 0.05 }
-                        }
+	6, 10, 11, 3, 2, -1,
+	6, 2, 3, 11, 10, -1,
 
-                    ]
-                    translation	3.565 4.3 -8.86
-                }
+	22, 26, 18, -1,
+	22, 18, 26, -1,
 
+	26, 27, 19, -1,
+	26, 19, 27, -1, 
 
+	26, 19, 18, -1,
+	26, 18, 19, -1,
 
-                #einde ramen achter
+	0, 1, 17, 16, -1,
+	0, 16, 17, 1, -1,
 
+	1, 2, 18, 17, -1,
+	1, 17, 18, 2, -1, 
 
+	3, 0, 16, 19, -1, 
+	3, 19, 16, 0, -1,
 
-                # /ramen.wrl
+	2, 7, 23, 18, -1,
+	2, 18, 23, 7, -1, 
 
-                # ruiten.wrl
+	7, 6, 22, 23, -1, 
+	7, 23, 22, 6, -1,
 
+	5, 6, 22, 21, -1, 
+	5, 21, 22, 6, -1,
 
+	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,
 
+	8, 11, 27, 24, -1,
+	8, 24, 27, 11, -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
-                            }
+	10, 11, 27, 26, -1,
+	10, 26, 27, 11, -1,
 
-                            geometry Box { size	0.8 1.35 0.01 }
-                        }
+	9, 10, 26, 25, -1, 
+	9, 25, 26, 10, -1,
 
-                    ]
-                    translation	1.05 4.325 -0.14
-                }#ruit 1 boven
+	12, 13, 29, 28, -1,
+	12, 28, 29, 13, -1,
 
-                Transform {
-                    children [
-                        Shape {
-                            appearance USE glas
-                            geometry Box { size	0.8 0.3 0.01 }
-                        }
+	12, 15, 31, 28, -1, 
+	12, 28, 31, 15, -1,
 
-                    ]
-                    translation	1.05 5.2 -0.14
-                }#ruit 2 boven
+	14, 15, 31, 30, -1, 
+	14, 30, 31, 15, -1,
 
-                Transform {
-                    children [
-                        Shape {
-                            appearance USE glas
-                            geometry Box { size	1.1 0.3 0.01 }
-                        }
+	13, 14, 30, 29, -1,
+	13, 29, 30, 14, -1,
 
-                    ]
-                    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
 
+]     #default []
+				creaseAngle       0
+				normalIndex       []
+				normalPerVertex   TRUE
+				solid             TRUE
+				texCoordIndex     []
+			}
+		}
+	]
+}
 
 
-                #ramen achter
-                Transform {
-                    children [
-                        Shape {
-                            appearance USE glas
-                            geometry Box { size	1.16 1.5 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	4.17 4.3 -8.86
-                }#ruit 1 achter
 
-                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
 
 
 
-                # /ruiten.wrl
+# /dak/dak.wrl
 
-                # /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
+Transform {
+children[
 
-                                                        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 groen
+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
+]
+rotation 0 1 0 3.1415927
+}
 
-                                                        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 schuifdak TouchSensor {}
 
-                                                    ]
-                                                }
-                                                normal            NULL
-                                                texCoord          NULL
-                                                ccw               TRUE
-                                                colorIndex        []
-                                                colorPerVertex    TRUE
-                                                convex            TRUE
-                                                coordIndex  [
+]
+translation 0.15 6 0.3
+}
 
 
-                                                    0, 13, 14, 3, -1,
-                                                    0, 3, 14, 13, -1,
+Transform {
+children[
 
-                                                    16, 29, 30, 19, -1,
-                                                    16, 19, 30, 29, -1,
+	Shape {
+appearance USE rood
+geometry USE pijl
+}
 
-                                                    0, 1, 12, 13, -1,
-                                                    0, 13, 12, 1, -1,
+DEF schuifdak2 TouchSensor {}
+]
+translation 5.48 6 0.3
+}
 
-                                                    16, 17, 28, 29, -1,
-                                                    16, 29, 28, 17, -1,
+DEF tijd1 TimeSensor {
+	cycleInterval 4
+	enabled       TRUE
+	loop          FALSE
+	startTime     0
+	stopTime      0
+}
 
-                                                    1, 12, 15, 2, -1,
-                                                    1, 2, 15, 12, -1,
+DEF plaats1 PositionInterpolator {
+	key           [0, 1]
+	keyValue      [0 0 0 ,6 0 0]
+}
 
-                                                    17, 28, 31, 18, -1,
-                                                    17, 18, 31, 28, -1,
+DEF tijd1a TimeSensor {
+	cycleInterval 4
+	enabled       TRUE
+	loop          FALSE
+	startTime     0
+	stopTime      0
+}
 
-                                                    15, 2, 3, 14, -1,
-                                                    15, 14, 3, 2, -1,
+DEF plaats1a PositionInterpolator {
+	key           [0, 1]
+	keyValue      [6 0 0 ,0 0 0]
+}
 
-                                                    31, 18, 19, 30, -1,
-                                                    31, 30, 19, 18, -1,
 
-                                                    4, 8, 11, 3, -1,
-                                                    4, 3, 11, 8, -1,
 
-                                                    20, 24, 27, 19, -1,
-                                                    20, 19, 27, 24, -1,
+]
+}#dak
 
-                                                    5, 4, 8, 9, -1,
-                                                    5, 9, 8, 4, -1,
+# zolder/zolder.wrl
 
-                                                    21, 20, 24, 25, -1,
-                                                    21, 25, 24, 20, -1,
 
-                                                    5, 9, 10, 6, -1,
-                                                    5, 6, 10, 9, -1,
 
-                                                    21, 25, 26, 22, -1,
-                                                    21, 22, 26, 25, -1,
+Viewpoint {
+	fieldOfView    1
+	jump           TRUE
+	orientation    1 0 0  0
+	position       2.5 7 -3.15
 
-                                                    7, 6, 2, -1,
-                                                    7, 2, 6, -1,
+	description    "op zolder"
+}
 
-                                                    23, 22, 18, -1,
-                                                    23, 18, 22, -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
+}
 
-                                                    6, 10, 11, 3, 2, -1,
-                                                    6, 2, 3, 11, 10, -1,
 
-                                                    22, 26, 18, -1,
-                                                    22, 18, 26, -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     []
+			}
+		}
+	]
+}
+
+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     []
+			}
+		}
+	]
+}
+
 
-                                                    26, 27, 19, -1,
-                                                    26, 19, 27, -1,
 
-                                                    26, 19, 18, -1,
-                                                    26, 18, 19, -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
+}
 
-                                                    0, 1, 17, 16, -1,
-                                                    0, 16, 17, 1, -1,
 
-                                                    1, 2, 18, 17, -1,
-                                                    1, 17, 18, 2, -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     []
+			}
+		}
+
+]
+}
 
-                                                    3, 0, 16, 19, -1,
-                                                    3, 19, 16, 0, -1,
+# ballustrade.wrl
 
-                                                    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,
+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
 
-                                                    5, 4, 20, 21, -1,
-                                                    5, 21, 20, 4, -1,
+Transform{
+translation 0 0 1
+rotation 0 1 0 1.5707963
+children USE spijlen
+}
 
-                                                    4, 3, 19, 20, -1,
-                                                    4, 20, 19, 3, -1,
+Transform{
+children [
+Shape {
+appearance USE  kozijn
+geometry  Box { size 0.05	0.03	1.05	}
+}
+]
+translation -0.025	0.815	0.525
+}
 
-                                                    9, 8, 24, 25, -1,
-                                                    9, 25, 24, 8, -1,
+Transform{
+children [
+Shape {
+appearance USE  kozijn
+geometry  Box { size 1	0.03	0.05	}
+}
+]
+translation 0.5	0.815	1.025
+}
 
-                                                    8, 11, 27, 24, -1,
-                                                    8, 24, 27, 11, -1,
 
-                                                    10, 11, 27, 26, -1,
-                                                    10, 26, 27, 11, -1,
+]
+translation	4.42	5.4	-3.36
+}
 
-                                                    9, 10, 26, 25, -1,
-                                                    9, 25, 26, 10, -1,
+# /ballustrade.wrl
 
-                                                    12, 13, 29, 28, -1,
-                                                    12, 28, 29, 13, -1,
+# binmuur.wrl
 
-                                                    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     []
+			}
+		}
+	]
+}
 
 
 
-                                                ]     #default []
-                                                creaseAngle       0
-                                                normalIndex       []
-                                                normalPerVertex   TRUE
-                                                solid             TRUE
-                                                texCoordIndex     []
-                                            }
-                                        }
-                                    ]
-                                }
+# /binmuur.wrl
 
+# 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,
 
-                                                    1, 2, 6, 5, -1,
-                                                    1, 5, 6, 2, -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     []
+			}
+		}
+	]
+}
 
-                                                    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,
+# /buitmuur.wrl
 
+# /zolder/zolder.wrl
 
-                                                ]     #default []
-                                                creaseAngle       0
-                                                normalIndex       []
-                                                normalPerVertex   TRUE
-                                                solid             TRUE
-                                                texCoordIndex     []
-                                            }
-                                        }
-                                    ]
-                                }
+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]
+}
 
 
 
-                                # /dak/dak.wrl
+]
+}#zolder
 
-                                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 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
 

+ 88 - 173
examples/webgl_loader_vrml.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<title>three.js webgl - loader - VRML</title>
+		<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>
@@ -12,7 +12,6 @@
 				margin: 0px;
 				overflow: hidden;
 			}
-
 			#info {
 				color: #fff;
 				position: absolute;
@@ -20,195 +19,111 @@
 				width: 100%;
 				text-align: center;
 				z-index: 100;
-				display: block;
+				display:block;
 			}
+			#info a, .button { color: #f00; font-weight: bold; text-decoration: underline; cursor: pointer }
+		</style>
+	</head>
 
-			#info a, .button {
-				color: #f00;
-				font-weight: bold;
-				text-decoration: underline;
-				cursor: pointer
-			}
+	<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>
 
-			#viewpoints {
-				background-color: gray;
-				z-index: 101;
-				position: absolute;
-				width: 140px;
-				top: 10px;
-				left: 10px;
-				padding: 2px;
-				border: 1px solid white;
-			}
+		<script src="../build/three.js"></script>
 
-			#viewpoints div {
-				width: inherit;
-			}
-		</style>
+		<script src="js/controls/OrbitControls.js"></script>
 
-	</head>
+		<script src="js/loaders/VRMLLoader.js"></script>
 
-	<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
-				}
-			}; // key value store of cameras based on VRML viewpoint nodes, stored by their name.
-
-			var vrmlLoader = new THREE.VRMLLoader(vrmlParser, new THREE.LoadingManager(), true);
-
-			var onLoad = function (vrmlTree) {
-				vrmlConverter.render(vrmlTree, scene);
-
-				var viewpointSelector = document.getElementById('viewpoints');
-
-				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);
-						});
-					}
-				}
-
-			};
-
-			var onError = function (error) {
-				var request = error.target;
-				if ( 404 === request.status ) {
-					console.log('VRML Document not found at ' + request.responseURL);
-				}
-				console.log(error);
-			}
+		<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();
 
-			var onProgress = function () {
+			function init() {
+
+				camera = new THREE.PerspectiveCamera( 60, window.innerWidth / window.innerHeight, 0.01, 1e10 );
+				camera.position.z = 6;
+
+				controls = new THREE.OrbitControls( camera );
+
+				controls.rotateSpeed = 5.0;
+				controls.zoomSpeed = 5;
+
+				scene = new THREE.Scene();
+				scene.add( camera );
+
+				// 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 );
+
+				//
+
+				window.addEventListener( 'resize', onWindowResize, false );
 
 			}
 
-			vrmlLoader.load('models/vrml/house.wrl', onLoad, onProgress, onError);
+			function onWindowResize() {
+
+				camera.aspect = window.innerWidth / window.innerHeight;
+				camera.updateProjectionMatrix();
+
+				renderer.setSize( window.innerWidth, window.innerHeight );
 
-			container = document.createElement('div');
-			document.body.appendChild(container);
-			container.appendChild(renderer.domElement);
+				controls.handleResize();
+
+			}
 
-			//
+			function animate() {
 
-			window.addEventListener('resize', onWindowResize, false);
+				requestAnimationFrame( animate );
 
-		}
+				controls.update();
+				renderer.render( scene, camera );
 
-		function onWindowResize() {
-			camera.aspect = window.innerWidth / window.innerHeight;
-			camera.updateProjectionMatrix();
-			renderer.setSize(window.innerWidth, window.innerHeight);
-		}
+				stats.update();
 
-		function animate() {
-			requestAnimationFrame(animate);
-			var delta = clock.getDelta();
-			if ( undefined !== controls ) {
-				controls.update(delta);
 			}
-			animation.update(delta);
-			renderer.render(scene, camera);
-		}
 
-	</script>
+		</script>
 
 	</body>
 </html>