jax 0.0.0.9 → 0.0.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (426) hide show
  1. data/CHANGELOG +6 -0
  2. data/jax.gemspec +6 -2
  3. data/lib/jax/generators/app/templates/public/javascripts/jax.js +1 -1
  4. data/lib/jax/version.rb +1 -1
  5. metadata +3 -533
  6. data/guides/assets/images/book_icon.gif +0 -0
  7. data/guides/assets/images/bullet.gif +0 -0
  8. data/guides/assets/images/chapters_icon.gif +0 -0
  9. data/guides/assets/images/check_bullet.gif +0 -0
  10. data/guides/assets/images/credits_pic_blank.gif +0 -0
  11. data/guides/assets/images/edge_badge.png +0 -0
  12. data/guides/assets/images/feature_tile.gif +0 -0
  13. data/guides/assets/images/footer_tile.gif +0 -0
  14. data/guides/assets/images/getting_started/clean_passing_jasmine_suite.png +0 -0
  15. data/guides/assets/images/getting_started/dungeon-complete.png +0 -0
  16. data/guides/assets/images/getting_started/dungeon-normal-map.png +0 -0
  17. data/guides/assets/images/getting_started/dungeon-rainbow-textured.png +0 -0
  18. data/guides/assets/images/getting_started/dungeon-rainbow.png +0 -0
  19. data/guides/assets/images/getting_started/dungeon-textured-lighting.png +0 -0
  20. data/guides/assets/images/getting_started/dungeon-textured.png +0 -0
  21. data/guides/assets/images/getting_started/rock.png +0 -0
  22. data/guides/assets/images/getting_started/rock_normal.png +0 -0
  23. data/guides/assets/images/getting_started/teapot-red-directional-point.png +0 -0
  24. data/guides/assets/images/getting_started/teapot-red-directional.png +0 -0
  25. data/guides/assets/images/getting_started/teapot-red-nolight.png +0 -0
  26. data/guides/assets/images/getting_started/teapot-red-spot-point-directional.png +0 -0
  27. data/guides/assets/images/getting_started/teapot-white.png +0 -0
  28. data/guides/assets/images/getting_started/teapot-with-model.png +0 -0
  29. data/guides/assets/images/grey_bullet.gif +0 -0
  30. data/guides/assets/images/header_backdrop.png +0 -0
  31. data/guides/assets/images/header_tile.gif +0 -0
  32. data/guides/assets/images/icons/README +0 -5
  33. data/guides/assets/images/icons/callouts/1.png +0 -0
  34. data/guides/assets/images/icons/callouts/10.png +0 -0
  35. data/guides/assets/images/icons/callouts/11.png +0 -0
  36. data/guides/assets/images/icons/callouts/12.png +0 -0
  37. data/guides/assets/images/icons/callouts/13.png +0 -0
  38. data/guides/assets/images/icons/callouts/14.png +0 -0
  39. data/guides/assets/images/icons/callouts/15.png +0 -0
  40. data/guides/assets/images/icons/callouts/2.png +0 -0
  41. data/guides/assets/images/icons/callouts/3.png +0 -0
  42. data/guides/assets/images/icons/callouts/4.png +0 -0
  43. data/guides/assets/images/icons/callouts/5.png +0 -0
  44. data/guides/assets/images/icons/callouts/6.png +0 -0
  45. data/guides/assets/images/icons/callouts/7.png +0 -0
  46. data/guides/assets/images/icons/callouts/8.png +0 -0
  47. data/guides/assets/images/icons/callouts/9.png +0 -0
  48. data/guides/assets/images/icons/caution.png +0 -0
  49. data/guides/assets/images/icons/example.png +0 -0
  50. data/guides/assets/images/icons/home.png +0 -0
  51. data/guides/assets/images/icons/important.png +0 -0
  52. data/guides/assets/images/icons/next.png +0 -0
  53. data/guides/assets/images/icons/note.png +0 -0
  54. data/guides/assets/images/icons/prev.png +0 -0
  55. data/guides/assets/images/icons/tip.png +0 -0
  56. data/guides/assets/images/icons/up.png +0 -0
  57. data/guides/assets/images/icons/warning.png +0 -0
  58. data/guides/assets/images/nav_arrow.gif +0 -0
  59. data/guides/assets/images/tab_grey.gif +0 -0
  60. data/guides/assets/images/tab_info.gif +0 -0
  61. data/guides/assets/images/tab_note.gif +0 -0
  62. data/guides/assets/images/tab_red.gif +0 -0
  63. data/guides/assets/images/tab_yellow.gif +0 -0
  64. data/guides/assets/images/tab_yellow.png +0 -0
  65. data/guides/assets/javascripts/guides.js +0 -7
  66. data/guides/assets/javascripts/syntaxhighlighter/shBrushAS3.js +0 -59
  67. data/guides/assets/javascripts/syntaxhighlighter/shBrushAppleScript.js +0 -75
  68. data/guides/assets/javascripts/syntaxhighlighter/shBrushBash.js +0 -59
  69. data/guides/assets/javascripts/syntaxhighlighter/shBrushCSharp.js +0 -65
  70. data/guides/assets/javascripts/syntaxhighlighter/shBrushColdFusion.js +0 -100
  71. data/guides/assets/javascripts/syntaxhighlighter/shBrushCpp.js +0 -125
  72. data/guides/assets/javascripts/syntaxhighlighter/shBrushCss.js +0 -91
  73. data/guides/assets/javascripts/syntaxhighlighter/shBrushDelphi.js +0 -55
  74. data/guides/assets/javascripts/syntaxhighlighter/shBrushDiff.js +0 -41
  75. data/guides/assets/javascripts/syntaxhighlighter/shBrushErlang.js +0 -52
  76. data/guides/assets/javascripts/syntaxhighlighter/shBrushGroovy.js +0 -67
  77. data/guides/assets/javascripts/syntaxhighlighter/shBrushJScript.js +0 -52
  78. data/guides/assets/javascripts/syntaxhighlighter/shBrushJava.js +0 -57
  79. data/guides/assets/javascripts/syntaxhighlighter/shBrushJavaFX.js +0 -58
  80. data/guides/assets/javascripts/syntaxhighlighter/shBrushPerl.js +0 -72
  81. data/guides/assets/javascripts/syntaxhighlighter/shBrushPhp.js +0 -88
  82. data/guides/assets/javascripts/syntaxhighlighter/shBrushPlain.js +0 -33
  83. data/guides/assets/javascripts/syntaxhighlighter/shBrushPowerShell.js +0 -74
  84. data/guides/assets/javascripts/syntaxhighlighter/shBrushPython.js +0 -64
  85. data/guides/assets/javascripts/syntaxhighlighter/shBrushRuby.js +0 -55
  86. data/guides/assets/javascripts/syntaxhighlighter/shBrushSass.js +0 -94
  87. data/guides/assets/javascripts/syntaxhighlighter/shBrushScala.js +0 -51
  88. data/guides/assets/javascripts/syntaxhighlighter/shBrushSql.js +0 -66
  89. data/guides/assets/javascripts/syntaxhighlighter/shBrushVb.js +0 -56
  90. data/guides/assets/javascripts/syntaxhighlighter/shBrushXml.js +0 -69
  91. data/guides/assets/javascripts/syntaxhighlighter/shCore.js +0 -17
  92. data/guides/assets/stylesheets/fixes.css +0 -16
  93. data/guides/assets/stylesheets/main.css +0 -445
  94. data/guides/assets/stylesheets/print.css +0 -52
  95. data/guides/assets/stylesheets/reset.css +0 -43
  96. data/guides/assets/stylesheets/style.css +0 -13
  97. data/guides/assets/stylesheets/syntaxhighlighter/shCore.css +0 -226
  98. data/guides/assets/stylesheets/syntaxhighlighter/shCoreDefault.css +0 -328
  99. data/guides/assets/stylesheets/syntaxhighlighter/shCoreDjango.css +0 -331
  100. data/guides/assets/stylesheets/syntaxhighlighter/shCoreEclipse.css +0 -339
  101. data/guides/assets/stylesheets/syntaxhighlighter/shCoreEmacs.css +0 -324
  102. data/guides/assets/stylesheets/syntaxhighlighter/shCoreFadeToGrey.css +0 -328
  103. data/guides/assets/stylesheets/syntaxhighlighter/shCoreMDUltra.css +0 -324
  104. data/guides/assets/stylesheets/syntaxhighlighter/shCoreMidnight.css +0 -324
  105. data/guides/assets/stylesheets/syntaxhighlighter/shCoreRDark.css +0 -324
  106. data/guides/assets/stylesheets/syntaxhighlighter/shThemeDefault.css +0 -117
  107. data/guides/assets/stylesheets/syntaxhighlighter/shThemeDjango.css +0 -120
  108. data/guides/assets/stylesheets/syntaxhighlighter/shThemeEclipse.css +0 -128
  109. data/guides/assets/stylesheets/syntaxhighlighter/shThemeEmacs.css +0 -113
  110. data/guides/assets/stylesheets/syntaxhighlighter/shThemeFadeToGrey.css +0 -117
  111. data/guides/assets/stylesheets/syntaxhighlighter/shThemeJaxGuides.css +0 -116
  112. data/guides/assets/stylesheets/syntaxhighlighter/shThemeMDUltra.css +0 -113
  113. data/guides/assets/stylesheets/syntaxhighlighter/shThemeMidnight.css +0 -113
  114. data/guides/assets/stylesheets/syntaxhighlighter/shThemeRDark.css +0 -113
  115. data/guides/jax_guides.rb +0 -41
  116. data/guides/jax_guides/common.rb +0 -7
  117. data/guides/jax_guides/generator.rb +0 -287
  118. data/guides/jax_guides/helpers.rb +0 -29
  119. data/guides/jax_guides/indexer.rb +0 -69
  120. data/guides/jax_guides/levenshtein.rb +0 -31
  121. data/guides/jax_guides/textile_extensions.rb +0 -61
  122. data/guides/partials/_top_nav.html.erb +0 -17
  123. data/guides/source/getting_started.textile +0 -1210
  124. data/guides/source/index.html.erb +0 -61
  125. data/guides/source/layout.html.erb +0 -147
  126. data/guides/source/lighting.textile +0 -5
  127. data/guides/source/materials.textile +0 -5
  128. data/guides/source/matrices.textile +0 -5
  129. data/guides/source/shaders.textile +0 -499
  130. data/guides/source/testing.textile +0 -5
  131. data/guides/w3c_validator.rb +0 -91
  132. data/public/images/brickwall.jpg +0 -0
  133. data/public/images/jacks.jpg +0 -0
  134. data/public/images/normal_map.jpg +0 -0
  135. data/public/images/rock.png +0 -0
  136. data/public/images/rockNormal.png +0 -0
  137. data/public/images/rss.png +0 -0
  138. data/public/webgl_not_supported.html +0 -26
  139. data/spec/example_app/Gemfile +0 -1
  140. data/spec/example_app/Rakefile +0 -15
  141. data/spec/example_app/app/controllers/application_controller.js +0 -5
  142. data/spec/example_app/app/controllers/courthouse_controller.js +0 -24
  143. data/spec/example_app/app/controllers/lighting_controller.js +0 -67
  144. data/spec/example_app/app/controllers/noise_controller.js +0 -50
  145. data/spec/example_app/app/controllers/picking_controller.js +0 -32
  146. data/spec/example_app/app/controllers/shadows_controller.js +0 -130
  147. data/spec/example_app/app/controllers/textures_controller.js +0 -52
  148. data/spec/example_app/app/helpers/application_helper.js +0 -3
  149. data/spec/example_app/app/helpers/noise_helper.js +0 -3
  150. data/spec/example_app/app/helpers/picking_helper.js +0 -3
  151. data/spec/example_app/app/helpers/textures_helper.js +0 -3
  152. data/spec/example_app/app/models/blob.js +0 -38
  153. data/spec/example_app/app/models/character.js +0 -23
  154. data/spec/example_app/app/models/door.js +0 -10
  155. data/spec/example_app/app/models/scene.js +0 -19
  156. data/spec/example_app/app/resources/blobs/default.yml +0 -2
  157. data/spec/example_app/app/resources/characters/judge.yml +0 -3
  158. data/spec/example_app/app/resources/doors/courthouse_door.yml +0 -5
  159. data/spec/example_app/app/resources/light_sources/directional_light.yml +0 -13
  160. data/spec/example_app/app/resources/light_sources/point_light.yml +0 -31
  161. data/spec/example_app/app/resources/light_sources/spot_light.yml +0 -15
  162. data/spec/example_app/app/resources/light_sources/sun.yml +0 -7
  163. data/spec/example_app/app/resources/light_sources/textures_point.yml +0 -34
  164. data/spec/example_app/app/resources/materials/blob.yml +0 -28
  165. data/spec/example_app/app/resources/materials/bricks.yml +0 -36
  166. data/spec/example_app/app/resources/materials/lighting_with_shadows.yml +0 -27
  167. data/spec/example_app/app/resources/scenes/courthouse.yml +0 -4
  168. data/spec/example_app/app/shaders/blob/common.ejs +0 -13
  169. data/spec/example_app/app/shaders/blob/fragment.ejs +0 -8
  170. data/spec/example_app/app/shaders/blob/manifest.yml +0 -15
  171. data/spec/example_app/app/shaders/blob/material.js +0 -51
  172. data/spec/example_app/app/shaders/blob/vertex.ejs +0 -40
  173. data/spec/example_app/app/views/courthouse/index.js +0 -4
  174. data/spec/example_app/app/views/lighting/index.js +0 -4
  175. data/spec/example_app/app/views/noise/index.js +0 -4
  176. data/spec/example_app/app/views/picking/index.js +0 -4
  177. data/spec/example_app/app/views/shadows/index.js +0 -6
  178. data/spec/example_app/app/views/textures/index.js +0 -4
  179. data/spec/example_app/config/application.rb +0 -6
  180. data/spec/example_app/config/boot.rb +0 -13
  181. data/spec/example_app/config/routes.rb +0 -8
  182. data/spec/example_app/public/images/185__normalmap.png +0 -0
  183. data/spec/example_app/public/images/face_norm.jpg +0 -0
  184. data/spec/example_app/public/images/rock.png +0 -0
  185. data/spec/example_app/public/images/rockNormal.png +0 -0
  186. data/spec/example_app/public/images/rss.png +0 -0
  187. data/spec/example_app/public/webgl_not_supported.html +0 -26
  188. data/spec/example_app/script/jax +0 -7
  189. data/spec/example_app/spec/javascripts/controllers/noise_controller_spec.js +0 -11
  190. data/spec/example_app/spec/javascripts/controllers/picking_controller_spec.js +0 -11
  191. data/spec/example_app/spec/javascripts/controllers/textures_controller_spec.js +0 -11
  192. data/spec/example_app/spec/javascripts/helpers/application_helper_spec.js +0 -12
  193. data/spec/example_app/spec/javascripts/helpers/noise_helper_spec.js +0 -12
  194. data/spec/example_app/spec/javascripts/helpers/picking_helper_spec.js +0 -12
  195. data/spec/example_app/spec/javascripts/models/blob_spec.js +0 -11
  196. data/spec/example_app/spec/javascripts/resources/directional_light_spec.js +0 -16
  197. data/spec/example_app/spec/javascripts/resources/point_light_spec.js +0 -17
  198. data/spec/example_app/spec/javascripts/resources/spot_light_spec.js +0 -18
  199. data/spec/example_app/spec/javascripts/shaders/blob_spec.js +0 -27
  200. data/spec/example_app/spec/javascripts/support/jasmine.yml +0 -89
  201. data/spec/example_app/spec/javascripts/support/jasmine_runner.rb +0 -32
  202. data/spec/example_app/spec/javascripts/support/spec_helpers/jax_spec_environment_helper.js +0 -33
  203. data/spec/example_app/spec/javascripts/support/spec_helpers/jax_spec_helper.js +0 -93
  204. data/spec/example_app/spec/javascripts/support/spec_layout.html.erb +0 -111
  205. data/spec/javascripts/helpers/jax_spec_environment_helper.js +0 -33
  206. data/spec/javascripts/helpers/jax_spec_helper.js +0 -216
  207. data/spec/javascripts/jax/builtin/meshes/cube_spec.js +0 -10
  208. data/spec/javascripts/jax/builtin/meshes/plane_spec.js +0 -8
  209. data/spec/javascripts/jax/builtin/meshes/quad_spec.js +0 -8
  210. data/spec/javascripts/jax/builtin/meshes/sphere_spec.js +0 -8
  211. data/spec/javascripts/jax/builtin/meshes/teapot_spec.js +0 -8
  212. data/spec/javascripts/jax/builtin/meshes/torus_spec.js +0 -8
  213. data/spec/javascripts/jax/compatibility_spec.js +0 -50
  214. data/spec/javascripts/jax/context_spec.js +0 -82
  215. data/spec/javascripts/jax/controller_spec.js +0 -145
  216. data/spec/javascripts/jax/core/delegation_spec.js +0 -48
  217. data/spec/javascripts/jax/core/events_spec.js +0 -17
  218. data/spec/javascripts/jax/core/matrix_stack_spec.js +0 -28
  219. data/spec/javascripts/jax/core/utils_spec.js +0 -275
  220. data/spec/javascripts/jax/helper_spec.js +0 -33
  221. data/spec/javascripts/jax/model_spec.js +0 -97
  222. data/spec/javascripts/jax/optimizations/material_limitations_spec.js +0 -87
  223. data/spec/javascripts/jax/optimizations/shaders/basic_spec.js +0 -68
  224. data/spec/javascripts/jax/prototype/extensions_spec.js +0 -34
  225. data/spec/javascripts/jax/route_set_spec.js +0 -67
  226. data/spec/javascripts/jax/view_manager_spec.js +0 -17
  227. data/spec/javascripts/jax/webgl/camera_spec.js +0 -159
  228. data/spec/javascripts/jax/webgl/framebuffer_spec.js +0 -46
  229. data/spec/javascripts/jax/webgl/lighting_spec.js +0 -61
  230. data/spec/javascripts/jax/webgl/material_spec.js +0 -118
  231. data/spec/javascripts/jax/webgl/mesh_spec.js +0 -86
  232. data/spec/javascripts/jax/webgl/shader/manifest_spec.js +0 -60
  233. data/spec/javascripts/jax/webgl/shader_chain_spec.js +0 -192
  234. data/spec/javascripts/jax/webgl/shader_spec.js +0 -276
  235. data/spec/javascripts/jax/webgl/tangent_space_spec.js +0 -142
  236. data/spec/javascripts/jax/webgl/texture_spec.js +0 -162
  237. data/spec/javascripts/jax/webgl_spec.js +0 -5
  238. data/spec/javascripts/jax/world_spec.js +0 -161
  239. data/spec/javascripts/jax_spec.js +0 -27
  240. data/spec/javascripts/shaders/core_materials_spec.js +0 -42
  241. data/spec/javascripts/shaders/fog_spec.js +0 -19
  242. data/spec/javascripts/shaders/lighting_spec.js +0 -19
  243. data/spec/javascripts/shaders/normal_map_spec.js +0 -19
  244. data/spec/javascripts/shaders/paraboloid_spec.js +0 -37
  245. data/spec/javascripts/shaders/preprocessor_spec.js +0 -50
  246. data/spec/javascripts/shaders/shadow_map_spec.js +0 -19
  247. data/spec/javascripts/shaders/texture_spec.js +0 -40
  248. data/src/constants.yml +0 -1
  249. data/src/constants.yml.erb +0 -1
  250. data/src/jax.js +0 -119
  251. data/src/jax/anim_frame.js +0 -51
  252. data/src/jax/builtin/all.js +0 -7
  253. data/src/jax/builtin/meshes/cube.js +0 -83
  254. data/src/jax/builtin/meshes/plane.js +0 -63
  255. data/src/jax/builtin/meshes/quad.js +0 -86
  256. data/src/jax/builtin/meshes/sphere.js +0 -65
  257. data/src/jax/builtin/meshes/teapot.js +0 -48
  258. data/src/jax/builtin/meshes/torus.js +0 -64
  259. data/src/jax/compatibility.js +0 -303
  260. data/src/jax/context.js +0 -420
  261. data/src/jax/core.js +0 -42
  262. data/src/jax/core/math.js +0 -55
  263. data/src/jax/core/matrix_stack.js +0 -311
  264. data/src/jax/core/util.js +0 -253
  265. data/src/jax/events.js +0 -234
  266. data/src/jax/geometry.js +0 -7
  267. data/src/jax/geometry/plane.js +0 -113
  268. data/src/jax/mvc/controller.js +0 -195
  269. data/src/jax/mvc/helper.js +0 -35
  270. data/src/jax/mvc/model.js +0 -302
  271. data/src/jax/mvc/route_set.js +0 -125
  272. data/src/jax/mvc/view.js +0 -43
  273. data/src/jax/mvc/view_manager.js +0 -47
  274. data/src/jax/noise.js +0 -206
  275. data/src/jax/prototype/class.js +0 -81
  276. data/src/jax/prototype/core.js +0 -112
  277. data/src/jax/prototype/extensions.js +0 -142
  278. data/src/jax/vendor/ejs.js +0 -4
  279. data/src/jax/vendor/glMatrix.js +0 -3
  280. data/src/jax/webgl.js +0 -98
  281. data/src/jax/webgl/camera.js +0 -526
  282. data/src/jax/webgl/core.js +0 -6
  283. data/src/jax/webgl/core/buffer.js +0 -161
  284. data/src/jax/webgl/core/edge.js +0 -6
  285. data/src/jax/webgl/core/events.js +0 -25
  286. data/src/jax/webgl/core/face.js +0 -8
  287. data/src/jax/webgl/core/framebuffer.js +0 -211
  288. data/src/jax/webgl/material.js +0 -392
  289. data/src/jax/webgl/mesh.js +0 -427
  290. data/src/jax/webgl/scene.js +0 -11
  291. data/src/jax/webgl/scene/frustum.js +0 -260
  292. data/src/jax/webgl/scene/light_manager.js +0 -136
  293. data/src/jax/webgl/scene/light_source.js +0 -294
  294. data/src/jax/webgl/shader.js +0 -296
  295. data/src/jax/webgl/shader/delegator.js +0 -13
  296. data/src/jax/webgl/shader/delegator/attribute.js +0 -53
  297. data/src/jax/webgl/shader/delegator/uniform.js +0 -71
  298. data/src/jax/webgl/shader/manifest.js +0 -64
  299. data/src/jax/webgl/shader/program.js +0 -140
  300. data/src/jax/webgl/shader_chain.js +0 -264
  301. data/src/jax/webgl/texture.js +0 -312
  302. data/src/jax/webgl/world.js +0 -240
  303. data/vendor/ejs/.svn/all-wcprops +0 -17
  304. data/vendor/ejs/.svn/entries +0 -114
  305. data/vendor/ejs/.svn/text-base/Eratta.txt.svn-base +0 -3
  306. data/vendor/ejs/.svn/text-base/license.txt.svn-base +0 -21
  307. data/vendor/ejs/Eratta.txt +0 -3
  308. data/vendor/ejs/example/.svn/all-wcprops +0 -29
  309. data/vendor/ejs/example/.svn/entries +0 -164
  310. data/vendor/ejs/example/.svn/prop-base/ejs.gif.svn-base +0 -5
  311. data/vendor/ejs/example/.svn/text-base/demo.html.svn-base +0 -54
  312. data/vendor/ejs/example/.svn/text-base/ejs.gif.svn-base +0 -0
  313. data/vendor/ejs/example/.svn/text-base/example.css.svn-base +0 -31
  314. data/vendor/ejs/example/.svn/text-base/example.js.svn-base +0 -88
  315. data/vendor/ejs/example/demo.html +0 -54
  316. data/vendor/ejs/example/ejs.gif +0 -0
  317. data/vendor/ejs/example/example.css +0 -31
  318. data/vendor/ejs/example/example.js +0 -88
  319. data/vendor/ejs/lib/.svn/all-wcprops +0 -11
  320. data/vendor/ejs/lib/.svn/entries +0 -62
  321. data/vendor/ejs/lib/.svn/text-base/ejs_fulljslint.js.svn-base +0 -3774
  322. data/vendor/ejs/lib/ejs_fulljslint.js +0 -3774
  323. data/vendor/ejs/license.txt +0 -21
  324. data/vendor/ejs/script/.svn/all-wcprops +0 -17
  325. data/vendor/ejs/script/.svn/entries +0 -96
  326. data/vendor/ejs/script/.svn/prop-base/yuicompressor-2.2.4.jar.svn-base +0 -5
  327. data/vendor/ejs/script/.svn/text-base/production.bat.svn-base +0 -4
  328. data/vendor/ejs/script/.svn/text-base/yuicompressor-2.2.4.jar.svn-base +0 -0
  329. data/vendor/ejs/script/production.bat +0 -4
  330. data/vendor/ejs/script/yuicompressor-2.2.4.jar +0 -0
  331. data/vendor/ejs/src/.svn/all-wcprops +0 -17
  332. data/vendor/ejs/src/.svn/entries +0 -96
  333. data/vendor/ejs/src/.svn/text-base/ejs.js.svn-base +0 -505
  334. data/vendor/ejs/src/.svn/text-base/view.js.svn-base +0 -200
  335. data/vendor/ejs/src/ejs.js +0 -505
  336. data/vendor/ejs/src/view.js +0 -200
  337. data/vendor/ejs/test/.svn/all-wcprops +0 -23
  338. data/vendor/ejs/test/.svn/entries +0 -139
  339. data/vendor/ejs/test/.svn/text-base/index.html.svn-base +0 -18
  340. data/vendor/ejs/test/.svn/text-base/setup_test.html.svn-base +0 -44
  341. data/vendor/ejs/test/.svn/text-base/sidebar.html.svn-base +0 -28
  342. data/vendor/ejs/test/included/.svn/all-wcprops +0 -23
  343. data/vendor/ejs/test/included/.svn/entries +0 -130
  344. data/vendor/ejs/test/included/.svn/text-base/prototype.js.svn-base +0 -4184
  345. data/vendor/ejs/test/included/.svn/text-base/test.css.svn-base +0 -44
  346. data/vendor/ejs/test/included/.svn/text-base/unittest.js.svn-base +0 -564
  347. data/vendor/ejs/test/included/prototype.js +0 -4184
  348. data/vendor/ejs/test/included/test.css +0 -44
  349. data/vendor/ejs/test/included/unittest.js +0 -564
  350. data/vendor/ejs/test/index.html +0 -18
  351. data/vendor/ejs/test/setup_test.html +0 -44
  352. data/vendor/ejs/test/sidebar.html +0 -28
  353. data/vendor/ejs/test/templates/.svn/all-wcprops +0 -11
  354. data/vendor/ejs/test/templates/.svn/entries +0 -62
  355. data/vendor/ejs/test/templates/.svn/text-base/test.ejs.svn-base +0 -3
  356. data/vendor/ejs/test/templates/test.ejs +0 -3
  357. data/vendor/ejs/test/tests/.svn/all-wcprops +0 -23
  358. data/vendor/ejs/test/tests/.svn/entries +0 -130
  359. data/vendor/ejs/test/tests/.svn/text-base/rendering.js.svn-base +0 -94
  360. data/vendor/ejs/test/tests/.svn/text-base/templating.js.svn-base +0 -43
  361. data/vendor/ejs/test/tests/.svn/text-base/views.js.svn-base +0 -100
  362. data/vendor/ejs/test/tests/rendering.js +0 -94
  363. data/vendor/ejs/test/tests/templating.js +0 -43
  364. data/vendor/ejs/test/tests/views.js +0 -100
  365. data/vendor/glmatrix/benchmark/js/CanvasMatrix.js +0 -722
  366. data/vendor/glmatrix/benchmark/js/EWGL_math.js +0 -742
  367. data/vendor/glmatrix/benchmark/js/mjs.js +0 -1230
  368. data/vendor/glmatrix/benchmark/matrix_benchmark.html +0 -419
  369. data/vendor/glmatrix/glMatrix-min.js +0 -32
  370. data/vendor/glmatrix/glMatrix.js +0 -1772
  371. data/vendor/glmatrix/unit tests/glMatrix-test.js +0 -74
  372. data/vendor/glmatrix/unit tests/qunit.css +0 -119
  373. data/vendor/glmatrix/unit tests/qunit.js +0 -1069
  374. data/vendor/glmatrix/unit tests/test_glMatrix.html +0 -21
  375. data/vendor/pdoc_template/html/assets/images/pdoc/alias.png +0 -0
  376. data/vendor/pdoc_template/html/assets/images/pdoc/class.png +0 -0
  377. data/vendor/pdoc_template/html/assets/images/pdoc/class_deprecated.png +0 -0
  378. data/vendor/pdoc_template/html/assets/images/pdoc/class_method.png +0 -0
  379. data/vendor/pdoc_template/html/assets/images/pdoc/class_property.png +0 -0
  380. data/vendor/pdoc_template/html/assets/images/pdoc/constant.png +0 -0
  381. data/vendor/pdoc_template/html/assets/images/pdoc/constructor.png +0 -0
  382. data/vendor/pdoc_template/html/assets/images/pdoc/deprecated.png +0 -0
  383. data/vendor/pdoc_template/html/assets/images/pdoc/description.png +0 -0
  384. data/vendor/pdoc_template/html/assets/images/pdoc/information.png +0 -0
  385. data/vendor/pdoc_template/html/assets/images/pdoc/instance_method.png +0 -0
  386. data/vendor/pdoc_template/html/assets/images/pdoc/instance_property.png +0 -0
  387. data/vendor/pdoc_template/html/assets/images/pdoc/method.png +0 -0
  388. data/vendor/pdoc_template/html/assets/images/pdoc/method_deprecated.png +0 -0
  389. data/vendor/pdoc_template/html/assets/images/pdoc/mixin.png +0 -0
  390. data/vendor/pdoc_template/html/assets/images/pdoc/namespace.png +0 -0
  391. data/vendor/pdoc_template/html/assets/images/pdoc/property.png +0 -0
  392. data/vendor/pdoc_template/html/assets/images/pdoc/related_to.png +0 -0
  393. data/vendor/pdoc_template/html/assets/images/pdoc/search-background.png +0 -0
  394. data/vendor/pdoc_template/html/assets/images/pdoc/section-background.png +0 -0
  395. data/vendor/pdoc_template/html/assets/images/pdoc/section.png +0 -0
  396. data/vendor/pdoc_template/html/assets/images/pdoc/selected-section-background.png +0 -0
  397. data/vendor/pdoc_template/html/assets/images/pdoc/subclass.png +0 -0
  398. data/vendor/pdoc_template/html/assets/images/pdoc/superclass.png +0 -0
  399. data/vendor/pdoc_template/html/assets/images/pdoc/utility.png +0 -0
  400. data/vendor/pdoc_template/html/assets/javascripts/pdoc/application.js +0 -478
  401. data/vendor/pdoc_template/html/assets/javascripts/pdoc/prototype.js +0 -4874
  402. data/vendor/pdoc_template/html/assets/javascripts/pdoc/tabs.js +0 -506
  403. data/vendor/pdoc_template/html/assets/stylesheets/jax.css +0 -30
  404. data/vendor/pdoc_template/html/assets/stylesheets/pdoc/api.css +0 -681
  405. data/vendor/pdoc_template/html/assets/stylesheets/pdoc/pygments.css +0 -62
  406. data/vendor/pdoc_template/html/helpers.rb +0 -35
  407. data/vendor/pdoc_template/html/index.erb +0 -18
  408. data/vendor/pdoc_template/html/item_index.js.erb +0 -6
  409. data/vendor/pdoc_template/html/layout.erb +0 -67
  410. data/vendor/pdoc_template/html/leaf.erb +0 -22
  411. data/vendor/pdoc_template/html/node.erb +0 -30
  412. data/vendor/pdoc_template/html/partials/class_relationships.erb +0 -19
  413. data/vendor/pdoc_template/html/partials/classes.erb +0 -7
  414. data/vendor/pdoc_template/html/partials/constructor.erb +0 -5
  415. data/vendor/pdoc_template/html/partials/description.erb +0 -5
  416. data/vendor/pdoc_template/html/partials/link_list.erb +0 -1
  417. data/vendor/pdoc_template/html/partials/method_signatures.erb +0 -14
  418. data/vendor/pdoc_template/html/partials/methodized_note.erb +0 -9
  419. data/vendor/pdoc_template/html/partials/mixins.erb +0 -7
  420. data/vendor/pdoc_template/html/partials/namespaces.erb +0 -7
  421. data/vendor/pdoc_template/html/partials/related_utilities.erb +0 -5
  422. data/vendor/pdoc_template/html/partials/relationships.erb +0 -11
  423. data/vendor/pdoc_template/html/partials/short_description_list.erb +0 -7
  424. data/vendor/pdoc_template/html/partials/title.erb +0 -24
  425. data/vendor/pdoc_template/html/section.erb +0 -18
  426. data/vendor/yuicompressor-2.4.2.jar +0 -0
@@ -1,742 +0,0 @@
1
- (function(){
2
- var precision = 1e-6;
3
- var identitymatrix = [1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];
4
-
5
- var matrix = function(els){
6
- this.elements = new WebGLFloatArray( els || identitymatrix);
7
- //this.matrixstack = [];
8
- return this;
9
- };
10
-
11
- matrix.prototype.I = matrix.prototype.identity = function(){
12
- this.elements = identitymatrix;
13
- return this;
14
- };
15
-
16
-
17
- matrix.prototype.e = function(i,j) {
18
- return this.elements[((i-1)*4)+(j-1)];
19
- };
20
-
21
- matrix.prototype.row = function(i){
22
- var e = this.elements;
23
- return [e[i-1],e[3+i],e[7+i],e[11+i]];
24
- };
25
-
26
- matrix.prototype.col = function(i){
27
- var e = this.elements;
28
- return [e[i*4-4],e[i*4-3],e[i*4-2],e[i*4-1]];
29
- };
30
-
31
- matrix.prototype.dimensions = function() {
32
- return {'rows':4,'cols':4};
33
- };
34
-
35
- matrix.prototype.rows = function() {
36
- return 4;
37
- };
38
-
39
- matrix.prototype.cols = function() {
40
- return 4;
41
- };
42
-
43
- matrix.prototype.eql = function(matrix) {
44
- var i = 16,e1 = this.elements,e2 = matrix.elements ;
45
-
46
- return Math.abs(e1[0] - e2[0]) < precision &&
47
- Math.abs(e1[1] - e2[1]) < precision &&
48
- Math.abs(e1[2] - e2[2]) < precision &&
49
- Math.abs(e1[3] - e2[3]) < precision &&
50
- Math.abs(e1[4] - e2[4]) < precision &&
51
- Math.abs(e1[5] - e2[5]) < precision &&
52
- Math.abs(e1[6] - e2[6]) < precision &&
53
- Math.abs(e1[7] - e2[7]) < precision &&
54
- Math.abs(e1[8] - e2[8]) < precision &&
55
- Math.abs(e1[9] - e2[9]) < precision &&
56
- Math.abs(e1[10] - e2[10]) < precision &&
57
- Math.abs(e1[11] - e2[11]) < precision &&
58
- Math.abs(e1[12] - e2[12]) < precision &&
59
- Math.abs(e1[13] - e2[13]) < precision &&
60
- Math.abs(e1[14] - e2[14]) < precision &&
61
- Math.abs(e1[15] - e2[15]) < precision;
62
- };
63
-
64
- matrix.prototype.setElements = function(els){
65
- var e = this.elements;
66
-
67
- e[0] = els[0];
68
- e[1] = els[1];
69
- e[2] = els[2];
70
- e[3] = els[3];
71
-
72
- e[4] = els[4];
73
- e[5] = els[5];
74
- e[6] = els[6];
75
- e[7] = els[7];
76
-
77
- e[8] = els[8];
78
- e[9] = els[9];
79
- e[10] = els[10];
80
- e[11] = els[11];
81
-
82
- e[12] = els[12];
83
- e[13] = els[13];
84
- e[14] = els[14];
85
- e[15] = els[15];
86
-
87
- return this;
88
- };
89
-
90
- matrix.prototype.dup = function(){
91
- return (new matrix(this.elements));
92
- };
93
-
94
- matrix.prototype.map = function(fn) {
95
- var e = this.elements;
96
-
97
- e[0] = fn(e[0], 0, 0)
98
- e[1] = fn(e[1], 0, 1)
99
- e[2] = fn(e[2], 0, 2)
100
- e[3] = fn(e[3], 0, 3)
101
-
102
- e[4] = fn(e[4], 1, 0)
103
- e[5] = fn(e[5], 1, 1)
104
- e[6] = fn(e[6], 1, 2)
105
- e[7] = fn(e[7], 1, 3)
106
-
107
- e[8] = fn(e[8], 2, 0)
108
- e[9] = fn(e[9], 2, 1)
109
- e[10] = fn(e[10], 2, 2)
110
- e[11] = fn(e[11], 2, 3)
111
-
112
- e[12] = fn(e[12], 3, 0)
113
- e[13] = fn(e[13], 3, 1)
114
- e[14] = fn(e[14], 3, 2)
115
- e[15] = fn(e[15], 3, 3)
116
-
117
- return this;
118
- }
119
-
120
- matrix.prototype.add = function(matrix){
121
-
122
- var els1 = this.elements, els2 = matrix.elements;
123
-
124
- els1[0] = els1[0]+els2[0];
125
- els1[1] = els1[1]+els2[1];
126
- els1[2] = els1[2]+els2[2];
127
- els1[3] = els1[3]+els2[3];
128
- els1[4] = els1[4]+els2[4];
129
- els1[5] = els1[5]+els2[5];
130
- els1[6] = els1[6]+els2[6];
131
- els1[7] = els1[7]+els2[7];
132
- els1[8] = els1[8]+els2[8];
133
- els1[9] = els1[9]+els2[9];
134
- els1[10] = els1[10]+els2[10];
135
- els1[11] = els1[11]+els2[11];
136
- els1[12] = els1[12]+els2[12];
137
- els1[14] = els1[13]+els2[13];
138
- els1[14] = els1[14]+els2[14];
139
- els1[15] = els1[15]+els2[15];
140
-
141
- return this;
142
- }
143
-
144
- matrix.prototype.substract =function(matrix){
145
-
146
- var els1 = this.elements,els2 = matrix.elements;
147
-
148
- els1[0] = els1[0]-els2[0];
149
- els1[1] = els1[1]-els2[1];
150
- els1[2] = els1[2]-els2[2];
151
- els1[3] = els1[3]-els2[3];
152
- els1[4] = els1[4]-els2[4];
153
- els1[5] = els1[5]-els2[5];
154
- els1[6] = els1[6]-els2[6];
155
- els1[7] = els1[7]-els2[7];
156
- els1[8] = els1[8]-els2[8];
157
- els1[9] = els1[9]-els2[9];
158
- els1[10] = els1[10]-els2[10];
159
- els1[11] = els1[11]-els2[11];
160
- els1[12] = els1[12]-els2[12];
161
- els1[14] = els1[13]-els2[13];
162
- els1[14] = els1[14]-els2[14];
163
- els1[15] = els1[15]-els2[15];
164
-
165
- return this;
166
- }
167
-
168
- matrix.prototype.multiply = matrix.prototype.x = function(matrix) {
169
- var m1 = this.elements,m2 = matrix.elements || matrix,
170
- m10 = m1[0], m11 = m1[4], m12 = m1[8], m13 = m1[12],
171
- m14 = m1[1], m15 = m1[5], m16 = m1[9], m17 = m1[13],
172
- m18 = m1[2], m19 = m1[6], m110 = m1[10],m111 = m1[14],
173
- m112 = m1[3], m113 = m1[7], m114 = m1[11],m115 = m1[15],
174
-
175
- m20 = m2[0], m21 = m2[4], m22 = m2[8], m23 = m2[12],
176
- m24 = m2[1], m25 = m2[5], m26 = m2[9], m27 = m2[13],
177
- m28 = m2[2], m29 = m2[6], m210 = m2[10],m211 = m2[14],
178
- m212 = m2[3],m213 = m2[7],m214 = m2[11],m215 = m2[15];
179
-
180
-
181
-
182
- m1[0] = m10 * m20 + m11 * m24 + m12 * m28 + m13 * m212;
183
- m1[1] = m14 * m20 + m15 * m24 + m16 * m28 + m17 * m212;
184
- m1[2] = m18 * m20 + m19 * m24 + m110 * m28 + m111 * m212;
185
- m1[3] = m112 * m20 + m113 * m24 + m114 * m28 + m115 * m212;
186
-
187
- m1[4] = m10 * m21 + m11 * m25 + m12 * m29 + m13 * m213;
188
- m1[5] = m14 * m21 + m15 * m25 + m16 * m29 + m17 * m213;
189
- m1[6] = m18 * m21 + m19 * m25 + m110 * m29 + m111 * m213;
190
- m1[7] = m112 * m21 + m113 * m25 + m114 * m29 + m115 * m213;
191
-
192
- m1[8] = m10 * m22 + m11 * m26 + m12 * m210 + m13 * m214;
193
- m1[9] = m14 * m22 + m15 * m26 + m16 * m210 + m17 * m214;
194
- m1[10] = m18 * m22 + m19 * m26 + m110 * m210 + m111 * m214;
195
- m1[11] = m112 * m22 + m113 * m26 + m114 * m210 + m115 * m214;
196
-
197
- m1[12] = m10 * m23 + m11 * m27 + m12 * m211 + m13 * m215;
198
- m1[13] = m14 * m23 + m15 * m27 + m16 * m211 + m17 * m215;
199
- m1[14] = m18 * m23 + m19 * m27 + m110 * m211 + m111 * m215;
200
- m1[15] = m112 * m23 + m113 * m27 + m114 * m211 + m115 * m215;
201
-
202
- return this;
203
- };
204
-
205
- matrix.prototype.translate = function(vector) {
206
- var m1 = this.elements,v1 = vector.elements || vector,
207
- m10 = m1[0], m11 = m1[4], m12 = m1[8], m13 = m1[12],
208
- m14 = m1[1], m15 = m1[5], m16 = m1[9], m17 = m1[13],
209
- m18 = m1[2], m19 = m1[6], m110 = m1[10],m111 = m1[14],
210
- m112 = m1[3], m113 = m1[7], m114 = m1[11],m115 = m1[15],
211
-
212
- m23 = v1[0],m27 = v1[1],m211 = v1[2];
213
-
214
-
215
-
216
- m1[0] = m10;
217
- m1[1] = m14;
218
- m1[2] = m18;
219
- m1[3] = m112;
220
-
221
- m1[4] = m11;
222
- m1[5] = m15;
223
- m1[6] = m19;
224
- m1[7] = m113;
225
-
226
- m1[8] = m12;
227
- m1[9] = m16;
228
- m1[10] = m110;
229
- m1[11] = m114;
230
-
231
- m1[12] = m10 * m23 + m11 * m27 + m12 * m211 + m13;
232
- m1[13] = m14 * m23 + m15 * m27 + m16 * m211 + m17;
233
- m1[14] = m18 * m23 + m19 * m27 + m110 * m211 + m111;
234
- m1[15] = m112 * m23 + m113 * m27 + m114 * m211 + m115;
235
-
236
- return this;
237
- };
238
-
239
- matrix.prototype.rotate = function(theta,vector)
240
- {
241
- var v = vector.elements ? vector.elements : vector,
242
- m1 = this.elements,
243
- v0 = v[0],v1 = v[1],v2 = v[2],
244
- mod = Math.sqrt(v0*v0+v1*v1+v2*v2),
245
- x = v0/mod, y = v1/mod, z = v2/mod,
246
- s = Math.sin(theta), c = Math.cos(theta), t = 1 - c,
247
-
248
- m10 = m1[0], m11 = m1[4], m12 = m1[8], m13 = m1[12],
249
- m14 = m1[1], m15 = m1[5], m16 = m1[9], m17 = m1[13],
250
- m18 = m1[2], m19 = m1[6], m110 = m1[10],m111 = m1[14],
251
- m112 = m1[3], m113 = m1[7], m114 = m1[11],m115 = m1[15],
252
-
253
- m20 = t*x*x + c, m21 = t*x*y-s*z, m22 = t*x*z + s*y,
254
- m24 = t*x*y + s*z, m25 = t*y*y + c, m26 = t*y*z - s*x,
255
- m28 = t*x*z - s*y, m29 = t*y*z + s*x, m210 = t*z*z + c;
256
-
257
- m1[0] = m10 * m20 + m11 * m24 + m12 * m28;
258
- m1[1] = m14 * m20 + m15 * m24 + m16 * m28;
259
- m1[2] = m18 * m20 + m19 * m24 + m110 * m28;
260
- m1[3] = m112 * m20 + m113 * m24 + m114 * m28;
261
-
262
- m1[4] = m10 * m21 + m11 * m25 + m12 * m29;
263
- m1[5] = m14 * m21 + m15 * m25 + m16 * m29;
264
- m1[6] = m18 * m21 + m19 * m25 + m110 * m29;
265
- m1[7] = m112 * m21 + m113 * m25 + m114 * m29;
266
-
267
- m1[8] = m10 * m22 + m11 * m26 + m12 * m210;
268
- m1[9] = m14 * m22 + m15 * m26 + m16 * m210;
269
- m1[10] = m18 * m22 + m19 * m26 + m110 * m210;
270
- m1[11] = m112 * m22 + m113 * m26 + m114 * m210;
271
-
272
- m1[12] = m13;
273
- m1[13] = m17;
274
- m1[14] = m111;
275
- m1[15] = m115;
276
-
277
- return this;
278
- }
279
-
280
- matrix.prototype.scale = function(vector){
281
- var s = vector.elements ? vector.elements : vector,
282
- m1 = this.elements,
283
-
284
- m10 = m1[0], m11 = m1[4], m12 = m1[8], m13 = m1[12],
285
- m14 = m1[1], m15 = m1[5], m16 = m1[9], m17 = m1[13],
286
- m18 = m1[2], m19 = m1[6], m110 = m1[10],m111 = m1[14],
287
- m112 = m1[3], m113 = m1[7], m114 = m1[11],m115 = m1[15],
288
-
289
- m20 = s[0], m25 = s[1], m210 = s[2];
290
-
291
- m1[0] = m10 * m20;
292
- m1[1] = m14 * m20;
293
- m1[2] = m18 * m20;
294
- m1[3] = m112 * m20;
295
-
296
- m1[4] = m11 * m25;
297
- m1[5] = m15 * m25;
298
- m1[6] = m19 * m25;
299
- m1[7] = m113 * m25;
300
-
301
- m1[8] = m12 * m210;
302
- m1[9] = m16 * m210;
303
- m1[10] = m110 * m210;
304
- m1[11] = m114 * m210;
305
-
306
- m1[12] = m13;
307
- m1[13] = m17;
308
- m1[14] = m111;
309
- m1[15] = m115;
310
-
311
- return this;
312
- };
313
-
314
-
315
- matrix.prototype.transpose = function(){
316
- var e = this.elements,
317
-
318
- k = e[1];
319
- e[1] = e[4];
320
- e[4] = k;
321
-
322
- k = e[2];
323
- e[2] = e[8];
324
- e[8] = k;
325
-
326
- k = e[3];
327
- e[3] = e[12];
328
- e[12] = k;
329
-
330
- k = e[6];
331
- e[6] = e[9];
332
- e[9] = k;
333
-
334
- k = e[7];
335
- e[7] = e[13];
336
- e[13] = k;
337
-
338
- k = e[11];
339
- e[11] = e[14];
340
- e[14] = k;
341
-
342
- return this;
343
- };
344
-
345
- matrix.prototype.max = function(){
346
- var e = this.elements, m = e[0], j = e[1];
347
- if (j > m) { m = j}
348
- j = e[2];
349
- if (j > m) { m = j}
350
- j = e[3];
351
- if (j > m) { m = j}
352
- j = e[4];
353
- if (j > m) { m = j}
354
- j = e[5];
355
- if (j > m) { m = j}
356
- j = e[6];
357
- if (j > m) { m = j}
358
- j = e[7];
359
- if (j > m) { m = j}
360
- j = e[8];
361
- if (j > m) { m = j}
362
- j = e[9];
363
- if (j > m) { m = j}
364
- j = e[10];
365
- if (j > m) { m = j}
366
- j = e[12];
367
- if (j > m) { m = j}
368
- j = e[13];
369
- if (j > m) { m = j}
370
- j = e[14];
371
- if (j > m) { m = j}
372
- j = e[15];
373
- if (j > m) { return j}
374
- return m;
375
- };
376
-
377
- matrix.prototype.min = function(){
378
-
379
- var e = this.elements, m = e[0], j = e[1];
380
- if (j < m) { m = j}
381
- j = e[2];
382
- if (j < m) { m = j}
383
- j = e[3];
384
- if (j < m) { m = j}
385
- j = e[4];
386
- if (j < m) { m = j}
387
- j = e[5];
388
- if (j < m) { m = j}
389
- j = e[6];
390
- if (j < m) { m = j}
391
- j = e[7];
392
- if (j < m) { m = j}
393
- j = e[8];
394
- if (j < m) { m = j}
395
- j = e[9];
396
- if (j > m) { m = j}
397
- j = e[10];
398
- if (j < m) { m = j}
399
- j = e[12];
400
- if (j < m) { m = j}
401
- j = e[13];
402
- if (j < m) { m = j}
403
- j = e[14];
404
- if (j < m) { m = j}
405
- j = e[15];
406
- if (j < m) { return j}
407
- return m;
408
- };
409
-
410
- matrix.prototype.indexOf = function(value){
411
- e = this.elements;
412
-
413
- if (e[0] == value) { return new WebGLIntArray([0, 0])}
414
- if (e[1] == value) { return new WebGLIntArray([0, 1])}
415
- if (e[2] == value) { return new WebGLIntArray([0, 2])}
416
- if (e[3] == value) { return new WebGLIntArray([0, 3])}
417
- if (e[4] == value) { return new WebGLIntArray([1, 0])}
418
- if (e[5] == value) { return new WebGLIntArray([1, 1])}
419
- if (e[6] == value) { return new WebGLIntArray([1, 2])}
420
- if (e[7] == value) { return new WebGLIntArray([1, 3])}
421
- if (e[8] == value) { return new WebGLIntArray([2, 0])}
422
- if (e[9] == value) { return new WebGLIntArray([2, 1])}
423
- if (e[10] == value) { return new WebGLIntArray([2, 2])}
424
- if (e[11] == value) { return new WebGLIntArray([2, 3])}
425
- if (e[12] == value) { return new WebGLIntArray([3, 0])}
426
- if (e[13] == value) { return new WebGLIntArray([3, 1])}
427
- if (e[14] == value) { return new WebGLIntArray([3, 2])}
428
- if (e[15] == value) { return new WebGLIntArray([3, 3])}
429
- return null;
430
- };
431
-
432
- matrix.prototype.diagonal = function(){
433
- var els = this.elements;
434
- return [els[0],els[5],els[10],els[15]];
435
- }
436
-
437
- matrix.prototype.determinant = matrix.prototype.det = function() {
438
- var m1 = this.elements,
439
- m00 = m1[0], m01 = m1[4], m02 = m1[8], m03 = m1[12],
440
- m10 = m1[1], m11 = m1[5], m12 = m1[9], m13 = m1[13],
441
- m20 = m1[2], m21 = m1[6], m22 = m1[10], m23 = m1[14],
442
- m30 = m1[3], m31 = m1[7], m32 = m1[11], m33 = m1[15];
443
-
444
- return m03 * m12 * m21 * m30-m02 * m13 * m21 * m30-m03 * m11 * m22 * m30+m01 * m13 * m22 * m30+
445
- m02 * m11 * m23 * m30-m01 * m12 * m23 * m30-m03 * m12 * m20 * m31+m02 * m13 * m20 * m31+
446
- m03 * m10 * m22 * m31-m00 * m13 * m22 * m31-m02 * m10 * m23 * m31+m00 * m12 * m23 * m31+
447
- m03 * m11 * m20 * m32-m01 * m13 * m20 * m32-m03 * m10 * m21 * m32+m00 * m13 * m21 * m32+
448
- m01 * m10 * m23 * m32-m00 * m11 * m23 * m32-m02 * m11 * m20 * m33+m01 * m12 * m20 * m33+
449
- m02 * m10 * m21 * m33-m00 * m12 * m21 * m33-m01 * m10 * m22 * m33+m00 * m11 * m22 * m33;
450
- }
451
-
452
- matrix.prototype.isSingular = function() {
453
- return (this.determinant() === 0);
454
- }
455
-
456
- matrix.prototype.trace = matrix.prototype.tr = function(){
457
- var e = this.elements;
458
- return (e[0]+e[5]+e[10]+e[15])
459
- }
460
-
461
- matrix.prototype.inverse = function(){
462
- var m1 = this.elements,d = this.determinant(),
463
- m00 = m1[0], m01 = m1[4], m02 = m1[8], m03 = m1[12],
464
- m10 = m1[1], m11 = m1[5], m12 = m1[9], m13 = m1[13],
465
- m20 = m1[2], m21 = m1[6], m22 = m1[10], m23 = m1[14],
466
- m30 = m1[3], m31 = m1[7], m32 = m1[11], m33 = m1[15];
467
-
468
- m1[0] = ( m12*m23*m31 - m13*m22*m31 + m13*m21*m32 - m11*m23*m32 - m12*m21*m33 + m11*m22*m33)/d;
469
- m1[1] = ( m13*m22*m30 - m12*m23*m30 - m13*m20*m32 + m10*m23*m32 + m12*m20*m33 - m10*m22*m33)/d;
470
- m1[2] = ( m11*m23*m30 - m13*m21*m30 + m13*m20*m31 - m10*m23*m31 - m11*m20*m33 + m10*m21*m33)/d;
471
- m1[3] = ( m12*m21*m30 - m11*m22*m30 - m12*m20*m31 + m10*m22*m31 + m11*m20*m32 - m10*m21*m32)/d;
472
-
473
- m1[4] = ( m03*m22*m31 - m02*m23*m31 - m03*m21*m32 + m01*m23*m32 + m02*m21*m33 - m01*m22*m33)/d;
474
- m1[5] = ( m02*m23*m30 - m03*m22*m30 + m03*m20*m32 - m00*m23*m32 - m02*m20*m33 + m00*m22*m33)/d;
475
- m1[6] = ( m03*m21*m30 - m01*m23*m30 - m03*m20*m31 + m00*m23*m31 + m01*m20*m33 - m00*m21*m33)/d;
476
- m1[7] = ( m01*m22*m30 - m02*m21*m30 + m02*m20*m31 - m00*m22*m31 - m01*m20*m32 + m00*m21*m32)/d;
477
-
478
- m1[8] = ( m02*m13*m31 - m03*m12*m31 + m03*m11*m32 - m01*m13*m32 - m02*m11*m33 + m01*m12*m33)/d;
479
- m1[9] = ( m03*m12*m30 - m02*m13*m30 - m03*m10*m32 + m00*m13*m32 + m02*m10*m33 - m00*m12*m33)/d;
480
- m1[10] = ( m01*m13*m30 - m03*m11*m30 + m03*m10*m31 - m00*m13*m31 - m01*m10*m33 + m00*m11*m33)/d;
481
- m1[11] = ( m02*m11*m30 - m01*m12*m30 - m02*m10*m31 + m00*m12*m31 + m01*m10*m32 - m00*m11*m32)/d;
482
-
483
- m1[12] = ( m03*m12*m21 - m02*m13*m21 - m03*m11*m22 + m01*m13*m22 + m02*m11*m23 - m01*m12*m23)/d;
484
- m1[13] = ( m02*m13*m20 - m03*m12*m20 + m03*m10*m22 - m00*m13*m22 - m02*m10*m23 + m00*m12*m23)/d;
485
- m1[14] = ( m03*m11*m20 - m01*m13*m20 - m03*m10*m21 + m00*m13*m21 + m01*m10*m23 - m00*m11*m23)/d;
486
- m1[15] = ( m01*m12*m20 - m02*m11*m20 + m02*m10*m21 - m00*m12*m21 - m01*m10*m22 + m00*m11*m22)/d;
487
-
488
- return this;
489
- }
490
-
491
- matrix.prototype.view = function(){
492
- var e = this.elements;
493
- return "[ " + e[0] + " , " + e[4] + " , " + e[8] + " , " + e[12] + " ] \n " +
494
- "[ " + e[1] + " , " + e[5] + " , " + e[9] + " , " + e[13] + " ] \n " +
495
- "[ " + e[2] + " , " + e[6] + " , " + e[10] + " , " + e[14] + " ] \n " +
496
- "[ " + e[3] + " , " + e[7] + " , " + e[11] + " , " + e[15] + " ]";
497
- };
498
-
499
- matrix.prototype.rand = function(){
500
-
501
- var e = this.elements;
502
-
503
- e[0] = Math.random()*1000;
504
- e[1] = Math.random()*1000;
505
- e[2] = Math.random()*1000;
506
- e[3] = Math.random()*1000;
507
- e[4] = Math.random()*1000;
508
- e[5] = Math.random()*1000;
509
- e[6] = Math.random()*1000;
510
- e[7] = Math.random()*1000;
511
- e[8] = Math.random()*1000;
512
- e[9] = Math.random()*1000;
513
- e[10] = Math.random()*1000;
514
- e[11] = Math.random()*1000;
515
- e[12] = Math.random()*1000;
516
- e[13] = Math.random()*1000;
517
- e[14] = Math.random()*1000;
518
- e[15] = Math.random()*1000;
519
-
520
- return this;
521
- };
522
-
523
- matrix.I = function(){
524
- return (new matrix());
525
- }
526
- matrix.set = matrix.$ = function(){
527
- var elements = arguments[15] ? [arguments[0],arguments[1],arguments[2],arguments[3],
528
- arguments[4],arguments[5],arguments[6],arguments[7],
529
- arguments[8],arguments[9],arguments[10],arguments[11],
530
- arguments[12],arguments[13],arguments[14],arguments[15]] : arguments[0];
531
- return (new matrix(elements));
532
- }
533
- matrix.makeFrustum = function (left, right, bottom, top, znear, zfar){
534
- return new matrix([ 2*znear/(right-left),
535
- 0,
536
- 0,
537
- 0,
538
- 0,
539
- 2*znear/(top-bottom),
540
- 0,
541
- 0,
542
- (right+left)/(right-left),
543
- (top+bottom)/(top-bottom),
544
- -(zfar+znear)/(zfar-znear),
545
- -1,
546
- 0,
547
- 0,
548
- -2*zfar*znear/(zfar-znear),
549
- 0]);
550
- }
551
-
552
- matrix.makePerspective = function (fovy, aspect, znear, zfar) {
553
-
554
- var top = znear * Math.tan(fovy * Math.PI / 360.0),
555
- bottom = -top,
556
- left = bottom * aspect,
557
- right = top * aspect;
558
-
559
- return new matrix([ 2*znear/(right-left),
560
- 0,
561
- 0,
562
- 0,
563
- 0,
564
- 2*znear/(top-bottom),
565
- 0,
566
- 0,
567
- (right+left)/(right-left),
568
- (top+bottom)/(top-bottom),
569
- -(zfar+znear)/(zfar-znear),
570
- -1,
571
- 0,
572
- 0,
573
- -2*zfar*znear/(zfar-znear),
574
- 0]);
575
- };
576
-
577
- matrix.makeOrtho = function(left, right, bottom, top, znear, zfar) {
578
- return new matrix([ 2 / (right-left),
579
- 0,
580
- 0,
581
- 0,
582
- 0,
583
- 2 / (top-bottom),
584
- 0,
585
- 0,
586
- 0,
587
- 0,
588
- -2 / (zfar-znear),
589
- 0,
590
- -(right+left)/(right-left),
591
- -(top+bottom)/(top-bottom),
592
- -(zfar+znear)/(zfar-znear),
593
- 0]);
594
- };
595
-
596
- matrix.makeRotate = function(angle, axis){
597
- var normAxis = !!axis.elements ? axis.normalize : vector.set(axis).normalize(),
598
- x = normAxis[0], y = normAxis[1], z = normAxis[2],
599
- c = Math.cos(angle),
600
- c1 = 1-c,
601
- s = Math.sin(angle);
602
- return new matrix([ x*x*c1+c,
603
- y*x*c1+z*s,
604
- z*x*c1-y*s,
605
- 0,
606
- x*y*c1-z*s,
607
- y*y*c1+c,
608
- y*z*c1+x*s,
609
- 0,
610
- x*z*c1+y*s,
611
- y*z*c1-x*s,
612
- z*z*c1+c,
613
- 0,
614
- 0,
615
- 0,
616
- 0,
617
- 1]);
618
- };
619
-
620
- matrix.makeScale = function(vector){
621
- var scale = vector.elements ? vector.elements : vector;
622
- return new matrix([ scale[0],
623
- 0,
624
- 0,
625
- 0,
626
- 0,
627
- scale[1],
628
- 0,
629
- 0,
630
- 0,
631
- 0,
632
- scale[2],
633
- 0,
634
- 0,
635
- 0,
636
- 0,
637
- 1]);
638
- };
639
-
640
- matrix.makeTranslate = function(vector){
641
- var translate = vector.elements ? vector.elements : vector;
642
- return new matrix( [1,
643
- 0,
644
- 0,
645
- 0,
646
- 0,
647
- 1,
648
- 0,
649
- 0,
650
- 0,
651
- 0,
652
- 1,
653
- 0,
654
- translate[0],
655
- translate[1],
656
- translate[2],
657
- 1]);
658
- };
659
-
660
- var vector = function(){
661
- this.elements = new WebGLFloatArray(arguments[0] || [0,0,0]);
662
- return this;
663
- };
664
-
665
- vector.prototype.setElements = function(vector){
666
- this.elements[0] = vector[0];
667
- this.elements[1] = vector[1];
668
- this.elements[2] = vector[2];
669
-
670
- return this;
671
- };
672
-
673
- vector.prototype.add = function(vector){
674
- var a = this.elements,
675
- b = vector.elements;
676
-
677
- a[0] = a[0] + b[0];
678
- a[1] = a[1] + b[1];
679
- a[2] = a[2] + b[2];
680
-
681
- return this;
682
- }
683
-
684
- vector.prototype.sub = function(vector){
685
- var a = this.elements,
686
- b = vector.elements;
687
-
688
- a[0] = a[0] - b[0];
689
- a[1] = a[1] - b[1];
690
- a[2] = a[2] - b[2];
691
-
692
- return this;
693
- }
694
-
695
-
696
- vector.prototype.mul = function(vector){
697
- var a = this.elements,
698
- b = vector.elements,
699
- a0 = a[0],a1 = a[1],a2 = a[2],
700
- b0 = b[0],b1 = b[1],b2 = b[2];
701
-
702
- a[0] = a1*b2 - a2*b1;
703
- a[1] = a2*b0 - a0*b2;
704
- a[2] = a0*b1 - a1*b0;
705
-
706
- return this;
707
- }
708
-
709
- vector.prototype.length = function(){
710
- var a = this.elements;
711
-
712
- return Math.sqrt(a[0]*a[0] + a[1]*a[1] + a[2]*a[2]);
713
- };
714
-
715
- vector.prototype.dot = function(vector){
716
- var a = this.elements,
717
- b = vector.elements;
718
-
719
- return a[0] * b[0] +
720
- a[1] * b[1] +
721
- a[2] * b[2];
722
- };
723
-
724
- vector.prototype.normalize = function(){
725
- var a = this.elements,
726
- l = 1/Math.sqrt(a[0]*a[0] + a[1]*a[1] + a[2]*a[2]);
727
-
728
- a[0] = a[0]*l;
729
- a[1] = a[1]*l;
730
- a[2] = a[2]*l;
731
-
732
- return this;
733
- }
734
-
735
- vector.set =function(){
736
- var elements = arguments[2] ? [arguments[0],arguments[1],arguments[2]] : arguments[0];
737
- return (new matrix(elements));
738
- }
739
-
740
- window.v3 = vector;
741
- window.m4x4 = matrix;
742
- })();