<html>
<head>
<title>3dhtml Example :: MouseCube3D :: Source</title>
<link rel=stylesheet type="text/css" href="../nmspecial.css">
</head>
<body bgcolor="#ffffff" text="#000000">
<pre>
<span class="symbol"><</span>!--
<span class="comment"></span>
--<span class="symbol">></span>
<span class="symbol"><</span>html<span class="symbol">></span>
<span class="symbol"><</span>head<span class="symbol">></span>
<span class="symbol"><</span><span class="predefinedidentifier">title</span><span class="symbol">></span>3dhtml Example :: MouseCube3D<span class="symbol"><</span><span class="symbol">/</span><span class="predefinedidentifier">title</span><span class="symbol">></span>
<span class="symbol"><</span>!-- helper libs --<span class="symbol">></span>
<span class="symbol"><</span>script language<span class="symbol">=</span><span class="string">"JavaScript"</span> <span class="predefinedidentifier">src</span><span class="symbol">=</span><span class="string">"../js/LyrObj.js"</span><span class="symbol">></span><span class="symbol"><</span><span class="symbol">/</span>script<span class="symbol">></span>
<span class="symbol"><</span>script language<span class="symbol">=</span><span class="string">"JavaScript"</span> <span class="predefinedidentifier">src</span><span class="symbol">=</span><span class="string">"../js/ColorUtil.js"</span><span class="symbol">></span><span class="symbol"><</span><span class="symbol">/</span>script<span class="symbol">></span>
<span class="symbol"><</span>!-- core 3dhtml lib --<span class="symbol">></span>
<span class="symbol"><</span>script language<span class="symbol">=</span><span class="string">"JavaScript"</span> <span class="predefinedidentifier">src</span><span class="symbol">=</span><span class="string">"../js/3dhtml.js"</span><span class="symbol">></span><span class="symbol"><</span><span class="symbol">/</span>script<span class="symbol">></span>
<span class="symbol"><</span>!-- modulators --<span class="symbol">></span>
<span class="symbol"><</span>script language<span class="symbol">=</span><span class="string">"JavaScript"</span> <span class="predefinedidentifier">src</span><span class="symbol">=</span><span class="string">"../js/MouseModulator.js"</span><span class="symbol">></span><span class="symbol"><</span><span class="symbol">/</span>script<span class="symbol">></span>
<span class="symbol"><</span>!-- materials --<span class="symbol">></span>
<span class="symbol"><</span>script language<span class="symbol">=</span><span class="string">"JavaScript"</span> <span class="predefinedidentifier">src</span><span class="symbol">=</span><span class="string">"../js/materials.js"</span><span class="symbol">></span><span class="symbol"><</span><span class="symbol">/</span>script<span class="symbol">></span>
<span class="symbol"><</span>script language<span class="symbol">=</span><span class="string">"javascript"</span><span class="symbol">></span>
<span class="symbol"><</span>!-- <span class="comment">
<span class="comment">
<span class="comment">
<span class="reservedword">var</span> cubeModel <span class="symbol">=</span> <span class="reservedword">new</span> Model(<span class="string">"cube"</span>, createColorRectMaterial(<span class="reservedword">new</span> Color(<span class="string">"000000"</span>), <span class="reservedword">new</span> Color(<span class="string">"ffffff"</span>), <span class="string">"images/space.gif"</span>))<span class="symbol">;</span>
<span class="comment">
<span class="comment">
cubeModel.setPoints(createCubeModelPoints())<span class="symbol">;</span>
<span class="comment">
<span class="comment">
<span class="reservedword">var</span> myMouseModulator <span class="symbol">=</span> <span class="reservedword">new</span> MouseModulator(<span class="string">"myMouseModulator"</span>, <span class="numeric">0</span>)<span class="symbol">;</span>
<span class="comment">
<span class="functionheader">function<span class="functionheadername"> initOnLoad</span><span class="functionheaderargs">()</span> {</span>
fixNetscape()<span class="symbol">;</span>
<span class="comment">
<span class="reservedword">var</span> initMatrix <span class="symbol">=</span> <span class="reservedword">new</span> Matrix()<span class="symbol">;</span>
initMatrix.scale(<span class="numeric">50</span>, <span class="numeric">50</span>, <span class="numeric">50</span>)<span class="symbol">;</span>
<span class="comment">
<span class="comment">
cubeModel.transform(initMatrix)<span class="symbol">;</span>
<span class="comment">
cubeModel.draw()<span class="symbol">;</span>
<span class="comment">
animate()<span class="symbol">;</span>
<span class="braces">}</span>
<span class="comment"></span>
<span class="functionheader">function<span class="functionheadername"> animate</span><span class="functionheaderargs">()</span> {</span>
<span class="reservedword">var</span> delay <span class="symbol">=</span> <span class="numeric">10</span><span class="symbol">;</span>
<span class="comment">
<span class="comment">
myMouseModulator.animate()<span class="symbol">;</span>
<span class="comment">
cubeModel.transform(myMouseModulator.getMatrix())<span class="symbol">;</span>
<span class="comment">
cubeModel.draw()<span class="symbol">;</span>
<span class="comment">
<span class="comment">
<span class="libraryfunction">setTimeout</span>(<span class="string">"animate()"</span>, delay)<span class="symbol">;</span>
<span class="braces">}</span>
<span class="comment">
<span class="predefinedtype">document</span>.onmousemove <span class="symbol">=</span> mouseMoveHandler<span class="symbol">;</span>
<span class="predefinedtype">document</span>.onmousedown <span class="symbol">=</span> mouseDownHandler<span class="symbol">;</span>
<span class="predefinedtype">document</span>.onmouseup <span class="symbol">=</span> mouseUpHandler<span class="symbol">;</span>
<span class="reservedword">if</span> (ns <span class="symbol">|</span><span class="symbol">|</span> ns6) <span class="predefinedtype">document</span>.<span class="reservedword">captureEvents(Event.MOUSEMOVE | Event.MOUSEDOWN | Event.MOUSEUP)</span><span class="symbol">;</span>
<span class="comment"></span>
<span class="functionheader">function<span class="functionheadername"> mouseMoveHandler</span><span class="functionheaderargs">(e)</span> {</span>
<span class="comment">
myMouseModulator.move(e)<span class="symbol">;</span>
<span class="comment"></span>
<span class="reservedword">return</span> !ie<span class="symbol">;</span>
<span class="braces">}</span>
<span class="functionheader">function<span class="functionheadername"> mouseDownHandler</span><span class="functionheaderargs">(e)</span> {</span>
<span class="comment">
myMouseModulator.down(e)<span class="symbol">;</span>
<span class="braces">}</span>
<span class="functionheader">function<span class="functionheadername"> mouseUpHandler</span><span class="functionheaderargs">(e)</span> {</span>
<span class="comment">
myMouseModulator.up(e)<span class="symbol">;</span>
<span class="braces">}</span>
<span class="comment">
<span class="functionheader">function<span class="functionheadername"> createCubeModelPoints</span><span class="functionheaderargs">()</span> {</span>
<span class="comment">
<span class="reservedword">return</span> <span class="reservedword">new</span> <span class="predefinedtype">Array</span>(
<span class="reservedword">new</span> Point3D( <span class="numeric">1</span>, <span class="numeric">1</span>, <span class="numeric">1</span>, <span class="numeric">0</span>),
<span class="reservedword">new</span> Point3D( <span class="numeric">1</span>, <span class="numeric">1</span>, -<span class="numeric">1</span>, <span class="numeric">0</span>),
<span class="reservedword">new</span> Point3D( <span class="numeric">1</span>, -<span class="numeric">1</span>, <span class="numeric">1</span>, <span class="numeric">0</span>),
<span class="reservedword">new</span> Point3D( <span class="numeric">1</span>, -<span class="numeric">1</span>, -<span class="numeric">1</span>, <span class="numeric">0</span>),
<span class="reservedword">new</span> Point3D(-<span class="numeric">1</span>, <span class="numeric">1</span>, <span class="numeric">1</span>, <span class="numeric">0</span>),
<span class="reservedword">new</span> Point3D(-<span class="numeric">1</span>, <span class="numeric">1</span>, -<span class="numeric">1</span>, <span class="numeric">0</span>),
<span class="reservedword">new</span> Point3D(-<span class="numeric">1</span>, -<span class="numeric">1</span>, <span class="numeric">1</span>, <span class="numeric">0</span>),
<span class="reservedword">new</span> Point3D(-<span class="numeric">1</span>, -<span class="numeric">1</span>, -<span class="numeric">1</span>, <span class="numeric">0</span>)
)<span class="symbol">;</span>
<span class="braces">}</span>
<span class="comment">
<span class="symbol"><</span><span class="symbol">/</span>script<span class="symbol">></span>
<span class="symbol"><</span><span class="symbol">/</span>head<span class="symbol">></span>
<span class="symbol"><</span>body onload<span class="symbol">=</span><span class="string">"initOnLoad()"</span> bottommargin<span class="symbol">=</span><span class="string">"0"</span> leftmargin<span class="symbol">=</span><span class="string">"0"</span> marginheight<span class="symbol">=</span><span class="string">"0"</span> marginwidth<span class="symbol">=</span><span class="string">"0"</span> rightmargin<span class="symbol">=</span><span class="string">"0"</span> topmargin<span class="symbol">=</span><span class="string">"0"</span> style<span class="symbol">=</span><span class="string">"height:100%"</span><span class="symbol">></span>
<span class="symbol"><</span>!-- layer to bugfix netscape --<span class="symbol">></span>
<span class="symbol"><</span>div id<span class="symbol">=</span><span class="string">"fixnetscape"</span> style<span class="symbol">=</span><span class="string">"position:absolute;visibility:hidden"</span><span class="symbol">></span><span class="symbol"><</span><span class="symbol">/</span>div<span class="symbol">></span>
<span class="symbol"><</span>script language<span class="symbol">=</span><span class="string">"JavaScript"</span> <span class="predefinedidentifier">type</span><span class="symbol">=</span><span class="string">"text/javascript"</span><span class="symbol">></span>
<span class="symbol"><</span>!-- <span class="comment">
<span class="comment">
<span class="comment">
<span class="comment">
cubeModel.createPointCode()<span class="symbol">;</span>
<span class="comment">
<span class="symbol"><</span><span class="symbol">/</span>script<span class="symbol">></span>
<span class="symbol"><</span><span class="symbol">/</span>body<span class="symbol">></span>
<span class="symbol"><</span><span class="symbol">/</span>html<span class="symbol">></span>
</pre>
<br>
Syntax highlighted by <a href="http://www.palfrader.org/code2html" target="_blank">Code2HTML</a>, v. 0.9, modified by <a href="http://www.netzministerium.de/" target="_blank">Netzministerium</a>, 2001.
</body>
</html>
Syntax highlighted by Code2HTML, v. 0.9, modified by Netzministerium, 2001.