@defold-typescript/types 0.53.0 → 0.54.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli-runtime.js +8966 -0
- package/dist/identity-vocabulary.json +660 -0
- package/dist/src/index.d.ts +18 -0
- package/fixtures/defold-1.12.4/b2d_body_doc.json +1327 -0
- package/fixtures/defold-1.12.4/b2d_doc.json +107 -0
- package/fixtures/defold-1.12.4/base_doc.json +758 -0
- package/fixtures/defold-1.12.4/bit_doc.json +404 -0
- package/fixtures/defold-1.12.4/buffer_doc.json +422 -0
- package/fixtures/defold-1.12.4/camera_doc.json +664 -0
- package/fixtures/defold-1.12.4/collectionfactory_doc.json +219 -0
- package/fixtures/defold-1.12.4/collectionproxy_doc.json +289 -0
- package/fixtures/defold-1.12.4/coroutine_doc.json +151 -0
- package/fixtures/defold-1.12.4/crash_doc.json +497 -0
- package/fixtures/defold-1.12.4/debug_doc.json +410 -0
- package/fixtures/defold-1.12.4/factory_doc.json +219 -0
- package/fixtures/defold-1.12.4/font_doc.json +141 -0
- package/fixtures/defold-1.12.4/globals_doc.json +42 -0
- package/fixtures/defold-1.12.4/go-instance-functions.json +111 -0
- package/fixtures/defold-1.12.4/go_doc.json +1901 -0
- package/fixtures/defold-1.12.4/graphics_doc.json +1634 -0
- package/fixtures/defold-1.12.4/gui_doc.json +5249 -0
- package/fixtures/defold-1.12.4/html5_doc.json +64 -0
- package/fixtures/defold-1.12.4/http_doc.json +66 -0
- package/fixtures/defold-1.12.4/image_doc.json +170 -0
- package/fixtures/defold-1.12.4/io_doc.json +399 -0
- package/fixtures/defold-1.12.4/json_doc.json +97 -0
- package/fixtures/defold-1.12.4/label_doc.json +220 -0
- package/fixtures/defold-1.12.4/liveupdate_doc.json +308 -0
- package/fixtures/defold-1.12.4/math_doc.json +702 -0
- package/fixtures/defold-1.12.4/messages_doc.json +579 -0
- package/fixtures/defold-1.12.4/model_doc.json +315 -0
- package/fixtures/defold-1.12.4/msg_doc.json +137 -0
- package/fixtures/defold-1.12.4/os_doc.json +266 -0
- package/fixtures/defold-1.12.4/package_doc.json +139 -0
- package/fixtures/defold-1.12.4/particlefx_doc.json +249 -0
- package/fixtures/defold-1.12.4/physics_doc.json +1120 -0
- package/fixtures/defold-1.12.4/profiler_doc.json +375 -0
- package/fixtures/defold-1.12.4/render_doc.json +1167 -0
- package/fixtures/defold-1.12.4/resource_doc.json +762 -0
- package/fixtures/defold-1.12.4/socket_doc.json +2194 -0
- package/fixtures/defold-1.12.4/sound_doc.json +582 -0
- package/fixtures/defold-1.12.4/sprite_doc.json +245 -0
- package/fixtures/defold-1.12.4/string_doc.json +412 -0
- package/fixtures/defold-1.12.4/sys_doc.json +853 -0
- package/fixtures/defold-1.12.4/table_doc.json +166 -0
- package/fixtures/defold-1.12.4/tilemap_doc.json +374 -0
- package/fixtures/defold-1.12.4/timer_doc.json +153 -0
- package/fixtures/defold-1.12.4/types_doc.json +212 -0
- package/fixtures/defold-1.12.4/vmath_doc.json +1814 -0
- package/fixtures/defold-1.12.4/window_doc.json +388 -0
- package/fixtures/defold-1.12.4/zlib_doc.json +70 -0
- package/fixtures/defold-1.13.0/b2d_body_doc.json +2428 -0
- package/fixtures/defold-1.13.0/b2d_chain_doc.json +394 -0
- package/fixtures/defold-1.13.0/b2d_doc.json +128 -0
- package/fixtures/defold-1.13.0/b2d_fixture_doc.json +594 -0
- package/fixtures/defold-1.13.0/b2d_joint_doc.json +3315 -0
- package/fixtures/defold-1.13.0/b2d_shape_doc.json +802 -0
- package/fixtures/defold-1.13.0/b2d_world_doc.json +1314 -0
- package/fixtures/defold-1.13.0/base_doc.json +758 -0
- package/fixtures/defold-1.13.0/bit_doc.json +404 -0
- package/fixtures/defold-1.13.0/buffer_doc.json +422 -0
- package/fixtures/defold-1.13.0/camera_doc.json +900 -0
- package/fixtures/defold-1.13.0/collectionfactory_doc.json +219 -0
- package/fixtures/defold-1.13.0/collectionproxy_doc.json +289 -0
- package/fixtures/defold-1.13.0/compute_doc.json +182 -0
- package/fixtures/defold-1.13.0/coroutine_doc.json +151 -0
- package/fixtures/defold-1.13.0/crash_doc.json +497 -0
- package/fixtures/defold-1.13.0/debug_doc.json +410 -0
- package/fixtures/defold-1.13.0/editor_doc.json +3665 -0
- package/fixtures/defold-1.13.0/editor_http_doc.json +273 -0
- package/fixtures/defold-1.13.0/editor_json_doc.json +59 -0
- package/fixtures/defold-1.13.0/editor_localization_doc.json +138 -0
- package/fixtures/defold-1.13.0/editor_pprint_doc.json +36 -0
- package/fixtures/defold-1.13.0/editor_tilemap_tiles_doc.json +235 -0
- package/fixtures/defold-1.13.0/editor_zip_doc.json +163 -0
- package/fixtures/defold-1.13.0/editor_zlib_doc.json +48 -0
- package/fixtures/defold-1.13.0/factory_doc.json +219 -0
- package/fixtures/defold-1.13.0/font_doc.json +141 -0
- package/fixtures/defold-1.13.0/globals_doc.json +42 -0
- package/fixtures/defold-1.13.0/go-instance-functions.json +101 -0
- package/fixtures/defold-1.13.0/go_doc.json +1989 -0
- package/fixtures/defold-1.13.0/graphics_doc.json +1886 -0
- package/fixtures/defold-1.13.0/gui_doc.json +5277 -0
- package/fixtures/defold-1.13.0/html5_doc.json +64 -0
- package/fixtures/defold-1.13.0/http_doc.json +66 -0
- package/fixtures/defold-1.13.0/image_doc.json +170 -0
- package/fixtures/defold-1.13.0/import-manifest.json +10558 -0
- package/fixtures/defold-1.13.0/io_doc.json +399 -0
- package/fixtures/defold-1.13.0/json_doc.json +97 -0
- package/fixtures/defold-1.13.0/label_doc.json +220 -0
- package/fixtures/defold-1.13.0/liveupdate_doc.json +330 -0
- package/fixtures/defold-1.13.0/material_doc.json +238 -0
- package/fixtures/defold-1.13.0/math_doc.json +702 -0
- package/fixtures/defold-1.13.0/model_doc.json +412 -0
- package/fixtures/defold-1.13.0/msg_doc.json +137 -0
- package/fixtures/defold-1.13.0/os_doc.json +266 -0
- package/fixtures/defold-1.13.0/package_doc.json +139 -0
- package/fixtures/defold-1.13.0/particlefx_doc.json +249 -0
- package/fixtures/defold-1.13.0/physics_doc.json +1492 -0
- package/fixtures/defold-1.13.0/profiler_doc.json +375 -0
- package/fixtures/defold-1.13.0/render_doc.json +1381 -0
- package/fixtures/defold-1.13.0/resource_doc.json +762 -0
- package/fixtures/defold-1.13.0/socket_doc.json +2194 -0
- package/fixtures/defold-1.13.0/sound_doc.json +582 -0
- package/fixtures/defold-1.13.0/sprite_doc.json +335 -0
- package/fixtures/defold-1.13.0/string_doc.json +412 -0
- package/fixtures/defold-1.13.0/sys_doc.json +1142 -0
- package/fixtures/defold-1.13.0/table_doc.json +166 -0
- package/fixtures/defold-1.13.0/tilemap_doc.json +402 -0
- package/fixtures/defold-1.13.0/timer_doc.json +153 -0
- package/fixtures/defold-1.13.0/types_doc.json +212 -0
- package/fixtures/defold-1.13.0/vmath_doc.json +1814 -0
- package/fixtures/defold-1.13.0/window_doc.json +388 -0
- package/fixtures/defold-1.13.0/zlib_doc.json +70 -0
- package/fixtures/defold-1.13.1/b2d_body_doc.json +2428 -0
- package/fixtures/defold-1.13.1/b2d_chain_doc.json +394 -0
- package/fixtures/defold-1.13.1/b2d_doc.json +128 -0
- package/fixtures/defold-1.13.1/b2d_fixture_doc.json +594 -0
- package/fixtures/defold-1.13.1/b2d_joint_doc.json +3315 -0
- package/fixtures/defold-1.13.1/b2d_shape_doc.json +802 -0
- package/fixtures/defold-1.13.1/b2d_world_doc.json +1314 -0
- package/fixtures/defold-1.13.1/base_doc.json +758 -0
- package/fixtures/defold-1.13.1/bit_doc.json +404 -0
- package/fixtures/defold-1.13.1/buffer_doc.json +422 -0
- package/fixtures/defold-1.13.1/camera_doc.json +900 -0
- package/fixtures/defold-1.13.1/collectionfactory_doc.json +219 -0
- package/fixtures/defold-1.13.1/collectionproxy_doc.json +323 -0
- package/fixtures/defold-1.13.1/compute_doc.json +182 -0
- package/fixtures/defold-1.13.1/coroutine_doc.json +151 -0
- package/fixtures/defold-1.13.1/crash_doc.json +497 -0
- package/fixtures/defold-1.13.1/debug_doc.json +410 -0
- package/fixtures/defold-1.13.1/editor_doc.json +3880 -0
- package/fixtures/defold-1.13.1/editor_http_doc.json +273 -0
- package/fixtures/defold-1.13.1/editor_image_doc.json +128 -0
- package/fixtures/defold-1.13.1/editor_json_doc.json +59 -0
- package/fixtures/defold-1.13.1/editor_localization_doc.json +138 -0
- package/fixtures/defold-1.13.1/editor_pprint_doc.json +36 -0
- package/fixtures/defold-1.13.1/editor_tilemap_tiles_doc.json +235 -0
- package/fixtures/defold-1.13.1/editor_zip_doc.json +163 -0
- package/fixtures/defold-1.13.1/editor_zlib_doc.json +48 -0
- package/fixtures/defold-1.13.1/factory_doc.json +219 -0
- package/fixtures/defold-1.13.1/font_doc.json +141 -0
- package/fixtures/defold-1.13.1/globals_doc.json +42 -0
- package/fixtures/defold-1.13.1/go-instance-functions.json +102 -0
- package/fixtures/defold-1.13.1/go_doc.json +1989 -0
- package/fixtures/defold-1.13.1/graphics_doc.json +1886 -0
- package/fixtures/defold-1.13.1/gui_doc.json +5277 -0
- package/fixtures/defold-1.13.1/html5_doc.json +64 -0
- package/fixtures/defold-1.13.1/http_doc.json +66 -0
- package/fixtures/defold-1.13.1/image_doc.json +170 -0
- package/fixtures/defold-1.13.1/import-manifest.json +10091 -0
- package/fixtures/defold-1.13.1/io_doc.json +399 -0
- package/fixtures/defold-1.13.1/json_doc.json +97 -0
- package/fixtures/defold-1.13.1/label_doc.json +220 -0
- package/fixtures/defold-1.13.1/liveupdate_doc.json +330 -0
- package/fixtures/defold-1.13.1/material_doc.json +238 -0
- package/fixtures/defold-1.13.1/math_doc.json +702 -0
- package/fixtures/defold-1.13.1/model_doc.json +412 -0
- package/fixtures/defold-1.13.1/msg_doc.json +137 -0
- package/fixtures/defold-1.13.1/os_doc.json +266 -0
- package/fixtures/defold-1.13.1/package_doc.json +139 -0
- package/fixtures/defold-1.13.1/particlefx_doc.json +249 -0
- package/fixtures/defold-1.13.1/physics_doc.json +1492 -0
- package/fixtures/defold-1.13.1/profiler_doc.json +375 -0
- package/fixtures/defold-1.13.1/render_doc.json +1381 -0
- package/fixtures/defold-1.13.1/resource_doc.json +762 -0
- package/fixtures/defold-1.13.1/socket_doc.json +2194 -0
- package/fixtures/defold-1.13.1/sound_doc.json +582 -0
- package/fixtures/defold-1.13.1/sprite_doc.json +335 -0
- package/fixtures/defold-1.13.1/string_doc.json +412 -0
- package/fixtures/defold-1.13.1/sys_doc.json +1142 -0
- package/fixtures/defold-1.13.1/table_doc.json +166 -0
- package/fixtures/defold-1.13.1/tilemap_doc.json +402 -0
- package/fixtures/defold-1.13.1/timer_doc.json +153 -0
- package/fixtures/defold-1.13.1/types_doc.json +212 -0
- package/fixtures/defold-1.13.1/vmath_doc.json +1814 -0
- package/fixtures/defold-1.13.1/window_doc.json +388 -0
- package/fixtures/defold-1.13.1/zlib_doc.json +70 -0
- package/fixtures/defold-1.13.2/b2d_body_doc.json +2359 -0
- package/fixtures/defold-1.13.2/b2d_chain_doc.json +395 -0
- package/fixtures/defold-1.13.2/b2d_doc.json +1945 -0
- package/fixtures/defold-1.13.2/b2d_fixture_doc.json +595 -0
- package/fixtures/defold-1.13.2/b2d_joint_doc.json +3178 -0
- package/fixtures/defold-1.13.2/b2d_shape_doc.json +767 -0
- package/fixtures/defold-1.13.2/b2d_world_doc.json +1315 -0
- package/fixtures/defold-1.13.2/base_doc.json +759 -0
- package/fixtures/defold-1.13.2/bit_doc.json +405 -0
- package/fixtures/defold-1.13.2/buffer_doc.json +393 -0
- package/fixtures/defold-1.13.2/bullet3d_collision_object_doc.json +1206 -0
- package/fixtures/defold-1.13.2/bullet3d_constraint_doc.json +2455 -0
- package/fixtures/defold-1.13.2/bullet3d_doc.json +215 -0
- package/fixtures/defold-1.13.2/bullet3d_rigid_body_doc.json +1376 -0
- package/fixtures/defold-1.13.2/bullet3d_shape_doc.json +430 -0
- package/fixtures/defold-1.13.2/bullet3d_world_doc.json +855 -0
- package/fixtures/defold-1.13.2/camera_doc.json +887 -0
- package/fixtures/defold-1.13.2/collectionfactory_doc.json +206 -0
- package/fixtures/defold-1.13.2/collectionproxy_doc.json +397 -0
- package/fixtures/defold-1.13.2/compute_doc.json +183 -0
- package/fixtures/defold-1.13.2/coroutine_doc.json +152 -0
- package/fixtures/defold-1.13.2/crash_doc.json +483 -0
- package/fixtures/defold-1.13.2/debug_doc.json +411 -0
- package/fixtures/defold-1.13.2/editor_doc.json +6320 -0
- package/fixtures/defold-1.13.2/editor_http_doc.json +476 -0
- package/fixtures/defold-1.13.2/editor_image_doc.json +129 -0
- package/fixtures/defold-1.13.2/editor_json_doc.json +81 -0
- package/fixtures/defold-1.13.2/editor_localization_doc.json +139 -0
- package/fixtures/defold-1.13.2/editor_pprint_doc.json +37 -0
- package/fixtures/defold-1.13.2/editor_tilemap_tiles_doc.json +292 -0
- package/fixtures/defold-1.13.2/editor_zip_doc.json +237 -0
- package/fixtures/defold-1.13.2/editor_zlib_doc.json +49 -0
- package/fixtures/defold-1.13.2/factory_doc.json +206 -0
- package/fixtures/defold-1.13.2/font_doc.json +230 -0
- package/fixtures/defold-1.13.2/globals_doc.json +64 -0
- package/fixtures/defold-1.13.2/go-instance-functions.json +106 -0
- package/fixtures/defold-1.13.2/go_doc.json +1789 -0
- package/fixtures/defold-1.13.2/graphics_doc.json +1211 -0
- package/fixtures/defold-1.13.2/gui_doc.json +4735 -0
- package/fixtures/defold-1.13.2/html5_doc.json +65 -0
- package/fixtures/defold-1.13.2/http_doc.json +174 -0
- package/fixtures/defold-1.13.2/image_doc.json +298 -0
- package/fixtures/defold-1.13.2/import-manifest.json +10902 -0
- package/fixtures/defold-1.13.2/io_doc.json +400 -0
- package/fixtures/defold-1.13.2/json_doc.json +140 -0
- package/fixtures/defold-1.13.2/label_doc.json +427 -0
- package/fixtures/defold-1.13.2/liveupdate_doc.json +221 -0
- package/fixtures/defold-1.13.2/material_doc.json +773 -0
- package/fixtures/defold-1.13.2/math_doc.json +703 -0
- package/fixtures/defold-1.13.2/model_doc.json +472 -0
- package/fixtures/defold-1.13.2/msg_doc.json +169 -0
- package/fixtures/defold-1.13.2/os_doc.json +269 -0
- package/fixtures/defold-1.13.2/package_doc.json +140 -0
- package/fixtures/defold-1.13.2/particlefx_doc.json +249 -0
- package/fixtures/defold-1.13.2/physics_doc.json +1624 -0
- package/fixtures/defold-1.13.2/profiler_doc.json +348 -0
- package/fixtures/defold-1.13.2/render_doc.json +1623 -0
- package/fixtures/defold-1.13.2/resource_doc.json +1539 -0
- package/fixtures/defold-1.13.2/socket_doc.json +2335 -0
- package/fixtures/defold-1.13.2/sound_doc.json +673 -0
- package/fixtures/defold-1.13.2/sprite_doc.json +364 -0
- package/fixtures/defold-1.13.2/string_doc.json +413 -0
- package/fixtures/defold-1.13.2/sys_doc.json +1347 -0
- package/fixtures/defold-1.13.2/table_doc.json +167 -0
- package/fixtures/defold-1.13.2/tilemap_doc.json +369 -0
- package/fixtures/defold-1.13.2/timer_doc.json +214 -0
- package/fixtures/defold-1.13.2/types_doc.json +213 -0
- package/fixtures/defold-1.13.2/vmath_doc.json +2056 -0
- package/fixtures/defold-1.13.2/window_doc.json +426 -0
- package/fixtures/defold-1.13.2/zlib_doc.json +71 -0
- package/fixtures/defold-1.14.0/b2d_body_doc.json +2359 -0
- package/fixtures/defold-1.14.0/b2d_chain_doc.json +395 -0
- package/fixtures/defold-1.14.0/b2d_doc.json +1973 -0
- package/fixtures/defold-1.14.0/b2d_fixture_doc.json +595 -0
- package/fixtures/defold-1.14.0/b2d_joint_doc.json +3178 -0
- package/fixtures/defold-1.14.0/b2d_shape_doc.json +767 -0
- package/fixtures/defold-1.14.0/b2d_world_doc.json +1315 -0
- package/fixtures/defold-1.14.0/base_doc.json +759 -0
- package/fixtures/defold-1.14.0/bit_doc.json +405 -0
- package/fixtures/defold-1.14.0/buffer_doc.json +393 -0
- package/fixtures/defold-1.14.0/bullet3d_collision_object_doc.json +1206 -0
- package/fixtures/defold-1.14.0/bullet3d_constraint_doc.json +2455 -0
- package/fixtures/defold-1.14.0/bullet3d_doc.json +243 -0
- package/fixtures/defold-1.14.0/bullet3d_rigid_body_doc.json +1376 -0
- package/fixtures/defold-1.14.0/bullet3d_shape_doc.json +430 -0
- package/fixtures/defold-1.14.0/bullet3d_world_doc.json +855 -0
- package/fixtures/defold-1.14.0/camera_doc.json +887 -0
- package/fixtures/defold-1.14.0/collectionfactory_doc.json +206 -0
- package/fixtures/defold-1.14.0/collectionproxy_doc.json +397 -0
- package/fixtures/defold-1.14.0/compute_doc.json +183 -0
- package/fixtures/defold-1.14.0/coroutine_doc.json +152 -0
- package/fixtures/defold-1.14.0/crash_doc.json +483 -0
- package/fixtures/defold-1.14.0/debug_doc.json +411 -0
- package/fixtures/defold-1.14.0/editor_doc.json +6320 -0
- package/fixtures/defold-1.14.0/editor_http_doc.json +476 -0
- package/fixtures/defold-1.14.0/editor_image_doc.json +129 -0
- package/fixtures/defold-1.14.0/editor_json_doc.json +81 -0
- package/fixtures/defold-1.14.0/editor_localization_doc.json +139 -0
- package/fixtures/defold-1.14.0/editor_pprint_doc.json +37 -0
- package/fixtures/defold-1.14.0/editor_tilemap_tiles_doc.json +292 -0
- package/fixtures/defold-1.14.0/editor_zip_doc.json +237 -0
- package/fixtures/defold-1.14.0/editor_zlib_doc.json +49 -0
- package/fixtures/defold-1.14.0/factory_doc.json +206 -0
- package/fixtures/defold-1.14.0/font_doc.json +230 -0
- package/fixtures/defold-1.14.0/globals_doc.json +64 -0
- package/fixtures/defold-1.14.0/go-instance-functions.json +106 -0
- package/fixtures/defold-1.14.0/go_doc.json +1789 -0
- package/fixtures/defold-1.14.0/graphics_doc.json +1257 -0
- package/fixtures/defold-1.14.0/gui_doc.json +4735 -0
- package/fixtures/defold-1.14.0/html5_doc.json +65 -0
- package/fixtures/defold-1.14.0/http_doc.json +174 -0
- package/fixtures/defold-1.14.0/image_doc.json +298 -0
- package/fixtures/defold-1.14.0/import-manifest.json +10260 -0
- package/fixtures/defold-1.14.0/io_doc.json +400 -0
- package/fixtures/defold-1.14.0/json_doc.json +140 -0
- package/fixtures/defold-1.14.0/label_doc.json +427 -0
- package/fixtures/defold-1.14.0/liveupdate_doc.json +221 -0
- package/fixtures/defold-1.14.0/material_doc.json +773 -0
- package/fixtures/defold-1.14.0/math_doc.json +703 -0
- package/fixtures/defold-1.14.0/model_doc.json +472 -0
- package/fixtures/defold-1.14.0/msg_doc.json +169 -0
- package/fixtures/defold-1.14.0/os_doc.json +269 -0
- package/fixtures/defold-1.14.0/package_doc.json +140 -0
- package/fixtures/defold-1.14.0/particlefx_doc.json +249 -0
- package/fixtures/defold-1.14.0/physics_doc.json +1624 -0
- package/fixtures/defold-1.14.0/profiler_doc.json +348 -0
- package/fixtures/defold-1.14.0/render_doc.json +1628 -0
- package/fixtures/defold-1.14.0/resource_doc.json +1539 -0
- package/fixtures/defold-1.14.0/socket_doc.json +2335 -0
- package/fixtures/defold-1.14.0/sound_doc.json +673 -0
- package/fixtures/defold-1.14.0/sprite_doc.json +364 -0
- package/fixtures/defold-1.14.0/string_doc.json +413 -0
- package/fixtures/defold-1.14.0/sys_doc.json +1347 -0
- package/fixtures/defold-1.14.0/table_doc.json +167 -0
- package/fixtures/defold-1.14.0/tilemap_doc.json +369 -0
- package/fixtures/defold-1.14.0/timer_doc.json +214 -0
- package/fixtures/defold-1.14.0/types_doc.json +213 -0
- package/fixtures/defold-1.14.0/vmath_doc.json +2056 -0
- package/fixtures/defold-1.14.0/window_doc.json +426 -0
- package/fixtures/defold-1.14.0/zlib_doc.json +71 -0
- package/package.json +13 -6
- package/scripts/cli-runtime.ts +18 -0
- package/scripts/example-store-io.ts +2 -2
- package/scripts/extension-goldens.ts +9 -5
- package/scripts/generate-api-availability.ts +1 -1
- package/scripts/generate-api-signatures.ts +1 -1
- package/scripts/import-defold-release.ts +1 -1
- package/scripts/regen.ts +35 -9
- package/scripts/signature-store-fs.ts +37 -17
- package/scripts/sync-api-docs.ts +127 -20
- package/src/api-doc.ts +11 -4
- package/src/emit-dts.ts +115 -21
- package/src/index-slot-classifications.ts +75 -9
- package/src/index.ts +3 -1
- package/src/publish-dts.ts +16 -0
- package/src/script-api.ts +36 -38
- package/src/library-index-slot-classifications.ts +0 -332
|
@@ -0,0 +1,1814 @@
|
|
|
1
|
+
{
|
|
2
|
+
"elements": [
|
|
3
|
+
{
|
|
4
|
+
"type": "FUNCTION",
|
|
5
|
+
"name": "vmath.vector",
|
|
6
|
+
"brief": "create a new vector from a table of values",
|
|
7
|
+
"description": "Creates a vector of arbitrary size. The vector is initialized\nwith numeric values from a table.\n<span class=\"icon-attention\"></span> The table values are converted to floating point\nvalues. If a value cannot be converted, a 0 is stored in that\nvalue position in the vector.",
|
|
8
|
+
"returnvalues": [
|
|
9
|
+
{
|
|
10
|
+
"name": "v",
|
|
11
|
+
"doc": "new vector",
|
|
12
|
+
"types": ["vector"]
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"parameters": [
|
|
16
|
+
{
|
|
17
|
+
"name": "t",
|
|
18
|
+
"doc": "table of numbers",
|
|
19
|
+
"types": ["table"],
|
|
20
|
+
"is_optional": "False"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"examples": "How to create a vector with custom data to be used for animation easing:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">values</span> <span class=\"o\">=</span> <span class=\"p\">{</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mf\">0.5</span><span class=\"p\">,</span> <span class=\"mi\">0</span> <span class=\"p\">}</span>\n<span class=\"kd\">local</span> <span class=\"n\">vec</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector</span><span class=\"p\">(</span><span class=\"n\">values</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vec</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.vector (size: 3)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vec</span><span class=\"p\">[</span><span class=\"mi\">2</span><span class=\"p\">])</span> <span class=\"c1\">--> 0.5</span>\n</code></pre></div>",
|
|
24
|
+
"replaces": "",
|
|
25
|
+
"error": "",
|
|
26
|
+
"tparams": [],
|
|
27
|
+
"members": [],
|
|
28
|
+
"notes": [],
|
|
29
|
+
"language": ""
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"type": "FUNCTION",
|
|
33
|
+
"name": "vmath.vector3",
|
|
34
|
+
"brief": "creates a new zero vector",
|
|
35
|
+
"description": "Creates a new zero vector with all components set to 0.",
|
|
36
|
+
"returnvalues": [
|
|
37
|
+
{
|
|
38
|
+
"name": "v",
|
|
39
|
+
"doc": "new zero vector",
|
|
40
|
+
"types": ["vector3"]
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"parameters": [],
|
|
44
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">vec</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">()</span>\n<span class=\"n\">pprint</span><span class=\"p\">(</span><span class=\"n\">vec</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.vector3(0, 0, 0)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vec</span><span class=\"p\">.</span><span class=\"n\">x</span><span class=\"p\">)</span> <span class=\"c1\">--> 0</span>\n</code></pre></div>",
|
|
45
|
+
"replaces": "",
|
|
46
|
+
"error": "",
|
|
47
|
+
"tparams": [],
|
|
48
|
+
"members": [],
|
|
49
|
+
"notes": [],
|
|
50
|
+
"language": ""
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"type": "FUNCTION",
|
|
54
|
+
"name": "vmath.vector3",
|
|
55
|
+
"brief": "creates a new vector from scalar value",
|
|
56
|
+
"description": "Creates a new vector with all components set to the\nsupplied scalar value.",
|
|
57
|
+
"returnvalues": [
|
|
58
|
+
{
|
|
59
|
+
"name": "v",
|
|
60
|
+
"doc": "new vector",
|
|
61
|
+
"types": ["vector3"]
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
"parameters": [
|
|
65
|
+
{
|
|
66
|
+
"name": "n",
|
|
67
|
+
"doc": "scalar value to splat",
|
|
68
|
+
"types": ["number"],
|
|
69
|
+
"is_optional": "False"
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">vec</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mf\">1.0</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vec</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.vector3(1, 1, 1)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vec</span><span class=\"p\">.</span><span class=\"n\">x</span><span class=\"p\">)</span> <span class=\"c1\">--> 1</span>\n</code></pre></div>",
|
|
73
|
+
"replaces": "",
|
|
74
|
+
"error": "",
|
|
75
|
+
"tparams": [],
|
|
76
|
+
"members": [],
|
|
77
|
+
"notes": [],
|
|
78
|
+
"language": ""
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"type": "FUNCTION",
|
|
82
|
+
"name": "vmath.vector3",
|
|
83
|
+
"brief": "creates a new vector from another existing vector",
|
|
84
|
+
"description": "Creates a new vector with all components set to the\ncorresponding values from the supplied vector. I.e.\nThis function creates a copy of the given vector.",
|
|
85
|
+
"returnvalues": [
|
|
86
|
+
{
|
|
87
|
+
"name": "v",
|
|
88
|
+
"doc": "new vector",
|
|
89
|
+
"types": ["vector3"]
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
"parameters": [
|
|
93
|
+
{
|
|
94
|
+
"name": "v1",
|
|
95
|
+
"doc": "existing vector",
|
|
96
|
+
"types": ["vector3"],
|
|
97
|
+
"is_optional": "False"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">vec1</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mf\">1.0</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">vec2</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"n\">vec1</span><span class=\"p\">)</span>\n<span class=\"kr\">if</span> <span class=\"n\">vec1</span> <span class=\"o\">==</span> <span class=\"n\">vec2</span> <span class=\"kr\">then</span>\n <span class=\"c1\">-- yes, they are equal</span>\n <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vec2</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.vector3(1, 1, 1)</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
101
|
+
"replaces": "",
|
|
102
|
+
"error": "",
|
|
103
|
+
"tparams": [],
|
|
104
|
+
"members": [],
|
|
105
|
+
"notes": [],
|
|
106
|
+
"language": ""
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"type": "FUNCTION",
|
|
110
|
+
"name": "vmath.vector3",
|
|
111
|
+
"brief": "creates a new vector from its coordinates",
|
|
112
|
+
"description": "Creates a new vector with the components set to the\nsupplied values.",
|
|
113
|
+
"returnvalues": [
|
|
114
|
+
{
|
|
115
|
+
"name": "v",
|
|
116
|
+
"doc": "new vector",
|
|
117
|
+
"types": ["vector3"]
|
|
118
|
+
}
|
|
119
|
+
],
|
|
120
|
+
"parameters": [
|
|
121
|
+
{
|
|
122
|
+
"name": "x",
|
|
123
|
+
"doc": "x coordinate",
|
|
124
|
+
"types": ["number"],
|
|
125
|
+
"is_optional": "False"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"name": "y",
|
|
129
|
+
"doc": "y coordinate",
|
|
130
|
+
"types": ["number"],
|
|
131
|
+
"is_optional": "False"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"name": "z",
|
|
135
|
+
"doc": "z coordinate",
|
|
136
|
+
"types": ["number"],
|
|
137
|
+
"is_optional": "False"
|
|
138
|
+
}
|
|
139
|
+
],
|
|
140
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">vec</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mf\">1.0</span><span class=\"p\">,</span> <span class=\"mf\">2.0</span><span class=\"p\">,</span> <span class=\"mf\">3.0</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vec</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.vector3(1, 2, 3)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"o\">-</span><span class=\"n\">vec</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.vector3(-1, -2, -3)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vec</span> <span class=\"o\">*</span> <span class=\"mi\">2</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.vector3(2, 4, 6)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vec</span> <span class=\"o\">+</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mf\">2.0</span><span class=\"p\">))</span> <span class=\"c1\">--> vmath.vector3(3, 4, 5)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vec</span> <span class=\"o\">-</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mf\">2.0</span><span class=\"p\">))</span> <span class=\"c1\">--> vmath.vector3(-1, 0, 1)</span>\n</code></pre></div>",
|
|
141
|
+
"replaces": "",
|
|
142
|
+
"error": "",
|
|
143
|
+
"tparams": [],
|
|
144
|
+
"members": [],
|
|
145
|
+
"notes": [],
|
|
146
|
+
"language": ""
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"type": "FUNCTION",
|
|
150
|
+
"name": "vmath.vector4",
|
|
151
|
+
"brief": "creates a new zero vector",
|
|
152
|
+
"description": "Creates a new zero vector with all components set to 0.",
|
|
153
|
+
"returnvalues": [
|
|
154
|
+
{
|
|
155
|
+
"name": "v",
|
|
156
|
+
"doc": "new zero vector",
|
|
157
|
+
"types": ["vector4"]
|
|
158
|
+
}
|
|
159
|
+
],
|
|
160
|
+
"parameters": [],
|
|
161
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">vec</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector4</span><span class=\"p\">()</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vec</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.vector4(0, 0, 0, 0)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vec</span><span class=\"p\">.</span><span class=\"n\">w</span><span class=\"p\">)</span> <span class=\"c1\">--> 0</span>\n</code></pre></div>",
|
|
162
|
+
"replaces": "",
|
|
163
|
+
"error": "",
|
|
164
|
+
"tparams": [],
|
|
165
|
+
"members": [],
|
|
166
|
+
"notes": [],
|
|
167
|
+
"language": ""
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"type": "FUNCTION",
|
|
171
|
+
"name": "vmath.vector4",
|
|
172
|
+
"brief": "creates a new vector from scalar value",
|
|
173
|
+
"description": "Creates a new vector with all components set to the\nsupplied scalar value.",
|
|
174
|
+
"returnvalues": [
|
|
175
|
+
{
|
|
176
|
+
"name": "v",
|
|
177
|
+
"doc": "new vector",
|
|
178
|
+
"types": ["vector4"]
|
|
179
|
+
}
|
|
180
|
+
],
|
|
181
|
+
"parameters": [
|
|
182
|
+
{
|
|
183
|
+
"name": "n",
|
|
184
|
+
"doc": "scalar value to splat",
|
|
185
|
+
"types": ["number"],
|
|
186
|
+
"is_optional": "False"
|
|
187
|
+
}
|
|
188
|
+
],
|
|
189
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">vec</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector4</span><span class=\"p\">(</span><span class=\"mf\">1.0</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vec</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.vector4(1, 1, 1, 1)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vec</span><span class=\"p\">.</span><span class=\"n\">w</span><span class=\"p\">)</span> <span class=\"c1\">--> 1</span>\n</code></pre></div>",
|
|
190
|
+
"replaces": "",
|
|
191
|
+
"error": "",
|
|
192
|
+
"tparams": [],
|
|
193
|
+
"members": [],
|
|
194
|
+
"notes": [],
|
|
195
|
+
"language": ""
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"type": "FUNCTION",
|
|
199
|
+
"name": "vmath.vector4",
|
|
200
|
+
"brief": "creates a new vector from another existing vector",
|
|
201
|
+
"description": "Creates a new vector with all components set to the\ncorresponding values from the supplied vector. I.e.\nThis function creates a copy of the given vector.",
|
|
202
|
+
"returnvalues": [
|
|
203
|
+
{
|
|
204
|
+
"name": "v",
|
|
205
|
+
"doc": "new vector",
|
|
206
|
+
"types": ["vector4"]
|
|
207
|
+
}
|
|
208
|
+
],
|
|
209
|
+
"parameters": [
|
|
210
|
+
{
|
|
211
|
+
"name": "v1",
|
|
212
|
+
"doc": "existing vector",
|
|
213
|
+
"types": ["vector4"],
|
|
214
|
+
"is_optional": "False"
|
|
215
|
+
}
|
|
216
|
+
],
|
|
217
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">vect1</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector4</span><span class=\"p\">(</span><span class=\"mf\">1.0</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">vect2</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector4</span><span class=\"p\">(</span><span class=\"n\">vec1</span><span class=\"p\">)</span>\n<span class=\"kr\">if</span> <span class=\"n\">vec1</span> <span class=\"o\">==</span> <span class=\"n\">vec2</span> <span class=\"kr\">then</span>\n <span class=\"c1\">-- yes, they are equal</span>\n <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vec2</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.vector4(1, 1, 1, 1)</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
218
|
+
"replaces": "",
|
|
219
|
+
"error": "",
|
|
220
|
+
"tparams": [],
|
|
221
|
+
"members": [],
|
|
222
|
+
"notes": [],
|
|
223
|
+
"language": ""
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
"type": "FUNCTION",
|
|
227
|
+
"name": "vmath.vector4",
|
|
228
|
+
"brief": "creates a new vector from its coordinates",
|
|
229
|
+
"description": "Creates a new vector with the components set to the\nsupplied values.",
|
|
230
|
+
"returnvalues": [
|
|
231
|
+
{
|
|
232
|
+
"name": "v",
|
|
233
|
+
"doc": "new vector",
|
|
234
|
+
"types": ["vector4"]
|
|
235
|
+
}
|
|
236
|
+
],
|
|
237
|
+
"parameters": [
|
|
238
|
+
{
|
|
239
|
+
"name": "x",
|
|
240
|
+
"doc": "x coordinate",
|
|
241
|
+
"types": ["number"],
|
|
242
|
+
"is_optional": "False"
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"name": "y",
|
|
246
|
+
"doc": "y coordinate",
|
|
247
|
+
"types": ["number"],
|
|
248
|
+
"is_optional": "False"
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"name": "z",
|
|
252
|
+
"doc": "z coordinate",
|
|
253
|
+
"types": ["number"],
|
|
254
|
+
"is_optional": "False"
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"name": "w",
|
|
258
|
+
"doc": "w coordinate",
|
|
259
|
+
"types": ["number"],
|
|
260
|
+
"is_optional": "False"
|
|
261
|
+
}
|
|
262
|
+
],
|
|
263
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">vec</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector4</span><span class=\"p\">(</span><span class=\"mf\">1.0</span><span class=\"p\">,</span> <span class=\"mf\">2.0</span><span class=\"p\">,</span> <span class=\"mf\">3.0</span><span class=\"p\">,</span> <span class=\"mf\">4.0</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vec</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.vector4(1, 2, 3, 4)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"o\">-</span><span class=\"n\">vec</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.vector4(-1, -2, -3, -4)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vec</span> <span class=\"o\">*</span> <span class=\"mi\">2</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.vector4(2, 4, 6, 8)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vec</span> <span class=\"o\">+</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector4</span><span class=\"p\">(</span><span class=\"mf\">2.0</span><span class=\"p\">))</span> <span class=\"c1\">--> vmath.vector4(3, 4, 5, 6)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vec</span> <span class=\"o\">-</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector4</span><span class=\"p\">(</span><span class=\"mf\">2.0</span><span class=\"p\">))</span> <span class=\"c1\">--> vmath.vector4(-1, 0, 1, 2)</span>\n</code></pre></div>",
|
|
264
|
+
"replaces": "",
|
|
265
|
+
"error": "",
|
|
266
|
+
"tparams": [],
|
|
267
|
+
"members": [],
|
|
268
|
+
"notes": [],
|
|
269
|
+
"language": ""
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"type": "FUNCTION",
|
|
273
|
+
"name": "vmath.quat",
|
|
274
|
+
"brief": "creates a new identity quaternion",
|
|
275
|
+
"description": "Creates a new identity quaternion. The identity\nquaternion is equal to:\n<code>vmath.quat(0, 0, 0, 1)</code>",
|
|
276
|
+
"returnvalues": [
|
|
277
|
+
{
|
|
278
|
+
"name": "q",
|
|
279
|
+
"doc": "new identity quaternion",
|
|
280
|
+
"types": ["quaternion"]
|
|
281
|
+
}
|
|
282
|
+
],
|
|
283
|
+
"parameters": [],
|
|
284
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">quat</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat</span><span class=\"p\">()</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">quat</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.quat(0, 0, 0, 1)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">quat</span><span class=\"p\">.</span><span class=\"n\">w</span><span class=\"p\">)</span> <span class=\"c1\">--> 1</span>\n</code></pre></div>",
|
|
285
|
+
"replaces": "",
|
|
286
|
+
"error": "",
|
|
287
|
+
"tparams": [],
|
|
288
|
+
"members": [],
|
|
289
|
+
"notes": [],
|
|
290
|
+
"language": ""
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"type": "FUNCTION",
|
|
294
|
+
"name": "vmath.quat",
|
|
295
|
+
"brief": "creates a new quaternion from another existing quaternion",
|
|
296
|
+
"description": "Creates a new quaternion with all components set to the\ncorresponding values from the supplied quaternion. I.e.\nThis function creates a copy of the given quaternion.",
|
|
297
|
+
"returnvalues": [
|
|
298
|
+
{
|
|
299
|
+
"name": "q",
|
|
300
|
+
"doc": "new quaternion",
|
|
301
|
+
"types": ["quaternion"]
|
|
302
|
+
}
|
|
303
|
+
],
|
|
304
|
+
"parameters": [
|
|
305
|
+
{
|
|
306
|
+
"name": "q1",
|
|
307
|
+
"doc": "existing quaternion",
|
|
308
|
+
"types": ["quaternion"],
|
|
309
|
+
"is_optional": "False"
|
|
310
|
+
}
|
|
311
|
+
],
|
|
312
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">quat1</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"mi\">3</span><span class=\"p\">,</span> <span class=\"mi\">4</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">quat2</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat</span><span class=\"p\">(</span><span class=\"n\">quat1</span><span class=\"p\">)</span>\n<span class=\"kr\">if</span> <span class=\"n\">quat1</span> <span class=\"o\">==</span> <span class=\"n\">quat2</span> <span class=\"kr\">then</span>\n <span class=\"c1\">-- yes, they are equal</span>\n <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">quat2</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.quat(1, 2, 3, 4)</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
313
|
+
"replaces": "",
|
|
314
|
+
"error": "",
|
|
315
|
+
"tparams": [],
|
|
316
|
+
"members": [],
|
|
317
|
+
"notes": [],
|
|
318
|
+
"language": ""
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"type": "FUNCTION",
|
|
322
|
+
"name": "vmath.quat",
|
|
323
|
+
"brief": "creates a new quaternion from its coordinates",
|
|
324
|
+
"description": "Creates a new quaternion with the components set\naccording to the supplied parameter values.",
|
|
325
|
+
"returnvalues": [
|
|
326
|
+
{
|
|
327
|
+
"name": "q",
|
|
328
|
+
"doc": "new quaternion",
|
|
329
|
+
"types": ["quaternion"]
|
|
330
|
+
}
|
|
331
|
+
],
|
|
332
|
+
"parameters": [
|
|
333
|
+
{
|
|
334
|
+
"name": "x",
|
|
335
|
+
"doc": "x coordinate",
|
|
336
|
+
"types": ["number"],
|
|
337
|
+
"is_optional": "False"
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
"name": "y",
|
|
341
|
+
"doc": "y coordinate",
|
|
342
|
+
"types": ["number"],
|
|
343
|
+
"is_optional": "False"
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
"name": "z",
|
|
347
|
+
"doc": "z coordinate",
|
|
348
|
+
"types": ["number"],
|
|
349
|
+
"is_optional": "False"
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
"name": "w",
|
|
353
|
+
"doc": "w coordinate",
|
|
354
|
+
"types": ["number"],
|
|
355
|
+
"is_optional": "False"
|
|
356
|
+
}
|
|
357
|
+
],
|
|
358
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">quat</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"mi\">3</span><span class=\"p\">,</span> <span class=\"mi\">4</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">quat</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.quat(1, 2, 3, 4)</span>\n</code></pre></div>",
|
|
359
|
+
"replaces": "",
|
|
360
|
+
"error": "",
|
|
361
|
+
"tparams": [],
|
|
362
|
+
"members": [],
|
|
363
|
+
"notes": [],
|
|
364
|
+
"language": ""
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
"type": "FUNCTION",
|
|
368
|
+
"name": "vmath.quat_from_to",
|
|
369
|
+
"brief": "creates a quaternion to rotate between two unit vectors",
|
|
370
|
+
"description": "The resulting quaternion describes the rotation that,\nif applied to the first vector, would rotate the first\nvector to the second. The two vectors must be unit\nvectors (of length 1).\n<span class=\"icon-attention\"></span> The result is undefined if the two vectors point in opposite directions",
|
|
371
|
+
"returnvalues": [
|
|
372
|
+
{
|
|
373
|
+
"name": "q",
|
|
374
|
+
"doc": "quaternion representing the rotation from first to second vector",
|
|
375
|
+
"types": ["quaternion"]
|
|
376
|
+
}
|
|
377
|
+
],
|
|
378
|
+
"parameters": [
|
|
379
|
+
{
|
|
380
|
+
"name": "v1",
|
|
381
|
+
"doc": "first unit vector, before rotation",
|
|
382
|
+
"types": ["vector3"],
|
|
383
|
+
"is_optional": "False"
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"name": "v2",
|
|
387
|
+
"doc": "second unit vector, after rotation",
|
|
388
|
+
"types": ["vector3"],
|
|
389
|
+
"is_optional": "False"
|
|
390
|
+
}
|
|
391
|
+
],
|
|
392
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">v1</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">v2</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">rot</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat_from_to</span><span class=\"p\">(</span><span class=\"n\">v1</span><span class=\"p\">,</span> <span class=\"n\">v2</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">rotate</span><span class=\"p\">(</span><span class=\"n\">rot</span><span class=\"p\">,</span> <span class=\"n\">v1</span><span class=\"p\">))</span> <span class=\"c1\">--> vmath.vector3(0, 0.99999994039536, 0)</span>\n</code></pre></div>",
|
|
393
|
+
"replaces": "",
|
|
394
|
+
"error": "",
|
|
395
|
+
"tparams": [],
|
|
396
|
+
"members": [],
|
|
397
|
+
"notes": [],
|
|
398
|
+
"language": ""
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"type": "FUNCTION",
|
|
402
|
+
"name": "vmath.quat_axis_angle",
|
|
403
|
+
"brief": "creates a quaternion to rotate around a unit vector",
|
|
404
|
+
"description": "The resulting quaternion describes a rotation of <code>angle</code>\nradians around the axis described by the unit vector <code>v</code>.",
|
|
405
|
+
"returnvalues": [
|
|
406
|
+
{
|
|
407
|
+
"name": "q",
|
|
408
|
+
"doc": "quaternion representing the axis-angle rotation",
|
|
409
|
+
"types": ["quaternion"]
|
|
410
|
+
}
|
|
411
|
+
],
|
|
412
|
+
"parameters": [
|
|
413
|
+
{
|
|
414
|
+
"name": "v",
|
|
415
|
+
"doc": "axis",
|
|
416
|
+
"types": ["vector3"],
|
|
417
|
+
"is_optional": "False"
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
"name": "angle",
|
|
421
|
+
"doc": "angle",
|
|
422
|
+
"types": ["number"],
|
|
423
|
+
"is_optional": "False"
|
|
424
|
+
}
|
|
425
|
+
],
|
|
426
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">axis</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">rot</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat_axis_angle</span><span class=\"p\">(</span><span class=\"n\">axis</span><span class=\"p\">,</span> <span class=\"mf\">3.141592653</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">vec</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">rotate</span><span class=\"p\">(</span><span class=\"n\">rot</span><span class=\"p\">,</span> <span class=\"n\">vec</span><span class=\"p\">))</span> <span class=\"c1\">--> vmath.vector3(1, -1, -8.7422776573476e-08)</span>\n</code></pre></div>",
|
|
427
|
+
"replaces": "",
|
|
428
|
+
"error": "",
|
|
429
|
+
"tparams": [],
|
|
430
|
+
"members": [],
|
|
431
|
+
"notes": [],
|
|
432
|
+
"language": ""
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
"type": "FUNCTION",
|
|
436
|
+
"name": "vmath.quat_basis",
|
|
437
|
+
"brief": "creates a quaternion from three base unit vectors",
|
|
438
|
+
"description": "The resulting quaternion describes the rotation from the\nidentity quaternion (no rotation) to the coordinate system\nas described by the given x, y and z base unit vectors.",
|
|
439
|
+
"returnvalues": [
|
|
440
|
+
{
|
|
441
|
+
"name": "q",
|
|
442
|
+
"doc": "quaternion representing the rotation of the specified base vectors",
|
|
443
|
+
"types": ["quaternion"]
|
|
444
|
+
}
|
|
445
|
+
],
|
|
446
|
+
"parameters": [
|
|
447
|
+
{
|
|
448
|
+
"name": "x",
|
|
449
|
+
"doc": "x base vector",
|
|
450
|
+
"types": ["vector3"],
|
|
451
|
+
"is_optional": "False"
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
"name": "y",
|
|
455
|
+
"doc": "y base vector",
|
|
456
|
+
"types": ["vector3"],
|
|
457
|
+
"is_optional": "False"
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
"name": "z",
|
|
461
|
+
"doc": "z base vector",
|
|
462
|
+
"types": ["vector3"],
|
|
463
|
+
"is_optional": "False"
|
|
464
|
+
}
|
|
465
|
+
],
|
|
466
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"c1\">-- Axis rotated 90 degrees around z.</span>\n<span class=\"kd\">local</span> <span class=\"n\">rot_x</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"o\">-</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">rot_y</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">z</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">rot1</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat_basis</span><span class=\"p\">(</span><span class=\"n\">rot_x</span><span class=\"p\">,</span> <span class=\"n\">rot_y</span><span class=\"p\">,</span> <span class=\"n\">z</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">rot2</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat_from_to</span><span class=\"p\">(</span><span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">))</span>\n<span class=\"kr\">if</span> <span class=\"n\">rot1</span> <span class=\"o\">==</span> <span class=\"n\">rot2</span> <span class=\"kr\">then</span>\n <span class=\"c1\">-- These quaternions are equal!</span>\n <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">rot2</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.quat(0, 0, -0.70710676908493, 0.70710676908493)</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
467
|
+
"replaces": "",
|
|
468
|
+
"error": "",
|
|
469
|
+
"tparams": [],
|
|
470
|
+
"members": [],
|
|
471
|
+
"notes": [],
|
|
472
|
+
"language": ""
|
|
473
|
+
},
|
|
474
|
+
{
|
|
475
|
+
"type": "FUNCTION",
|
|
476
|
+
"name": "vmath.quat_rotation_x",
|
|
477
|
+
"brief": "creates a quaternion from rotation around x-axis",
|
|
478
|
+
"description": "The resulting quaternion describes a rotation of <code>angle</code>\nradians around the x-axis.",
|
|
479
|
+
"returnvalues": [
|
|
480
|
+
{
|
|
481
|
+
"name": "q",
|
|
482
|
+
"doc": "quaternion representing the rotation around the x-axis",
|
|
483
|
+
"types": ["quaternion"]
|
|
484
|
+
}
|
|
485
|
+
],
|
|
486
|
+
"parameters": [
|
|
487
|
+
{
|
|
488
|
+
"name": "angle",
|
|
489
|
+
"doc": "angle in radians around x-axis",
|
|
490
|
+
"types": ["number"],
|
|
491
|
+
"is_optional": "False"
|
|
492
|
+
}
|
|
493
|
+
],
|
|
494
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">rot</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat_rotation_x</span><span class=\"p\">(</span><span class=\"mf\">3.141592653</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">vec</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">rotate</span><span class=\"p\">(</span><span class=\"n\">rot</span><span class=\"p\">,</span> <span class=\"n\">vec</span><span class=\"p\">))</span> <span class=\"c1\">--> vmath.vector3(1, -1, -8.7422776573476e-08)</span>\n</code></pre></div>",
|
|
495
|
+
"replaces": "",
|
|
496
|
+
"error": "",
|
|
497
|
+
"tparams": [],
|
|
498
|
+
"members": [],
|
|
499
|
+
"notes": [],
|
|
500
|
+
"language": ""
|
|
501
|
+
},
|
|
502
|
+
{
|
|
503
|
+
"type": "FUNCTION",
|
|
504
|
+
"name": "vmath.quat_rotation_y",
|
|
505
|
+
"brief": "creates a quaternion from rotation around y-axis",
|
|
506
|
+
"description": "The resulting quaternion describes a rotation of <code>angle</code>\nradians around the y-axis.",
|
|
507
|
+
"returnvalues": [
|
|
508
|
+
{
|
|
509
|
+
"name": "q",
|
|
510
|
+
"doc": "quaternion representing the rotation around the y-axis",
|
|
511
|
+
"types": ["quaternion"]
|
|
512
|
+
}
|
|
513
|
+
],
|
|
514
|
+
"parameters": [
|
|
515
|
+
{
|
|
516
|
+
"name": "angle",
|
|
517
|
+
"doc": "angle in radians around y-axis",
|
|
518
|
+
"types": ["number"],
|
|
519
|
+
"is_optional": "False"
|
|
520
|
+
}
|
|
521
|
+
],
|
|
522
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">rot</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat_rotation_y</span><span class=\"p\">(</span><span class=\"mf\">3.141592653</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">vec</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">rotate</span><span class=\"p\">(</span><span class=\"n\">rot</span><span class=\"p\">,</span> <span class=\"n\">vec</span><span class=\"p\">))</span> <span class=\"c1\">--> vmath.vector3(-1, 1, 8.7422776573476e-08)</span>\n</code></pre></div>",
|
|
523
|
+
"replaces": "",
|
|
524
|
+
"error": "",
|
|
525
|
+
"tparams": [],
|
|
526
|
+
"members": [],
|
|
527
|
+
"notes": [],
|
|
528
|
+
"language": ""
|
|
529
|
+
},
|
|
530
|
+
{
|
|
531
|
+
"type": "FUNCTION",
|
|
532
|
+
"name": "vmath.quat_rotation_z",
|
|
533
|
+
"brief": "creates a quaternion from rotation around z-axis",
|
|
534
|
+
"description": "The resulting quaternion describes a rotation of <code>angle</code>\nradians around the z-axis.",
|
|
535
|
+
"returnvalues": [
|
|
536
|
+
{
|
|
537
|
+
"name": "q",
|
|
538
|
+
"doc": "quaternion representing the rotation around the z-axis",
|
|
539
|
+
"types": ["quaternion"]
|
|
540
|
+
}
|
|
541
|
+
],
|
|
542
|
+
"parameters": [
|
|
543
|
+
{
|
|
544
|
+
"name": "angle",
|
|
545
|
+
"doc": "angle in radians around z-axis",
|
|
546
|
+
"types": ["number"],
|
|
547
|
+
"is_optional": "False"
|
|
548
|
+
}
|
|
549
|
+
],
|
|
550
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">rot</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat_rotation_z</span><span class=\"p\">(</span><span class=\"mf\">3.141592653</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">vec</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">rotate</span><span class=\"p\">(</span><span class=\"n\">rot</span><span class=\"p\">,</span> <span class=\"n\">vec</span><span class=\"p\">))</span> <span class=\"c1\">--> vmath.vector3(-0.99999988079071, -1, 0)</span>\n</code></pre></div>",
|
|
551
|
+
"replaces": "",
|
|
552
|
+
"error": "",
|
|
553
|
+
"tparams": [],
|
|
554
|
+
"members": [],
|
|
555
|
+
"notes": [],
|
|
556
|
+
"language": ""
|
|
557
|
+
},
|
|
558
|
+
{
|
|
559
|
+
"type": "FUNCTION",
|
|
560
|
+
"name": "vmath.matrix4",
|
|
561
|
+
"brief": "creates a new identity matrix",
|
|
562
|
+
"description": "The resulting identity matrix describes a transform with\nno translation or rotation.",
|
|
563
|
+
"returnvalues": [
|
|
564
|
+
{
|
|
565
|
+
"name": "m",
|
|
566
|
+
"doc": "identity matrix",
|
|
567
|
+
"types": ["matrix4"]
|
|
568
|
+
}
|
|
569
|
+
],
|
|
570
|
+
"parameters": [],
|
|
571
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">mat</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">matrix4</span><span class=\"p\">()</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">mat</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.matrix4(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)</span>\n<span class=\"c1\">-- get column 0:</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">mat</span><span class=\"p\">.</span><span class=\"n\">c0</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.vector4(1, 0, 0, 0)</span>\n<span class=\"c1\">-- get the value in row 3 and column 2:</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">mat</span><span class=\"p\">.</span><span class=\"n\">m32</span><span class=\"p\">)</span> <span class=\"c1\">--> 0</span>\n</code></pre></div>",
|
|
572
|
+
"replaces": "",
|
|
573
|
+
"error": "",
|
|
574
|
+
"tparams": [],
|
|
575
|
+
"members": [],
|
|
576
|
+
"notes": [],
|
|
577
|
+
"language": ""
|
|
578
|
+
},
|
|
579
|
+
{
|
|
580
|
+
"type": "FUNCTION",
|
|
581
|
+
"name": "vmath.matrix4",
|
|
582
|
+
"brief": "creates a new matrix from another existing matrix",
|
|
583
|
+
"description": "Creates a new matrix with all components set to the\ncorresponding values from the supplied matrix. I.e.\nthe function creates a copy of the given matrix.",
|
|
584
|
+
"returnvalues": [
|
|
585
|
+
{
|
|
586
|
+
"name": "m",
|
|
587
|
+
"doc": "matrix which is a copy of the specified matrix",
|
|
588
|
+
"types": ["matrix4"]
|
|
589
|
+
}
|
|
590
|
+
],
|
|
591
|
+
"parameters": [
|
|
592
|
+
{
|
|
593
|
+
"name": "m1",
|
|
594
|
+
"doc": "existing matrix",
|
|
595
|
+
"types": ["matrix4"],
|
|
596
|
+
"is_optional": "False"
|
|
597
|
+
}
|
|
598
|
+
],
|
|
599
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">mat1</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">matrix4_rotation_x</span><span class=\"p\">(</span><span class=\"mf\">3.141592653</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">mat2</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">matrix4</span><span class=\"p\">(</span><span class=\"n\">mat1</span><span class=\"p\">)</span>\n<span class=\"kr\">if</span> <span class=\"n\">mat1</span> <span class=\"o\">==</span> <span class=\"n\">mat2</span> <span class=\"kr\">then</span>\n <span class=\"c1\">-- yes, they are equal</span>\n <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">mat2</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.matrix4(1, 0, 0, 0, 0, -1, 8.7422776573476e-08, 0, 0, -8.7422776573476e-08, -1, 0, 0, 0, 0, 1)</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
600
|
+
"replaces": "",
|
|
601
|
+
"error": "",
|
|
602
|
+
"tparams": [],
|
|
603
|
+
"members": [],
|
|
604
|
+
"notes": [],
|
|
605
|
+
"language": ""
|
|
606
|
+
},
|
|
607
|
+
{
|
|
608
|
+
"type": "FUNCTION",
|
|
609
|
+
"name": "vmath.matrix4_frustum",
|
|
610
|
+
"brief": "creates a frustum matrix",
|
|
611
|
+
"description": "Constructs a frustum matrix from the given values. The left, right,\ntop and bottom coordinates of the view cone are expressed as distances\nfrom the center of the near clipping plane. The near and far coordinates\nare expressed as distances from the tip of the view frustum cone.",
|
|
612
|
+
"returnvalues": [
|
|
613
|
+
{
|
|
614
|
+
"name": "m",
|
|
615
|
+
"doc": "matrix representing the frustum",
|
|
616
|
+
"types": ["matrix4"]
|
|
617
|
+
}
|
|
618
|
+
],
|
|
619
|
+
"parameters": [
|
|
620
|
+
{
|
|
621
|
+
"name": "left",
|
|
622
|
+
"doc": "coordinate for left clipping plane",
|
|
623
|
+
"types": ["number"],
|
|
624
|
+
"is_optional": "False"
|
|
625
|
+
},
|
|
626
|
+
{
|
|
627
|
+
"name": "right",
|
|
628
|
+
"doc": "coordinate for right clipping plane",
|
|
629
|
+
"types": ["number"],
|
|
630
|
+
"is_optional": "False"
|
|
631
|
+
},
|
|
632
|
+
{
|
|
633
|
+
"name": "bottom",
|
|
634
|
+
"doc": "coordinate for bottom clipping plane",
|
|
635
|
+
"types": ["number"],
|
|
636
|
+
"is_optional": "False"
|
|
637
|
+
},
|
|
638
|
+
{
|
|
639
|
+
"name": "top",
|
|
640
|
+
"doc": "coordinate for top clipping plane",
|
|
641
|
+
"types": ["number"],
|
|
642
|
+
"is_optional": "False"
|
|
643
|
+
},
|
|
644
|
+
{
|
|
645
|
+
"name": "near",
|
|
646
|
+
"doc": "coordinate for near clipping plane",
|
|
647
|
+
"types": ["number"],
|
|
648
|
+
"is_optional": "False"
|
|
649
|
+
},
|
|
650
|
+
{
|
|
651
|
+
"name": "far",
|
|
652
|
+
"doc": "coordinate for far clipping plane",
|
|
653
|
+
"types": ["number"],
|
|
654
|
+
"is_optional": "False"
|
|
655
|
+
}
|
|
656
|
+
],
|
|
657
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"c1\">-- Construct a projection frustum with a vertical and horizontal</span>\n<span class=\"c1\">-- FOV of 45 degrees. Useful for rendering a square view.</span>\n<span class=\"kd\">local</span> <span class=\"n\">proj</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">matrix4_frustum</span><span class=\"p\">(</span><span class=\"o\">-</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"o\">-</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1000</span><span class=\"p\">)</span>\n<span class=\"n\">render</span><span class=\"p\">.</span><span class=\"n\">set_projection</span><span class=\"p\">(</span><span class=\"n\">proj</span><span class=\"p\">)</span>\n</code></pre></div>",
|
|
658
|
+
"replaces": "",
|
|
659
|
+
"error": "",
|
|
660
|
+
"tparams": [],
|
|
661
|
+
"members": [],
|
|
662
|
+
"notes": [],
|
|
663
|
+
"language": ""
|
|
664
|
+
},
|
|
665
|
+
{
|
|
666
|
+
"type": "FUNCTION",
|
|
667
|
+
"name": "vmath.matrix4_look_at",
|
|
668
|
+
"brief": "creates a look-at view matrix",
|
|
669
|
+
"description": "The resulting matrix is created from the supplied look-at parameters.\nThis is useful for constructing a view matrix for a camera or\nrendering in general.",
|
|
670
|
+
"returnvalues": [
|
|
671
|
+
{
|
|
672
|
+
"name": "m",
|
|
673
|
+
"doc": "look-at matrix",
|
|
674
|
+
"types": ["matrix4"]
|
|
675
|
+
}
|
|
676
|
+
],
|
|
677
|
+
"parameters": [
|
|
678
|
+
{
|
|
679
|
+
"name": "eye",
|
|
680
|
+
"doc": "eye position",
|
|
681
|
+
"types": ["vector3"],
|
|
682
|
+
"is_optional": "False"
|
|
683
|
+
},
|
|
684
|
+
{
|
|
685
|
+
"name": "look_at",
|
|
686
|
+
"doc": "look-at position",
|
|
687
|
+
"types": ["vector3"],
|
|
688
|
+
"is_optional": "False"
|
|
689
|
+
},
|
|
690
|
+
{
|
|
691
|
+
"name": "up",
|
|
692
|
+
"doc": "up vector",
|
|
693
|
+
"types": ["vector3"],
|
|
694
|
+
"is_optional": "False"
|
|
695
|
+
}
|
|
696
|
+
],
|
|
697
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"c1\">-- Set up a perspective camera at z 100 with 45 degrees (pi/2) FOV</span>\n<span class=\"c1\">-- Aspect ratio 4:3</span>\n<span class=\"kd\">local</span> <span class=\"n\">eye</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">100</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">look_at</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">up</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">view</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">matrix4_look_at</span><span class=\"p\">(</span><span class=\"n\">eye</span><span class=\"p\">,</span> <span class=\"n\">look_at</span><span class=\"p\">,</span> <span class=\"n\">up</span><span class=\"p\">)</span>\n<span class=\"n\">render</span><span class=\"p\">.</span><span class=\"n\">set_view</span><span class=\"p\">(</span><span class=\"n\">view</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">proj</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">matrix4_perspective</span><span class=\"p\">(</span><span class=\"mf\">3.141592</span><span class=\"o\">/</span><span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"mi\">4</span><span class=\"o\">/</span><span class=\"mi\">3</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1000</span><span class=\"p\">)</span>\n<span class=\"n\">render</span><span class=\"p\">.</span><span class=\"n\">set_projection</span><span class=\"p\">(</span><span class=\"n\">proj</span><span class=\"p\">)</span>\n</code></pre></div>",
|
|
698
|
+
"replaces": "",
|
|
699
|
+
"error": "",
|
|
700
|
+
"tparams": [],
|
|
701
|
+
"members": [],
|
|
702
|
+
"notes": [],
|
|
703
|
+
"language": ""
|
|
704
|
+
},
|
|
705
|
+
{
|
|
706
|
+
"type": "FUNCTION",
|
|
707
|
+
"name": "vmath.matrix4_orthographic",
|
|
708
|
+
"brief": "creates an orthographic projection matrix",
|
|
709
|
+
"description": "Creates an orthographic projection matrix.\nThis is useful to construct a projection matrix for a camera or rendering in general.",
|
|
710
|
+
"returnvalues": [
|
|
711
|
+
{
|
|
712
|
+
"name": "m",
|
|
713
|
+
"doc": "orthographic projection matrix",
|
|
714
|
+
"types": ["matrix4"]
|
|
715
|
+
}
|
|
716
|
+
],
|
|
717
|
+
"parameters": [
|
|
718
|
+
{
|
|
719
|
+
"name": "left",
|
|
720
|
+
"doc": "coordinate for left clipping plane",
|
|
721
|
+
"types": ["number"],
|
|
722
|
+
"is_optional": "False"
|
|
723
|
+
},
|
|
724
|
+
{
|
|
725
|
+
"name": "right",
|
|
726
|
+
"doc": "coordinate for right clipping plane",
|
|
727
|
+
"types": ["number"],
|
|
728
|
+
"is_optional": "False"
|
|
729
|
+
},
|
|
730
|
+
{
|
|
731
|
+
"name": "bottom",
|
|
732
|
+
"doc": "coordinate for bottom clipping plane",
|
|
733
|
+
"types": ["number"],
|
|
734
|
+
"is_optional": "False"
|
|
735
|
+
},
|
|
736
|
+
{
|
|
737
|
+
"name": "top",
|
|
738
|
+
"doc": "coordinate for top clipping plane",
|
|
739
|
+
"types": ["number"],
|
|
740
|
+
"is_optional": "False"
|
|
741
|
+
},
|
|
742
|
+
{
|
|
743
|
+
"name": "near",
|
|
744
|
+
"doc": "coordinate for near clipping plane",
|
|
745
|
+
"types": ["number"],
|
|
746
|
+
"is_optional": "False"
|
|
747
|
+
},
|
|
748
|
+
{
|
|
749
|
+
"name": "far",
|
|
750
|
+
"doc": "coordinate for far clipping plane",
|
|
751
|
+
"types": ["number"],
|
|
752
|
+
"is_optional": "False"
|
|
753
|
+
}
|
|
754
|
+
],
|
|
755
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"c1\">-- Set up an orthographic projection based on the width and height</span>\n<span class=\"c1\">-- of the game window.</span>\n<span class=\"kd\">local</span> <span class=\"n\">w</span> <span class=\"o\">=</span> <span class=\"n\">render</span><span class=\"p\">.</span><span class=\"n\">get_width</span><span class=\"p\">()</span>\n<span class=\"kd\">local</span> <span class=\"n\">h</span> <span class=\"o\">=</span> <span class=\"n\">render</span><span class=\"p\">.</span><span class=\"n\">get_height</span><span class=\"p\">()</span>\n<span class=\"kd\">local</span> <span class=\"n\">proj</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">matrix4_orthographic</span><span class=\"p\">(</span><span class=\"o\">-</span> <span class=\"n\">w</span> <span class=\"o\">/</span> <span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"n\">w</span> <span class=\"o\">/</span> <span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"o\">-</span><span class=\"n\">h</span> <span class=\"o\">/</span> <span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"n\">h</span> <span class=\"o\">/</span> <span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"o\">-</span><span class=\"mi\">1000</span><span class=\"p\">,</span> <span class=\"mi\">1000</span><span class=\"p\">)</span>\n<span class=\"n\">render</span><span class=\"p\">.</span><span class=\"n\">set_projection</span><span class=\"p\">(</span><span class=\"n\">proj</span><span class=\"p\">)</span>\n</code></pre></div>",
|
|
756
|
+
"replaces": "",
|
|
757
|
+
"error": "",
|
|
758
|
+
"tparams": [],
|
|
759
|
+
"members": [],
|
|
760
|
+
"notes": [],
|
|
761
|
+
"language": ""
|
|
762
|
+
},
|
|
763
|
+
{
|
|
764
|
+
"type": "FUNCTION",
|
|
765
|
+
"name": "vmath.matrix4_perspective",
|
|
766
|
+
"brief": "creates a perspective projection matrix",
|
|
767
|
+
"description": "Creates a perspective projection matrix.\nThis is useful to construct a projection matrix for a camera or rendering in general.",
|
|
768
|
+
"returnvalues": [
|
|
769
|
+
{
|
|
770
|
+
"name": "m",
|
|
771
|
+
"doc": "perspective projection matrix",
|
|
772
|
+
"types": ["matrix4"]
|
|
773
|
+
}
|
|
774
|
+
],
|
|
775
|
+
"parameters": [
|
|
776
|
+
{
|
|
777
|
+
"name": "fov",
|
|
778
|
+
"doc": "angle of the full vertical field of view in radians",
|
|
779
|
+
"types": ["number"],
|
|
780
|
+
"is_optional": "False"
|
|
781
|
+
},
|
|
782
|
+
{
|
|
783
|
+
"name": "aspect",
|
|
784
|
+
"doc": "aspect ratio",
|
|
785
|
+
"types": ["number"],
|
|
786
|
+
"is_optional": "False"
|
|
787
|
+
},
|
|
788
|
+
{
|
|
789
|
+
"name": "near",
|
|
790
|
+
"doc": "coordinate for near clipping plane",
|
|
791
|
+
"types": ["number"],
|
|
792
|
+
"is_optional": "False"
|
|
793
|
+
},
|
|
794
|
+
{
|
|
795
|
+
"name": "far",
|
|
796
|
+
"doc": "coordinate for far clipping plane",
|
|
797
|
+
"types": ["number"],
|
|
798
|
+
"is_optional": "False"
|
|
799
|
+
}
|
|
800
|
+
],
|
|
801
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"c1\">-- Set up a perspective camera at z 100 with 45 degrees (pi/2) FOV</span>\n<span class=\"c1\">-- Aspect ratio 4:3</span>\n<span class=\"kd\">local</span> <span class=\"n\">eye</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">100</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">look_at</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">up</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">view</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">matrix4_look_at</span><span class=\"p\">(</span><span class=\"n\">eye</span><span class=\"p\">,</span> <span class=\"n\">look_at</span><span class=\"p\">,</span> <span class=\"n\">up</span><span class=\"p\">)</span>\n<span class=\"n\">render</span><span class=\"p\">.</span><span class=\"n\">set_view</span><span class=\"p\">(</span><span class=\"n\">view</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">proj</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">matrix4_perspective</span><span class=\"p\">(</span><span class=\"mf\">3.141592</span><span class=\"o\">/</span><span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"mi\">4</span><span class=\"o\">/</span><span class=\"mi\">3</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1000</span><span class=\"p\">)</span>\n<span class=\"n\">render</span><span class=\"p\">.</span><span class=\"n\">set_projection</span><span class=\"p\">(</span><span class=\"n\">proj</span><span class=\"p\">)</span>\n</code></pre></div>",
|
|
802
|
+
"replaces": "",
|
|
803
|
+
"error": "",
|
|
804
|
+
"tparams": [],
|
|
805
|
+
"members": [],
|
|
806
|
+
"notes": [],
|
|
807
|
+
"language": ""
|
|
808
|
+
},
|
|
809
|
+
{
|
|
810
|
+
"type": "FUNCTION",
|
|
811
|
+
"name": "vmath.matrix4_quat",
|
|
812
|
+
"brief": "creates a matrix from a quaternion",
|
|
813
|
+
"description": "The resulting matrix describes the same rotation as the quaternion, but does not have any translation (also like the quaternion).",
|
|
814
|
+
"returnvalues": [
|
|
815
|
+
{
|
|
816
|
+
"name": "m",
|
|
817
|
+
"doc": "matrix represented by quaternion",
|
|
818
|
+
"types": ["matrix4"]
|
|
819
|
+
}
|
|
820
|
+
],
|
|
821
|
+
"parameters": [
|
|
822
|
+
{
|
|
823
|
+
"name": "q",
|
|
824
|
+
"doc": "quaternion to create matrix from",
|
|
825
|
+
"types": ["quaternion"],
|
|
826
|
+
"is_optional": "False"
|
|
827
|
+
}
|
|
828
|
+
],
|
|
829
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">vec</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector4</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">quat</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat_rotation_z</span><span class=\"p\">(</span><span class=\"mf\">3.141592653</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">mat</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">matrix4_quat</span><span class=\"p\">(</span><span class=\"n\">quat</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">mat</span> <span class=\"o\">*</span> <span class=\"n\">vec</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.matrix4_frustum(-1, 1, -1, 1, 1, 1000)</span>\n</code></pre></div>",
|
|
830
|
+
"replaces": "",
|
|
831
|
+
"error": "",
|
|
832
|
+
"tparams": [],
|
|
833
|
+
"members": [],
|
|
834
|
+
"notes": [],
|
|
835
|
+
"language": ""
|
|
836
|
+
},
|
|
837
|
+
{
|
|
838
|
+
"type": "FUNCTION",
|
|
839
|
+
"name": "vmath.matrix4_axis_angle",
|
|
840
|
+
"brief": "creates a matrix from an axis and an angle",
|
|
841
|
+
"description": "The resulting matrix describes a rotation around the axis by the specified angle.",
|
|
842
|
+
"returnvalues": [
|
|
843
|
+
{
|
|
844
|
+
"name": "m",
|
|
845
|
+
"doc": "matrix represented by axis and angle",
|
|
846
|
+
"types": ["matrix4"]
|
|
847
|
+
}
|
|
848
|
+
],
|
|
849
|
+
"parameters": [
|
|
850
|
+
{
|
|
851
|
+
"name": "v",
|
|
852
|
+
"doc": "axis",
|
|
853
|
+
"types": ["vector3"],
|
|
854
|
+
"is_optional": "False"
|
|
855
|
+
},
|
|
856
|
+
{
|
|
857
|
+
"name": "angle",
|
|
858
|
+
"doc": "angle in radians",
|
|
859
|
+
"types": ["number"],
|
|
860
|
+
"is_optional": "False"
|
|
861
|
+
}
|
|
862
|
+
],
|
|
863
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">vec</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector4</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">axis</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">)</span> <span class=\"c1\">-- z-axis</span>\n<span class=\"kd\">local</span> <span class=\"n\">mat</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">matrix4_axis_angle</span><span class=\"p\">(</span><span class=\"n\">axis</span><span class=\"p\">,</span> <span class=\"mf\">3.141592653</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">mat</span> <span class=\"o\">*</span> <span class=\"n\">vec</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.vector4(-0.99999994039536, -1.0000001192093, 0, 0)</span>\n</code></pre></div>",
|
|
864
|
+
"replaces": "",
|
|
865
|
+
"error": "",
|
|
866
|
+
"tparams": [],
|
|
867
|
+
"members": [],
|
|
868
|
+
"notes": [],
|
|
869
|
+
"language": ""
|
|
870
|
+
},
|
|
871
|
+
{
|
|
872
|
+
"type": "FUNCTION",
|
|
873
|
+
"name": "vmath.matrix4_rotation_x",
|
|
874
|
+
"brief": "creates a matrix from rotation around x-axis",
|
|
875
|
+
"description": "The resulting matrix describes a rotation around the x-axis\nby the specified angle.",
|
|
876
|
+
"returnvalues": [
|
|
877
|
+
{
|
|
878
|
+
"name": "m",
|
|
879
|
+
"doc": "matrix from rotation around x-axis",
|
|
880
|
+
"types": ["matrix4"]
|
|
881
|
+
}
|
|
882
|
+
],
|
|
883
|
+
"parameters": [
|
|
884
|
+
{
|
|
885
|
+
"name": "angle",
|
|
886
|
+
"doc": "angle in radians around x-axis",
|
|
887
|
+
"types": ["number"],
|
|
888
|
+
"is_optional": "False"
|
|
889
|
+
}
|
|
890
|
+
],
|
|
891
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">vec</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector4</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">mat</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">matrix4_rotation_x</span><span class=\"p\">(</span><span class=\"mf\">3.141592653</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">mat</span> <span class=\"o\">*</span> <span class=\"n\">vec</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.vector4(1, -1, -8.7422776573476e-08, 0)</span>\n</code></pre></div>",
|
|
892
|
+
"replaces": "",
|
|
893
|
+
"error": "",
|
|
894
|
+
"tparams": [],
|
|
895
|
+
"members": [],
|
|
896
|
+
"notes": [],
|
|
897
|
+
"language": ""
|
|
898
|
+
},
|
|
899
|
+
{
|
|
900
|
+
"type": "FUNCTION",
|
|
901
|
+
"name": "vmath.matrix4_rotation_y",
|
|
902
|
+
"brief": "creates a matrix from rotation around y-axis",
|
|
903
|
+
"description": "The resulting matrix describes a rotation around the y-axis\nby the specified angle.",
|
|
904
|
+
"returnvalues": [
|
|
905
|
+
{
|
|
906
|
+
"name": "m",
|
|
907
|
+
"doc": "matrix from rotation around y-axis",
|
|
908
|
+
"types": ["matrix4"]
|
|
909
|
+
}
|
|
910
|
+
],
|
|
911
|
+
"parameters": [
|
|
912
|
+
{
|
|
913
|
+
"name": "angle",
|
|
914
|
+
"doc": "angle in radians around y-axis",
|
|
915
|
+
"types": ["number"],
|
|
916
|
+
"is_optional": "False"
|
|
917
|
+
}
|
|
918
|
+
],
|
|
919
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">vec</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector4</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">mat</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">matrix4_rotation_y</span><span class=\"p\">(</span><span class=\"mf\">3.141592653</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">mat</span> <span class=\"o\">*</span> <span class=\"n\">vec</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.vector4(-1, 1, 8.7422776573476e-08, 0)</span>\n</code></pre></div>",
|
|
920
|
+
"replaces": "",
|
|
921
|
+
"error": "",
|
|
922
|
+
"tparams": [],
|
|
923
|
+
"members": [],
|
|
924
|
+
"notes": [],
|
|
925
|
+
"language": ""
|
|
926
|
+
},
|
|
927
|
+
{
|
|
928
|
+
"type": "FUNCTION",
|
|
929
|
+
"name": "vmath.matrix4_rotation_z",
|
|
930
|
+
"brief": "creates a matrix from rotation around z-axis",
|
|
931
|
+
"description": "The resulting matrix describes a rotation around the z-axis\nby the specified angle.",
|
|
932
|
+
"returnvalues": [
|
|
933
|
+
{
|
|
934
|
+
"name": "m",
|
|
935
|
+
"doc": "matrix from rotation around z-axis",
|
|
936
|
+
"types": ["matrix4"]
|
|
937
|
+
}
|
|
938
|
+
],
|
|
939
|
+
"parameters": [
|
|
940
|
+
{
|
|
941
|
+
"name": "angle",
|
|
942
|
+
"doc": "angle in radians around z-axis",
|
|
943
|
+
"types": ["number"],
|
|
944
|
+
"is_optional": "False"
|
|
945
|
+
}
|
|
946
|
+
],
|
|
947
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">vec</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector4</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">mat</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">matrix4_rotation_z</span><span class=\"p\">(</span><span class=\"mf\">3.141592653</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">mat</span> <span class=\"o\">*</span> <span class=\"n\">vec</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.vector4(-0.99999994039536, -1.0000001192093, 0, 0)</span>\n</code></pre></div>",
|
|
948
|
+
"replaces": "",
|
|
949
|
+
"error": "",
|
|
950
|
+
"tparams": [],
|
|
951
|
+
"members": [],
|
|
952
|
+
"notes": [],
|
|
953
|
+
"language": ""
|
|
954
|
+
},
|
|
955
|
+
{
|
|
956
|
+
"type": "FUNCTION",
|
|
957
|
+
"name": "vmath.matrix4_translation",
|
|
958
|
+
"brief": "creates a translation matrix from a position vector",
|
|
959
|
+
"description": "The resulting matrix describes a translation of a point\nin euclidean space.",
|
|
960
|
+
"returnvalues": [
|
|
961
|
+
{
|
|
962
|
+
"name": "m",
|
|
963
|
+
"doc": "matrix from the supplied position vector",
|
|
964
|
+
"types": ["matrix4"]
|
|
965
|
+
}
|
|
966
|
+
],
|
|
967
|
+
"parameters": [
|
|
968
|
+
{
|
|
969
|
+
"name": "position",
|
|
970
|
+
"doc": "position vector to create matrix from",
|
|
971
|
+
"types": ["vector3", "vector4"],
|
|
972
|
+
"is_optional": "False"
|
|
973
|
+
}
|
|
974
|
+
],
|
|
975
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"c1\">-- Set camera view from custom view and translation matrices</span>\n<span class=\"kd\">local</span> <span class=\"n\">mat_trans</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">matrix4_translation</span><span class=\"p\">(</span><span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">10</span><span class=\"p\">,</span> <span class=\"mi\">100</span><span class=\"p\">))</span>\n<span class=\"kd\">local</span> <span class=\"n\">mat_view</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">matrix4_rotation_y</span><span class=\"p\">(</span><span class=\"o\">-</span><span class=\"mf\">3.141592</span><span class=\"o\">/</span><span class=\"mi\">4</span><span class=\"p\">)</span>\n<span class=\"n\">render</span><span class=\"p\">.</span><span class=\"n\">set_view</span><span class=\"p\">(</span><span class=\"n\">mat_view</span> <span class=\"o\">*</span> <span class=\"n\">mat_trans</span><span class=\"p\">)</span>\n</code></pre></div>",
|
|
976
|
+
"replaces": "",
|
|
977
|
+
"error": "",
|
|
978
|
+
"tparams": [],
|
|
979
|
+
"members": [],
|
|
980
|
+
"notes": [],
|
|
981
|
+
"language": ""
|
|
982
|
+
},
|
|
983
|
+
{
|
|
984
|
+
"type": "FUNCTION",
|
|
985
|
+
"name": "vmath.inv",
|
|
986
|
+
"brief": "calculates the inverse matrix.",
|
|
987
|
+
"description": "The resulting matrix is the inverse of the supplied matrix.\n<span class=\"icon-attention\"></span> For ortho-normal matrices, e.g. regular object transformation,\nuse <code>vmath.ortho_inv()</code> instead.\nThe specialized inverse for ortho-normalized matrices is much faster\nthan the general inverse.",
|
|
988
|
+
"returnvalues": [
|
|
989
|
+
{
|
|
990
|
+
"name": "m",
|
|
991
|
+
"doc": "inverse of the supplied matrix",
|
|
992
|
+
"types": ["matrix4"]
|
|
993
|
+
}
|
|
994
|
+
],
|
|
995
|
+
"parameters": [
|
|
996
|
+
{
|
|
997
|
+
"name": "m1",
|
|
998
|
+
"doc": "matrix to invert",
|
|
999
|
+
"types": ["matrix4"],
|
|
1000
|
+
"is_optional": "False"
|
|
1001
|
+
}
|
|
1002
|
+
],
|
|
1003
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">mat1</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">matrix4_rotation_z</span><span class=\"p\">(</span><span class=\"mf\">3.141592653</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">mat2</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">inv</span><span class=\"p\">(</span><span class=\"n\">mat1</span><span class=\"p\">)</span>\n<span class=\"c1\">-- M * inv(M) = identity matrix</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">mat1</span> <span class=\"o\">*</span> <span class=\"n\">mat2</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.matrix4(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)</span>\n</code></pre></div>",
|
|
1004
|
+
"replaces": "",
|
|
1005
|
+
"error": "",
|
|
1006
|
+
"tparams": [],
|
|
1007
|
+
"members": [],
|
|
1008
|
+
"notes": [],
|
|
1009
|
+
"language": ""
|
|
1010
|
+
},
|
|
1011
|
+
{
|
|
1012
|
+
"type": "FUNCTION",
|
|
1013
|
+
"name": "vmath.ortho_inv",
|
|
1014
|
+
"brief": "calculates the inverse of an ortho-normal matrix.",
|
|
1015
|
+
"description": "The resulting matrix is the inverse of the supplied matrix.\nThe supplied matrix has to be an ortho-normal matrix, e.g.\ndescribe a regular object transformation.\n<span class=\"icon-attention\"></span> For matrices that are not ortho-normal\nuse the general inverse <code>vmath.inv()</code> instead.",
|
|
1016
|
+
"returnvalues": [
|
|
1017
|
+
{
|
|
1018
|
+
"name": "m",
|
|
1019
|
+
"doc": "inverse of the supplied matrix",
|
|
1020
|
+
"types": ["matrix4"]
|
|
1021
|
+
}
|
|
1022
|
+
],
|
|
1023
|
+
"parameters": [
|
|
1024
|
+
{
|
|
1025
|
+
"name": "m1",
|
|
1026
|
+
"doc": "ortho-normalized matrix to invert",
|
|
1027
|
+
"types": ["matrix4"],
|
|
1028
|
+
"is_optional": "False"
|
|
1029
|
+
}
|
|
1030
|
+
],
|
|
1031
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">mat1</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">matrix4_rotation_z</span><span class=\"p\">(</span><span class=\"mf\">3.141592653</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">mat2</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">ortho_inv</span><span class=\"p\">(</span><span class=\"n\">mat1</span><span class=\"p\">)</span>\n<span class=\"c1\">-- M * inv(M) = identity matrix</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">mat1</span> <span class=\"o\">*</span> <span class=\"n\">mat2</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.matrix4(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)</span>\n</code></pre></div>",
|
|
1032
|
+
"replaces": "",
|
|
1033
|
+
"error": "",
|
|
1034
|
+
"tparams": [],
|
|
1035
|
+
"members": [],
|
|
1036
|
+
"notes": [],
|
|
1037
|
+
"language": ""
|
|
1038
|
+
},
|
|
1039
|
+
{
|
|
1040
|
+
"type": "FUNCTION",
|
|
1041
|
+
"name": "vmath.dot",
|
|
1042
|
+
"brief": "calculates the dot-product of two vectors",
|
|
1043
|
+
"description": "The returned value is a scalar defined as:\n<code>P ⋅ Q = |P| |Q| cos θ</code>\nwhere θ is the angle between the vectors P and Q.\n<ul>\n<li>If the dot product is positive then the angle between the vectors is below 90 degrees.</li>\n<li>If the dot product is zero the vectors are perpendicular (at right-angles to each other).</li>\n<li>If the dot product is negative then the angle between the vectors is more than 90 degrees.</li>\n</ul>",
|
|
1044
|
+
"returnvalues": [
|
|
1045
|
+
{
|
|
1046
|
+
"name": "n",
|
|
1047
|
+
"doc": "dot product",
|
|
1048
|
+
"types": ["number"]
|
|
1049
|
+
}
|
|
1050
|
+
],
|
|
1051
|
+
"parameters": [
|
|
1052
|
+
{
|
|
1053
|
+
"name": "v1",
|
|
1054
|
+
"doc": "first vector",
|
|
1055
|
+
"types": ["vector3", "vector4"],
|
|
1056
|
+
"is_optional": "False"
|
|
1057
|
+
},
|
|
1058
|
+
{
|
|
1059
|
+
"name": "v2",
|
|
1060
|
+
"doc": "second vector",
|
|
1061
|
+
"types": ["vector3", "vector4"],
|
|
1062
|
+
"is_optional": "False"
|
|
1063
|
+
}
|
|
1064
|
+
],
|
|
1065
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kr\">if</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">dot</span><span class=\"p\">(</span><span class=\"n\">vector1</span><span class=\"p\">,</span> <span class=\"n\">vector2</span><span class=\"p\">)</span> <span class=\"o\">==</span> <span class=\"mi\">0</span> <span class=\"kr\">then</span>\n <span class=\"c1\">-- The two vectors are perpendicular (at right-angles to each other)</span>\n <span class=\"p\">...</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
1066
|
+
"replaces": "",
|
|
1067
|
+
"error": "",
|
|
1068
|
+
"tparams": [],
|
|
1069
|
+
"members": [],
|
|
1070
|
+
"notes": [],
|
|
1071
|
+
"language": ""
|
|
1072
|
+
},
|
|
1073
|
+
{
|
|
1074
|
+
"type": "FUNCTION",
|
|
1075
|
+
"name": "vmath.length_sqr",
|
|
1076
|
+
"brief": "calculates the squared length of a vector or quaternion",
|
|
1077
|
+
"description": "Returns the squared length of the supplied vector or quaternion.",
|
|
1078
|
+
"returnvalues": [
|
|
1079
|
+
{
|
|
1080
|
+
"name": "n",
|
|
1081
|
+
"doc": "squared length",
|
|
1082
|
+
"types": ["number"]
|
|
1083
|
+
}
|
|
1084
|
+
],
|
|
1085
|
+
"parameters": [
|
|
1086
|
+
{
|
|
1087
|
+
"name": "v",
|
|
1088
|
+
"doc": "value of which to calculate the squared length",
|
|
1089
|
+
"types": ["vector3", "vector4", "quaternion"],
|
|
1090
|
+
"is_optional": "False"
|
|
1091
|
+
}
|
|
1092
|
+
],
|
|
1093
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kr\">if</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">length_sqr</span><span class=\"p\">(</span><span class=\"n\">vector1</span><span class=\"p\">)</span> <span class=\"o\"><</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">length_sqr</span><span class=\"p\">(</span><span class=\"n\">vector2</span><span class=\"p\">)</span> <span class=\"kr\">then</span>\n <span class=\"c1\">-- Vector 1 has less magnitude than vector 2</span>\n <span class=\"p\">...</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
1094
|
+
"replaces": "",
|
|
1095
|
+
"error": "",
|
|
1096
|
+
"tparams": [],
|
|
1097
|
+
"members": [],
|
|
1098
|
+
"notes": [],
|
|
1099
|
+
"language": ""
|
|
1100
|
+
},
|
|
1101
|
+
{
|
|
1102
|
+
"type": "FUNCTION",
|
|
1103
|
+
"name": "vmath.length",
|
|
1104
|
+
"brief": "calculates the length of a vector or quaternion",
|
|
1105
|
+
"description": "Returns the length of the supplied vector or quaternion.\nIf you are comparing the lengths of vectors or quaternions, you should compare\nthe length squared instead as it is slightly more efficient to calculate\n(it eliminates a square root calculation).",
|
|
1106
|
+
"returnvalues": [
|
|
1107
|
+
{
|
|
1108
|
+
"name": "n",
|
|
1109
|
+
"doc": "length",
|
|
1110
|
+
"types": ["number"]
|
|
1111
|
+
}
|
|
1112
|
+
],
|
|
1113
|
+
"parameters": [
|
|
1114
|
+
{
|
|
1115
|
+
"name": "v",
|
|
1116
|
+
"doc": "value of which to calculate the length",
|
|
1117
|
+
"types": ["vector3", "vector4", "quaternion"],
|
|
1118
|
+
"is_optional": "False"
|
|
1119
|
+
}
|
|
1120
|
+
],
|
|
1121
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kr\">if</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">length</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">velocity</span><span class=\"p\">)</span> <span class=\"o\"><</span> <span class=\"n\">max_velocity</span> <span class=\"kr\">then</span>\n <span class=\"c1\">-- The speed (velocity vector) is below max.</span>\n\n <span class=\"c1\">-- TODO: max_velocity can be expressed as squared</span>\n <span class=\"c1\">-- so we can compare with length_sqr() instead.</span>\n <span class=\"p\">...</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
1122
|
+
"replaces": "",
|
|
1123
|
+
"error": "",
|
|
1124
|
+
"tparams": [],
|
|
1125
|
+
"members": [],
|
|
1126
|
+
"notes": [],
|
|
1127
|
+
"language": ""
|
|
1128
|
+
},
|
|
1129
|
+
{
|
|
1130
|
+
"type": "FUNCTION",
|
|
1131
|
+
"name": "vmath.normalize",
|
|
1132
|
+
"brief": "normalizes a vector",
|
|
1133
|
+
"description": "Normalizes a vector, i.e. returns a new vector with the same\ndirection as the input vector, but with length 1.\n<span class=\"icon-attention\"></span> The length of the vector must be above 0, otherwise a\ndivision-by-zero will occur.",
|
|
1134
|
+
"returnvalues": [
|
|
1135
|
+
{
|
|
1136
|
+
"name": "v",
|
|
1137
|
+
"doc": "new normalized vector",
|
|
1138
|
+
"types": ["vector3", "vector4", "quaternion"]
|
|
1139
|
+
}
|
|
1140
|
+
],
|
|
1141
|
+
"parameters": [
|
|
1142
|
+
{
|
|
1143
|
+
"name": "v1",
|
|
1144
|
+
"doc": "vector to normalize",
|
|
1145
|
+
"types": ["vector3", "vector4", "quaternion"],
|
|
1146
|
+
"is_optional": "False"
|
|
1147
|
+
}
|
|
1148
|
+
],
|
|
1149
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">vec</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"mi\">3</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">norm_vec</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">normalize</span><span class=\"p\">(</span><span class=\"n\">vec</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">norm_vec</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.vector3(0.26726123690605, 0.5345224738121, 0.80178368091583)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">length</span><span class=\"p\">(</span><span class=\"n\">norm_vec</span><span class=\"p\">))</span> <span class=\"c1\">--> 0.99999994039536</span>\n</code></pre></div>",
|
|
1150
|
+
"replaces": "",
|
|
1151
|
+
"error": "",
|
|
1152
|
+
"tparams": [],
|
|
1153
|
+
"members": [],
|
|
1154
|
+
"notes": [],
|
|
1155
|
+
"language": ""
|
|
1156
|
+
},
|
|
1157
|
+
{
|
|
1158
|
+
"type": "FUNCTION",
|
|
1159
|
+
"name": "vmath.cross",
|
|
1160
|
+
"brief": "calculates the cross-product of two vectors",
|
|
1161
|
+
"description": "Given two linearly independent vectors P and Q, the cross product,\nP × Q, is a vector that is perpendicular to both P and Q and\ntherefore normal to the plane containing them.\nIf the two vectors have the same direction (or have the exact\nopposite direction from one another, i.e. are not linearly independent)\nor if either one has zero length, then their cross product is zero.",
|
|
1162
|
+
"returnvalues": [
|
|
1163
|
+
{
|
|
1164
|
+
"name": "v",
|
|
1165
|
+
"doc": "a new vector representing the cross product",
|
|
1166
|
+
"types": ["vector3"]
|
|
1167
|
+
}
|
|
1168
|
+
],
|
|
1169
|
+
"parameters": [
|
|
1170
|
+
{
|
|
1171
|
+
"name": "v1",
|
|
1172
|
+
"doc": "first vector",
|
|
1173
|
+
"types": ["vector3"],
|
|
1174
|
+
"is_optional": "False"
|
|
1175
|
+
},
|
|
1176
|
+
{
|
|
1177
|
+
"name": "v2",
|
|
1178
|
+
"doc": "second vector",
|
|
1179
|
+
"types": ["vector3"],
|
|
1180
|
+
"is_optional": "False"
|
|
1181
|
+
}
|
|
1182
|
+
],
|
|
1183
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">vec1</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">vec2</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">cross</span><span class=\"p\">(</span><span class=\"n\">vec1</span><span class=\"p\">,</span> <span class=\"n\">vec2</span><span class=\"p\">))</span> <span class=\"c1\">--> vmath.vector3(0, 0, 1)</span>\n<span class=\"kd\">local</span> <span class=\"n\">vec3</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"o\">-</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">cross</span><span class=\"p\">(</span><span class=\"n\">vec1</span><span class=\"p\">,</span> <span class=\"n\">vec3</span><span class=\"p\">))</span> <span class=\"c1\">--> vmath.vector3(0, -0, 0)</span>\n</code></pre></div>",
|
|
1184
|
+
"replaces": "",
|
|
1185
|
+
"error": "",
|
|
1186
|
+
"tparams": [],
|
|
1187
|
+
"members": [],
|
|
1188
|
+
"notes": [],
|
|
1189
|
+
"language": ""
|
|
1190
|
+
},
|
|
1191
|
+
{
|
|
1192
|
+
"type": "FUNCTION",
|
|
1193
|
+
"name": "vmath.lerp",
|
|
1194
|
+
"brief": "lerps between two vectors",
|
|
1195
|
+
"description": "Linearly interpolate between two vectors. The function\ntreats the vectors as positions and interpolates between\nthe positions in a straight line. Lerp is useful to describe\ntransitions from one place to another over time.\n<span class=\"icon-attention\"></span> The function does not clamp t between 0 and 1.",
|
|
1196
|
+
"returnvalues": [
|
|
1197
|
+
{
|
|
1198
|
+
"name": "v",
|
|
1199
|
+
"doc": "the lerped vector",
|
|
1200
|
+
"types": ["vector3", "vector4"]
|
|
1201
|
+
}
|
|
1202
|
+
],
|
|
1203
|
+
"parameters": [
|
|
1204
|
+
{
|
|
1205
|
+
"name": "t",
|
|
1206
|
+
"doc": "interpolation parameter, 0-1",
|
|
1207
|
+
"types": ["number"],
|
|
1208
|
+
"is_optional": "False"
|
|
1209
|
+
},
|
|
1210
|
+
{
|
|
1211
|
+
"name": "v1",
|
|
1212
|
+
"doc": "vector to lerp from",
|
|
1213
|
+
"types": ["vector3", "vector4"],
|
|
1214
|
+
"is_optional": "False"
|
|
1215
|
+
},
|
|
1216
|
+
{
|
|
1217
|
+
"name": "v2",
|
|
1218
|
+
"doc": "vector to lerp to",
|
|
1219
|
+
"types": ["vector3", "vector4"],
|
|
1220
|
+
"is_optional": "False"
|
|
1221
|
+
}
|
|
1222
|
+
],
|
|
1223
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span> <span class=\"o\">=</span> <span class=\"mi\">0</span>\n<span class=\"kr\">end</span>\n\n<span class=\"kr\">function</span> <span class=\"nf\">update</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">,</span> <span class=\"n\">dt</span><span class=\"p\">)</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span> <span class=\"o\">=</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span> <span class=\"o\">+</span> <span class=\"n\">dt</span>\n <span class=\"kr\">if</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span> <span class=\"o\"><=</span> <span class=\"mi\">1</span> <span class=\"kr\">then</span>\n <span class=\"kd\">local</span> <span class=\"n\">startpos</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">600</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">endpos</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">600</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">pos</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">lerp</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span><span class=\"p\">,</span> <span class=\"n\">startpos</span><span class=\"p\">,</span> <span class=\"n\">endpos</span><span class=\"p\">)</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set_position</span><span class=\"p\">(</span><span class=\"n\">pos</span><span class=\"p\">,</span> <span class=\"s2\">"go"</span><span class=\"p\">)</span>\n <span class=\"kr\">end</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
1224
|
+
"replaces": "",
|
|
1225
|
+
"error": "",
|
|
1226
|
+
"tparams": [],
|
|
1227
|
+
"members": [],
|
|
1228
|
+
"notes": [],
|
|
1229
|
+
"language": ""
|
|
1230
|
+
},
|
|
1231
|
+
{
|
|
1232
|
+
"type": "FUNCTION",
|
|
1233
|
+
"name": "vmath.lerp",
|
|
1234
|
+
"brief": "lerps between two quaternions",
|
|
1235
|
+
"description": "Linearly interpolate between two quaternions. Linear\ninterpolation of rotations are only useful for small\nrotations. For interpolations of arbitrary rotations,\n<a href=\"/ref/vmath#vmath.slerp\">vmath.slerp</a> yields much better results.\n<span class=\"icon-attention\"></span> The function does not clamp t between 0 and 1.",
|
|
1236
|
+
"returnvalues": [
|
|
1237
|
+
{
|
|
1238
|
+
"name": "q",
|
|
1239
|
+
"doc": "the lerped quaternion",
|
|
1240
|
+
"types": ["quaternion"]
|
|
1241
|
+
}
|
|
1242
|
+
],
|
|
1243
|
+
"parameters": [
|
|
1244
|
+
{
|
|
1245
|
+
"name": "t",
|
|
1246
|
+
"doc": "interpolation parameter, 0-1",
|
|
1247
|
+
"types": ["number"],
|
|
1248
|
+
"is_optional": "False"
|
|
1249
|
+
},
|
|
1250
|
+
{
|
|
1251
|
+
"name": "q1",
|
|
1252
|
+
"doc": "quaternion to lerp from",
|
|
1253
|
+
"types": ["quaternion"],
|
|
1254
|
+
"is_optional": "False"
|
|
1255
|
+
},
|
|
1256
|
+
{
|
|
1257
|
+
"name": "q2",
|
|
1258
|
+
"doc": "quaternion to lerp to",
|
|
1259
|
+
"types": ["quaternion"],
|
|
1260
|
+
"is_optional": "False"
|
|
1261
|
+
}
|
|
1262
|
+
],
|
|
1263
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span> <span class=\"o\">=</span> <span class=\"mi\">0</span>\n<span class=\"kr\">end</span>\n\n<span class=\"kr\">function</span> <span class=\"nf\">update</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">,</span> <span class=\"n\">dt</span><span class=\"p\">)</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span> <span class=\"o\">=</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span> <span class=\"o\">+</span> <span class=\"n\">dt</span>\n <span class=\"kr\">if</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span> <span class=\"o\"><=</span> <span class=\"mi\">1</span> <span class=\"kr\">then</span>\n <span class=\"kd\">local</span> <span class=\"n\">startrot</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat_rotation_z</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">endrot</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat_rotation_z</span><span class=\"p\">(</span><span class=\"mf\">3.141592653</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">rot</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">lerp</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span><span class=\"p\">,</span> <span class=\"n\">startrot</span><span class=\"p\">,</span> <span class=\"n\">endrot</span><span class=\"p\">)</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set_rotation</span><span class=\"p\">(</span><span class=\"n\">rot</span><span class=\"p\">,</span> <span class=\"s2\">"go"</span><span class=\"p\">)</span>\n <span class=\"kr\">end</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
1264
|
+
"replaces": "",
|
|
1265
|
+
"error": "",
|
|
1266
|
+
"tparams": [],
|
|
1267
|
+
"members": [],
|
|
1268
|
+
"notes": [],
|
|
1269
|
+
"language": ""
|
|
1270
|
+
},
|
|
1271
|
+
{
|
|
1272
|
+
"type": "FUNCTION",
|
|
1273
|
+
"name": "vmath.lerp",
|
|
1274
|
+
"brief": "lerps between two numbers",
|
|
1275
|
+
"description": "Linearly interpolate between two values. Lerp is useful\nto describe transitions from one value to another over time.\n<span class=\"icon-attention\"></span> The function does not clamp t between 0 and 1.",
|
|
1276
|
+
"returnvalues": [
|
|
1277
|
+
{
|
|
1278
|
+
"name": "n",
|
|
1279
|
+
"doc": "the lerped number",
|
|
1280
|
+
"types": ["number"]
|
|
1281
|
+
}
|
|
1282
|
+
],
|
|
1283
|
+
"parameters": [
|
|
1284
|
+
{
|
|
1285
|
+
"name": "t",
|
|
1286
|
+
"doc": "interpolation parameter, 0-1",
|
|
1287
|
+
"types": ["number"],
|
|
1288
|
+
"is_optional": "False"
|
|
1289
|
+
},
|
|
1290
|
+
{
|
|
1291
|
+
"name": "n1",
|
|
1292
|
+
"doc": "number to lerp from",
|
|
1293
|
+
"types": ["number"],
|
|
1294
|
+
"is_optional": "False"
|
|
1295
|
+
},
|
|
1296
|
+
{
|
|
1297
|
+
"name": "n2",
|
|
1298
|
+
"doc": "number to lerp to",
|
|
1299
|
+
"types": ["number"],
|
|
1300
|
+
"is_optional": "False"
|
|
1301
|
+
}
|
|
1302
|
+
],
|
|
1303
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span> <span class=\"o\">=</span> <span class=\"mi\">0</span>\n<span class=\"kr\">end</span>\n\n<span class=\"kr\">function</span> <span class=\"nf\">update</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">,</span> <span class=\"n\">dt</span><span class=\"p\">)</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span> <span class=\"o\">=</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span> <span class=\"o\">+</span> <span class=\"n\">dt</span>\n <span class=\"kr\">if</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span> <span class=\"o\"><=</span> <span class=\"mi\">1</span> <span class=\"kr\">then</span>\n <span class=\"kd\">local</span> <span class=\"n\">startx</span> <span class=\"o\">=</span> <span class=\"mi\">0</span>\n <span class=\"kd\">local</span> <span class=\"n\">endx</span> <span class=\"o\">=</span> <span class=\"mi\">600</span>\n <span class=\"kd\">local</span> <span class=\"n\">x</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">lerp</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span><span class=\"p\">,</span> <span class=\"n\">startx</span><span class=\"p\">,</span> <span class=\"n\">endx</span><span class=\"p\">)</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set_position</span><span class=\"p\">(</span><span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"n\">x</span><span class=\"p\">,</span> <span class=\"mi\">100</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">),</span> <span class=\"s2\">"go"</span><span class=\"p\">)</span>\n <span class=\"kr\">end</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
1304
|
+
"replaces": "",
|
|
1305
|
+
"error": "",
|
|
1306
|
+
"tparams": [],
|
|
1307
|
+
"members": [],
|
|
1308
|
+
"notes": [],
|
|
1309
|
+
"language": ""
|
|
1310
|
+
},
|
|
1311
|
+
{
|
|
1312
|
+
"type": "FUNCTION",
|
|
1313
|
+
"name": "vmath.slerp",
|
|
1314
|
+
"brief": "slerps between two vectors",
|
|
1315
|
+
"description": "Spherically interpolates between two vectors. The difference to\nlerp is that slerp treats the vectors as directions instead of\npositions in space.\nThe direction of the returned vector is interpolated by the angle\nand the magnitude is interpolated between the magnitudes of the\nfrom and to vectors.\n<span class=\"icon-attention\"></span> Slerp is computationally more expensive than lerp.\nThe function does not clamp t between 0 and 1.",
|
|
1316
|
+
"returnvalues": [
|
|
1317
|
+
{
|
|
1318
|
+
"name": "v",
|
|
1319
|
+
"doc": "the slerped vector",
|
|
1320
|
+
"types": ["vector3", "vector4"]
|
|
1321
|
+
}
|
|
1322
|
+
],
|
|
1323
|
+
"parameters": [
|
|
1324
|
+
{
|
|
1325
|
+
"name": "t",
|
|
1326
|
+
"doc": "interpolation parameter, 0-1",
|
|
1327
|
+
"types": ["number"],
|
|
1328
|
+
"is_optional": "False"
|
|
1329
|
+
},
|
|
1330
|
+
{
|
|
1331
|
+
"name": "v1",
|
|
1332
|
+
"doc": "vector to slerp from",
|
|
1333
|
+
"types": ["vector3", "vector4"],
|
|
1334
|
+
"is_optional": "False"
|
|
1335
|
+
},
|
|
1336
|
+
{
|
|
1337
|
+
"name": "v2",
|
|
1338
|
+
"doc": "vector to slerp to",
|
|
1339
|
+
"types": ["vector3", "vector4"],
|
|
1340
|
+
"is_optional": "False"
|
|
1341
|
+
}
|
|
1342
|
+
],
|
|
1343
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span> <span class=\"o\">=</span> <span class=\"mi\">0</span>\n<span class=\"kr\">end</span>\n\n<span class=\"kr\">function</span> <span class=\"nf\">update</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">,</span> <span class=\"n\">dt</span><span class=\"p\">)</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span> <span class=\"o\">=</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span> <span class=\"o\">+</span> <span class=\"n\">dt</span>\n <span class=\"kr\">if</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span> <span class=\"o\"><=</span> <span class=\"mi\">1</span> <span class=\"kr\">then</span>\n <span class=\"kd\">local</span> <span class=\"n\">startpos</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">600</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">endpos</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">600</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">pos</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">slerp</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span><span class=\"p\">,</span> <span class=\"n\">startpos</span><span class=\"p\">,</span> <span class=\"n\">endpos</span><span class=\"p\">)</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set_position</span><span class=\"p\">(</span><span class=\"n\">pos</span><span class=\"p\">,</span> <span class=\"s2\">"go"</span><span class=\"p\">)</span>\n <span class=\"kr\">end</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
1344
|
+
"replaces": "",
|
|
1345
|
+
"error": "",
|
|
1346
|
+
"tparams": [],
|
|
1347
|
+
"members": [],
|
|
1348
|
+
"notes": [],
|
|
1349
|
+
"language": ""
|
|
1350
|
+
},
|
|
1351
|
+
{
|
|
1352
|
+
"type": "FUNCTION",
|
|
1353
|
+
"name": "vmath.slerp",
|
|
1354
|
+
"brief": "slerps between two quaternions",
|
|
1355
|
+
"description": "Slerp travels the torque-minimal path maintaining constant\nvelocity, which means it travels along the straightest path along\nthe rounded surface of a sphere. Slerp is useful for interpolation\nof rotations.\nSlerp travels the torque-minimal path, which means it travels\nalong the straightest path the rounded surface of a sphere.\n<span class=\"icon-attention\"></span> The function does not clamp t between 0 and 1.",
|
|
1356
|
+
"returnvalues": [
|
|
1357
|
+
{
|
|
1358
|
+
"name": "q",
|
|
1359
|
+
"doc": "the slerped quaternion",
|
|
1360
|
+
"types": ["quaternion"]
|
|
1361
|
+
}
|
|
1362
|
+
],
|
|
1363
|
+
"parameters": [
|
|
1364
|
+
{
|
|
1365
|
+
"name": "t",
|
|
1366
|
+
"doc": "interpolation parameter, 0-1",
|
|
1367
|
+
"types": ["number"],
|
|
1368
|
+
"is_optional": "False"
|
|
1369
|
+
},
|
|
1370
|
+
{
|
|
1371
|
+
"name": "q1",
|
|
1372
|
+
"doc": "quaternion to slerp from",
|
|
1373
|
+
"types": ["quaternion"],
|
|
1374
|
+
"is_optional": "False"
|
|
1375
|
+
},
|
|
1376
|
+
{
|
|
1377
|
+
"name": "q2",
|
|
1378
|
+
"doc": "quaternion to slerp to",
|
|
1379
|
+
"types": ["quaternion"],
|
|
1380
|
+
"is_optional": "False"
|
|
1381
|
+
}
|
|
1382
|
+
],
|
|
1383
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span> <span class=\"o\">=</span> <span class=\"mi\">0</span>\n<span class=\"kr\">end</span>\n\n<span class=\"kr\">function</span> <span class=\"nf\">update</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">,</span> <span class=\"n\">dt</span><span class=\"p\">)</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span> <span class=\"o\">=</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span> <span class=\"o\">+</span> <span class=\"n\">dt</span>\n <span class=\"kr\">if</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span> <span class=\"o\"><=</span> <span class=\"mi\">1</span> <span class=\"kr\">then</span>\n <span class=\"kd\">local</span> <span class=\"n\">startrot</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat_rotation_z</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">endrot</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat_rotation_z</span><span class=\"p\">(</span><span class=\"mf\">3.141592653</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">rot</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">slerp</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">t</span><span class=\"p\">,</span> <span class=\"n\">startrot</span><span class=\"p\">,</span> <span class=\"n\">endrot</span><span class=\"p\">)</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set_rotation</span><span class=\"p\">(</span><span class=\"n\">rot</span><span class=\"p\">,</span> <span class=\"s2\">"go"</span><span class=\"p\">)</span>\n <span class=\"kr\">end</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
1384
|
+
"replaces": "",
|
|
1385
|
+
"error": "",
|
|
1386
|
+
"tparams": [],
|
|
1387
|
+
"members": [],
|
|
1388
|
+
"notes": [],
|
|
1389
|
+
"language": ""
|
|
1390
|
+
},
|
|
1391
|
+
{
|
|
1392
|
+
"type": "FUNCTION",
|
|
1393
|
+
"name": "vmath.conj",
|
|
1394
|
+
"brief": "calculates the conjugate of a quaternion",
|
|
1395
|
+
"description": "Calculates the conjugate of a quaternion. The result is a\nquaternion with the same magnitudes but with the sign of\nthe imaginary (vector) parts changed:\n<code>q<super>*</super> = [w, -v]</code>",
|
|
1396
|
+
"returnvalues": [
|
|
1397
|
+
{
|
|
1398
|
+
"name": "q",
|
|
1399
|
+
"doc": "the conjugate",
|
|
1400
|
+
"types": ["quaternion"]
|
|
1401
|
+
}
|
|
1402
|
+
],
|
|
1403
|
+
"parameters": [
|
|
1404
|
+
{
|
|
1405
|
+
"name": "q1",
|
|
1406
|
+
"doc": "quaternion of which to calculate the conjugate",
|
|
1407
|
+
"types": ["quaternion"],
|
|
1408
|
+
"is_optional": "False"
|
|
1409
|
+
}
|
|
1410
|
+
],
|
|
1411
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">quat</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"mi\">3</span><span class=\"p\">,</span> <span class=\"mi\">4</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">conj</span><span class=\"p\">(</span><span class=\"n\">quat</span><span class=\"p\">))</span> <span class=\"c1\">--> vmath.quat(-1, -2, -3, 4)</span>\n</code></pre></div>",
|
|
1412
|
+
"replaces": "",
|
|
1413
|
+
"error": "",
|
|
1414
|
+
"tparams": [],
|
|
1415
|
+
"members": [],
|
|
1416
|
+
"notes": [],
|
|
1417
|
+
"language": ""
|
|
1418
|
+
},
|
|
1419
|
+
{
|
|
1420
|
+
"type": "FUNCTION",
|
|
1421
|
+
"name": "vmath.rotate",
|
|
1422
|
+
"brief": "rotates a vector by a quaternion",
|
|
1423
|
+
"description": "Returns a new vector from the supplied vector that is\nrotated by the rotation described by the supplied\nquaternion.",
|
|
1424
|
+
"returnvalues": [
|
|
1425
|
+
{
|
|
1426
|
+
"name": "v",
|
|
1427
|
+
"doc": "the rotated vector",
|
|
1428
|
+
"types": ["vector3"]
|
|
1429
|
+
}
|
|
1430
|
+
],
|
|
1431
|
+
"parameters": [
|
|
1432
|
+
{
|
|
1433
|
+
"name": "q",
|
|
1434
|
+
"doc": "quaternion",
|
|
1435
|
+
"types": ["quaternion"],
|
|
1436
|
+
"is_optional": "False"
|
|
1437
|
+
},
|
|
1438
|
+
{
|
|
1439
|
+
"name": "v1",
|
|
1440
|
+
"doc": "vector to rotate",
|
|
1441
|
+
"types": ["vector3"],
|
|
1442
|
+
"is_optional": "False"
|
|
1443
|
+
}
|
|
1444
|
+
],
|
|
1445
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">vec</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">rot</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat_rotation_z</span><span class=\"p\">(</span><span class=\"mf\">3.141592563</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">rotate</span><span class=\"p\">(</span><span class=\"n\">rot</span><span class=\"p\">,</span> <span class=\"n\">vec</span><span class=\"p\">))</span> <span class=\"c1\">--> vmath.vector3(-1.0000002384186, -0.99999988079071, 0)</span>\n</code></pre></div>",
|
|
1446
|
+
"replaces": "",
|
|
1447
|
+
"error": "",
|
|
1448
|
+
"tparams": [],
|
|
1449
|
+
"members": [],
|
|
1450
|
+
"notes": [],
|
|
1451
|
+
"language": ""
|
|
1452
|
+
},
|
|
1453
|
+
{
|
|
1454
|
+
"type": "FUNCTION",
|
|
1455
|
+
"name": "vmath.project",
|
|
1456
|
+
"brief": "projects a vector onto another vector",
|
|
1457
|
+
"description": "Calculates the extent the projection of the first vector onto the second.\nThe returned value is a scalar p defined as:\n<code>p = |P| cos θ / |Q|</code>\nwhere θ is the angle between the vectors P and Q.",
|
|
1458
|
+
"returnvalues": [
|
|
1459
|
+
{
|
|
1460
|
+
"name": "n",
|
|
1461
|
+
"doc": "the projected extent of the first vector onto the second",
|
|
1462
|
+
"types": ["number"]
|
|
1463
|
+
}
|
|
1464
|
+
],
|
|
1465
|
+
"parameters": [
|
|
1466
|
+
{
|
|
1467
|
+
"name": "v1",
|
|
1468
|
+
"doc": "vector to be projected on the second",
|
|
1469
|
+
"types": ["vector3"],
|
|
1470
|
+
"is_optional": "False"
|
|
1471
|
+
},
|
|
1472
|
+
{
|
|
1473
|
+
"name": "v2",
|
|
1474
|
+
"doc": "vector onto which the first will be projected, must not have zero length",
|
|
1475
|
+
"types": ["vector3"],
|
|
1476
|
+
"is_optional": "False"
|
|
1477
|
+
}
|
|
1478
|
+
],
|
|
1479
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">v1</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">v2</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">project</span><span class=\"p\">(</span><span class=\"n\">v1</span><span class=\"p\">,</span> <span class=\"n\">v2</span><span class=\"p\">))</span> <span class=\"c1\">--> 0.5</span>\n</code></pre></div>",
|
|
1480
|
+
"replaces": "",
|
|
1481
|
+
"error": "",
|
|
1482
|
+
"tparams": [],
|
|
1483
|
+
"members": [],
|
|
1484
|
+
"notes": [],
|
|
1485
|
+
"language": ""
|
|
1486
|
+
},
|
|
1487
|
+
{
|
|
1488
|
+
"type": "FUNCTION",
|
|
1489
|
+
"name": "vmath.mul_per_elem",
|
|
1490
|
+
"brief": "performs an element wise multiplication of two vectors",
|
|
1491
|
+
"description": "Performs an element wise multiplication between two vectors of the same type\nThe returned value is a vector defined as (e.g. for a vector3):\n<code>v = vmath.mul_per_elem(a, b) = vmath.vector3(a.x * b.x, a.y * b.y, a.z * b.z)</code>",
|
|
1492
|
+
"returnvalues": [
|
|
1493
|
+
{
|
|
1494
|
+
"name": "v",
|
|
1495
|
+
"doc": "multiplied vector",
|
|
1496
|
+
"types": ["vector3", "vector4"]
|
|
1497
|
+
}
|
|
1498
|
+
],
|
|
1499
|
+
"parameters": [
|
|
1500
|
+
{
|
|
1501
|
+
"name": "v1",
|
|
1502
|
+
"doc": "first vector",
|
|
1503
|
+
"types": ["vector3", "vector4"],
|
|
1504
|
+
"is_optional": "False"
|
|
1505
|
+
},
|
|
1506
|
+
{
|
|
1507
|
+
"name": "v2",
|
|
1508
|
+
"doc": "second vector",
|
|
1509
|
+
"types": ["vector3", "vector4"],
|
|
1510
|
+
"is_optional": "False"
|
|
1511
|
+
}
|
|
1512
|
+
],
|
|
1513
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">blend_color</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">mul_per_elem</span><span class=\"p\">(</span><span class=\"n\">color1</span><span class=\"p\">,</span> <span class=\"n\">color2</span><span class=\"p\">)</span>\n</code></pre></div>",
|
|
1514
|
+
"replaces": "",
|
|
1515
|
+
"error": "",
|
|
1516
|
+
"tparams": [],
|
|
1517
|
+
"members": [],
|
|
1518
|
+
"notes": [],
|
|
1519
|
+
"language": ""
|
|
1520
|
+
},
|
|
1521
|
+
{
|
|
1522
|
+
"type": "FUNCTION",
|
|
1523
|
+
"name": "vmath.quat_matrix4",
|
|
1524
|
+
"brief": "creates a new quaternion from matrix4",
|
|
1525
|
+
"description": "Creates a new quaternion with the components set\naccording to the supplied parameter values.",
|
|
1526
|
+
"returnvalues": [
|
|
1527
|
+
{
|
|
1528
|
+
"name": "q",
|
|
1529
|
+
"doc": "new quaternion",
|
|
1530
|
+
"types": ["quaternion"]
|
|
1531
|
+
}
|
|
1532
|
+
],
|
|
1533
|
+
"parameters": [
|
|
1534
|
+
{
|
|
1535
|
+
"name": "matrix",
|
|
1536
|
+
"doc": "source matrix4",
|
|
1537
|
+
"types": ["matrix4"],
|
|
1538
|
+
"is_optional": "False"
|
|
1539
|
+
}
|
|
1540
|
+
],
|
|
1541
|
+
"examples": "",
|
|
1542
|
+
"replaces": "",
|
|
1543
|
+
"error": "",
|
|
1544
|
+
"tparams": [],
|
|
1545
|
+
"members": [],
|
|
1546
|
+
"notes": [],
|
|
1547
|
+
"language": ""
|
|
1548
|
+
},
|
|
1549
|
+
{
|
|
1550
|
+
"type": "FUNCTION",
|
|
1551
|
+
"name": "vmath.matrix4_compose",
|
|
1552
|
+
"brief": "creates a new matrix4 from translation, rotation and scale",
|
|
1553
|
+
"description": "Creates a new matrix constructed from separate\ntranslation vector, roation quaternion and scale vector",
|
|
1554
|
+
"returnvalues": [
|
|
1555
|
+
{
|
|
1556
|
+
"name": "matrix",
|
|
1557
|
+
"doc": "new matrix4",
|
|
1558
|
+
"types": ["matrix4"]
|
|
1559
|
+
}
|
|
1560
|
+
],
|
|
1561
|
+
"parameters": [
|
|
1562
|
+
{
|
|
1563
|
+
"name": "translation",
|
|
1564
|
+
"doc": "translation",
|
|
1565
|
+
"types": ["vector3", "vector4"],
|
|
1566
|
+
"is_optional": "False"
|
|
1567
|
+
},
|
|
1568
|
+
{
|
|
1569
|
+
"name": "rotation",
|
|
1570
|
+
"doc": "rotation",
|
|
1571
|
+
"types": ["quaternion"],
|
|
1572
|
+
"is_optional": "False"
|
|
1573
|
+
},
|
|
1574
|
+
{
|
|
1575
|
+
"name": "scale",
|
|
1576
|
+
"doc": "scale",
|
|
1577
|
+
"types": ["vector3"],
|
|
1578
|
+
"is_optional": "False"
|
|
1579
|
+
}
|
|
1580
|
+
],
|
|
1581
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">translation</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">103</span><span class=\"p\">,</span> <span class=\"o\">-</span><span class=\"mi\">95</span><span class=\"p\">,</span> <span class=\"mi\">14</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">quat</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"mi\">3</span><span class=\"p\">,</span> <span class=\"mi\">4</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">scale</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mf\">0.5</span><span class=\"p\">,</span> <span class=\"mf\">0.5</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">result</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">matrix4_compose</span><span class=\"p\">(</span><span class=\"n\">translation</span><span class=\"p\">,</span> <span class=\"n\">quat</span><span class=\"p\">,</span> <span class=\"n\">scale</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">result</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.matrix4(-25, -10, 11, 103, 28, -9.5, 2, -95, -10, 10, -4.5, 14, 0, 0, 0, 1)</span>\n</code></pre></div>",
|
|
1582
|
+
"replaces": "",
|
|
1583
|
+
"error": "",
|
|
1584
|
+
"tparams": [],
|
|
1585
|
+
"members": [],
|
|
1586
|
+
"notes": [],
|
|
1587
|
+
"language": ""
|
|
1588
|
+
},
|
|
1589
|
+
{
|
|
1590
|
+
"type": "FUNCTION",
|
|
1591
|
+
"name": "vmath.matrix4_scale",
|
|
1592
|
+
"brief": "creates a new matrix4 from scale vector",
|
|
1593
|
+
"description": "Creates a new matrix constructed from scale vector",
|
|
1594
|
+
"returnvalues": [
|
|
1595
|
+
{
|
|
1596
|
+
"name": "matrix",
|
|
1597
|
+
"doc": "new matrix4",
|
|
1598
|
+
"types": ["matrix4"]
|
|
1599
|
+
}
|
|
1600
|
+
],
|
|
1601
|
+
"parameters": [
|
|
1602
|
+
{
|
|
1603
|
+
"name": "scale",
|
|
1604
|
+
"doc": "scale",
|
|
1605
|
+
"types": ["vector3"],
|
|
1606
|
+
"is_optional": "False"
|
|
1607
|
+
}
|
|
1608
|
+
],
|
|
1609
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">scale</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mf\">0.5</span><span class=\"p\">,</span> <span class=\"mf\">0.5</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">result</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">matrix4_scale</span><span class=\"p\">(</span><span class=\"n\">scale</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">result</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.matrix4(1, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 1)</span>\n</code></pre></div>",
|
|
1610
|
+
"replaces": "",
|
|
1611
|
+
"error": "",
|
|
1612
|
+
"tparams": [],
|
|
1613
|
+
"members": [],
|
|
1614
|
+
"notes": [],
|
|
1615
|
+
"language": ""
|
|
1616
|
+
},
|
|
1617
|
+
{
|
|
1618
|
+
"type": "FUNCTION",
|
|
1619
|
+
"name": "vmath.matrix4_scale",
|
|
1620
|
+
"brief": "creates a new matrix4 from uniform scale",
|
|
1621
|
+
"description": "creates a new matrix4 from uniform scale",
|
|
1622
|
+
"returnvalues": [
|
|
1623
|
+
{
|
|
1624
|
+
"name": "matrix",
|
|
1625
|
+
"doc": "new matrix4",
|
|
1626
|
+
"types": ["matrix4"]
|
|
1627
|
+
}
|
|
1628
|
+
],
|
|
1629
|
+
"parameters": [
|
|
1630
|
+
{
|
|
1631
|
+
"name": "scale",
|
|
1632
|
+
"doc": "scale",
|
|
1633
|
+
"types": ["number"],
|
|
1634
|
+
"is_optional": "False"
|
|
1635
|
+
}
|
|
1636
|
+
],
|
|
1637
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">result</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">matrix4_scale</span><span class=\"p\">(</span><span class=\"mf\">0.5</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">result</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.matrix4(0.5, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 1)</span>\n</code></pre></div>",
|
|
1638
|
+
"replaces": "",
|
|
1639
|
+
"error": "",
|
|
1640
|
+
"tparams": [],
|
|
1641
|
+
"members": [],
|
|
1642
|
+
"notes": [],
|
|
1643
|
+
"language": ""
|
|
1644
|
+
},
|
|
1645
|
+
{
|
|
1646
|
+
"type": "FUNCTION",
|
|
1647
|
+
"name": "vmath.matrix4_scale",
|
|
1648
|
+
"brief": "creates a new matrix4 from three scale components",
|
|
1649
|
+
"description": "Creates a new matrix4 from three scale components",
|
|
1650
|
+
"returnvalues": [
|
|
1651
|
+
{
|
|
1652
|
+
"name": "matrix",
|
|
1653
|
+
"doc": "new matrix4",
|
|
1654
|
+
"types": ["matrix4"]
|
|
1655
|
+
}
|
|
1656
|
+
],
|
|
1657
|
+
"parameters": [
|
|
1658
|
+
{
|
|
1659
|
+
"name": "scale_x",
|
|
1660
|
+
"doc": "scale along X axis",
|
|
1661
|
+
"types": ["number"],
|
|
1662
|
+
"is_optional": "False"
|
|
1663
|
+
},
|
|
1664
|
+
{
|
|
1665
|
+
"name": "scale_y",
|
|
1666
|
+
"doc": "sclae along Y axis",
|
|
1667
|
+
"types": ["number"],
|
|
1668
|
+
"is_optional": "False"
|
|
1669
|
+
},
|
|
1670
|
+
{
|
|
1671
|
+
"name": "scale_z",
|
|
1672
|
+
"doc": "scale along Z asis",
|
|
1673
|
+
"types": ["number"],
|
|
1674
|
+
"is_optional": "False"
|
|
1675
|
+
}
|
|
1676
|
+
],
|
|
1677
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">result</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">matrix4_scale</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mf\">0.5</span><span class=\"p\">,</span> <span class=\"mf\">0.5</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">result</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.matrix4(1, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 1)</span>\n</code></pre></div>",
|
|
1678
|
+
"replaces": "",
|
|
1679
|
+
"error": "",
|
|
1680
|
+
"tparams": [],
|
|
1681
|
+
"members": [],
|
|
1682
|
+
"notes": [],
|
|
1683
|
+
"language": ""
|
|
1684
|
+
},
|
|
1685
|
+
{
|
|
1686
|
+
"type": "FUNCTION",
|
|
1687
|
+
"name": "vmath.clamp",
|
|
1688
|
+
"brief": "clamp input value in range [min, max] and return clamped value",
|
|
1689
|
+
"description": "Clamp input value to be in range of [min, max]. In case if input value has vector3|vector4 type\nreturn new vector3|vector4 with clamped value at every vector's element.\nMin/max arguments can be vector3|vector4. In that case clamp excuted per every vector's element",
|
|
1690
|
+
"returnvalues": [
|
|
1691
|
+
{
|
|
1692
|
+
"name": "clamped_value",
|
|
1693
|
+
"doc": "Clamped value or vector",
|
|
1694
|
+
"types": ["number", "vector3", "vector4"]
|
|
1695
|
+
}
|
|
1696
|
+
],
|
|
1697
|
+
"parameters": [
|
|
1698
|
+
{
|
|
1699
|
+
"name": "value",
|
|
1700
|
+
"doc": "Input value or vector of values",
|
|
1701
|
+
"types": ["number", "vector3", "vector4"],
|
|
1702
|
+
"is_optional": "False"
|
|
1703
|
+
},
|
|
1704
|
+
{
|
|
1705
|
+
"name": "min",
|
|
1706
|
+
"doc": "Min value(s) border",
|
|
1707
|
+
"types": ["number", "vector3", "vector4"],
|
|
1708
|
+
"is_optional": "False"
|
|
1709
|
+
},
|
|
1710
|
+
{
|
|
1711
|
+
"name": "max",
|
|
1712
|
+
"doc": "Max value(s) border",
|
|
1713
|
+
"types": ["number", "vector3", "vector4"],
|
|
1714
|
+
"is_optional": "False"
|
|
1715
|
+
}
|
|
1716
|
+
],
|
|
1717
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">value1</span> <span class=\"o\">=</span> <span class=\"mi\">56</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">clamp</span><span class=\"p\">(</span><span class=\"n\">value1</span><span class=\"p\">,</span> <span class=\"mi\">89</span><span class=\"p\">,</span> <span class=\"mi\">134</span><span class=\"p\">))</span> <span class=\"o\">-></span> <span class=\"mi\">89</span>\n<span class=\"kd\">local</span> <span class=\"n\">v2</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">190</span><span class=\"p\">,</span> <span class=\"mi\">190</span><span class=\"p\">,</span> <span class=\"o\">-</span><span class=\"mi\">10</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">clamp</span><span class=\"p\">(</span><span class=\"n\">v2</span><span class=\"p\">,</span> <span class=\"o\">-</span><span class=\"mi\">50</span><span class=\"p\">,</span> <span class=\"mi\">150</span><span class=\"p\">))</span> <span class=\"o\">-></span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">150</span><span class=\"p\">,</span> <span class=\"mi\">150</span><span class=\"p\">,</span> <span class=\"o\">-</span><span class=\"mi\">10</span><span class=\"p\">)</span>\n<span class=\"kd\">local</span> <span class=\"n\">v3</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector4</span><span class=\"p\">(</span><span class=\"mi\">30</span><span class=\"p\">,</span> <span class=\"o\">-</span><span class=\"mi\">30</span><span class=\"p\">,</span> <span class=\"mi\">45</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">clamp</span><span class=\"p\">(</span><span class=\"n\">v3</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">20</span><span class=\"p\">))</span> <span class=\"o\">-></span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector4</span><span class=\"p\">(</span><span class=\"mi\">20</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">20</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">)</span>\n\n<span class=\"kd\">local</span> <span class=\"n\">min_v</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector4</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"o\">-</span><span class=\"mi\">10</span><span class=\"p\">,</span> <span class=\"o\">-</span><span class=\"mi\">10</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">clamp</span><span class=\"p\">(</span><span class=\"n\">v3</span><span class=\"p\">,</span> <span class=\"n\">min_v</span><span class=\"p\">,</span> <span class=\"mi\">20</span><span class=\"p\">))</span> <span class=\"o\">-></span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector4</span><span class=\"p\">(</span><span class=\"mi\">20</span><span class=\"p\">,</span> <span class=\"o\">-</span><span class=\"mi\">10</span><span class=\"p\">,</span> <span class=\"mi\">20</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">)</span>\n</code></pre></div>",
|
|
1718
|
+
"replaces": "",
|
|
1719
|
+
"error": "",
|
|
1720
|
+
"tparams": [],
|
|
1721
|
+
"members": [],
|
|
1722
|
+
"notes": [],
|
|
1723
|
+
"language": ""
|
|
1724
|
+
},
|
|
1725
|
+
{
|
|
1726
|
+
"type": "FUNCTION",
|
|
1727
|
+
"name": "vmath.quat_to_euler",
|
|
1728
|
+
"brief": "converts a quaternion into euler angles",
|
|
1729
|
+
"description": "Converts a quaternion into euler angles (r0, r1, r2), based on YZX rotation order.\nTo handle gimbal lock (singularity at r1 ~ +/- 90 degrees), the cut off is at r0 = +/- 88.85 degrees, which snaps to +/- 90.\nThe provided quaternion is expected to be normalized.\nThe error is guaranteed to be less than +/- 0.02 degrees",
|
|
1730
|
+
"returnvalues": [
|
|
1731
|
+
{
|
|
1732
|
+
"name": "x",
|
|
1733
|
+
"doc": "euler angle x in degrees",
|
|
1734
|
+
"types": ["number"]
|
|
1735
|
+
},
|
|
1736
|
+
{
|
|
1737
|
+
"name": "y",
|
|
1738
|
+
"doc": "euler angle y in degrees",
|
|
1739
|
+
"types": ["number"]
|
|
1740
|
+
},
|
|
1741
|
+
{
|
|
1742
|
+
"name": "z",
|
|
1743
|
+
"doc": "euler angle z in degrees",
|
|
1744
|
+
"types": ["number"]
|
|
1745
|
+
}
|
|
1746
|
+
],
|
|
1747
|
+
"parameters": [
|
|
1748
|
+
{
|
|
1749
|
+
"name": "q",
|
|
1750
|
+
"doc": "source quaternion",
|
|
1751
|
+
"types": ["quaternion"],
|
|
1752
|
+
"is_optional": "False"
|
|
1753
|
+
}
|
|
1754
|
+
],
|
|
1755
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">q</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat_rotation_z</span><span class=\"p\">(</span><span class=\"nb\">math.rad</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">))</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat_to_euler</span><span class=\"p\">(</span><span class=\"n\">q</span><span class=\"p\">))</span> <span class=\"c1\">--> 0 0 90</span>\n\n<span class=\"kd\">local</span> <span class=\"n\">q2</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat_rotation_y</span><span class=\"p\">(</span><span class=\"nb\">math.rad</span><span class=\"p\">(</span><span class=\"mi\">45</span><span class=\"p\">))</span> <span class=\"o\">*</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat_rotation_z</span><span class=\"p\">(</span><span class=\"nb\">math.rad</span><span class=\"p\">(</span><span class=\"mi\">90</span><span class=\"p\">))</span>\n<span class=\"kd\">local</span> <span class=\"n\">v</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">quat_to_euler</span><span class=\"p\">(</span><span class=\"n\">q2</span><span class=\"p\">))</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">v</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.vector3(0, 45, 90)</span>\n</code></pre></div>",
|
|
1756
|
+
"replaces": "",
|
|
1757
|
+
"error": "",
|
|
1758
|
+
"tparams": [],
|
|
1759
|
+
"members": [],
|
|
1760
|
+
"notes": [],
|
|
1761
|
+
"language": ""
|
|
1762
|
+
},
|
|
1763
|
+
{
|
|
1764
|
+
"type": "FUNCTION",
|
|
1765
|
+
"name": "vmath.euler_to_quat",
|
|
1766
|
+
"brief": "converts euler angles into a quaternion",
|
|
1767
|
+
"description": "Converts euler angles (x, y, z) in degrees into a quaternion\nThe error is guaranteed to be less than 0.001.\nIf the first argument is vector3, its values are used as x, y, z angles.",
|
|
1768
|
+
"returnvalues": [
|
|
1769
|
+
{
|
|
1770
|
+
"name": "q",
|
|
1771
|
+
"doc": "quaternion describing an equivalent rotation (231 (YZX) rotation sequence)",
|
|
1772
|
+
"types": ["quaternion"]
|
|
1773
|
+
}
|
|
1774
|
+
],
|
|
1775
|
+
"parameters": [
|
|
1776
|
+
{
|
|
1777
|
+
"name": "x",
|
|
1778
|
+
"doc": "rotation around x-axis in degrees or vector3 with euler angles in degrees",
|
|
1779
|
+
"types": ["number", "vector3"],
|
|
1780
|
+
"is_optional": "False"
|
|
1781
|
+
},
|
|
1782
|
+
{
|
|
1783
|
+
"name": "y",
|
|
1784
|
+
"doc": "rotation around y-axis in degrees",
|
|
1785
|
+
"types": ["number"],
|
|
1786
|
+
"is_optional": "False"
|
|
1787
|
+
},
|
|
1788
|
+
{
|
|
1789
|
+
"name": "z",
|
|
1790
|
+
"doc": "rotation around z-axis in degrees",
|
|
1791
|
+
"types": ["number"],
|
|
1792
|
+
"is_optional": "False"
|
|
1793
|
+
}
|
|
1794
|
+
],
|
|
1795
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"n\">q</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">euler_to_quat</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">45</span><span class=\"p\">,</span> <span class=\"mi\">90</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">q</span><span class=\"p\">)</span> <span class=\"c1\">--> vmath.quat(0.27059805393219, 0.27059805393219, 0.65328145027161, 0.65328145027161)</span>\n\n<span class=\"kd\">local</span> <span class=\"n\">v</span> <span class=\"o\">=</span> <span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">vector3</span><span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">90</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">vmath</span><span class=\"p\">.</span><span class=\"n\">euler_to_quat</span><span class=\"p\">(</span><span class=\"n\">v</span><span class=\"p\">))</span> <span class=\"c1\">--> vmath.quat(0, 0, 0.70710676908493, 0.70710676908493)</span>\n</code></pre></div>",
|
|
1796
|
+
"replaces": "",
|
|
1797
|
+
"error": "",
|
|
1798
|
+
"tparams": [],
|
|
1799
|
+
"members": [],
|
|
1800
|
+
"notes": [],
|
|
1801
|
+
"language": ""
|
|
1802
|
+
}
|
|
1803
|
+
],
|
|
1804
|
+
"info": {
|
|
1805
|
+
"namespace": "vmath",
|
|
1806
|
+
"name": "Vector math",
|
|
1807
|
+
"brief": "Vector math API documentation",
|
|
1808
|
+
"description": "Functions for mathematical operations on vectors, matrices and quaternions.\n\n- The vector types (`vmath.vector3` and `vmath.vector4`) supports addition and subtraction\n with vectors of the same type. Vectors can be negated and multiplied (scaled) or divided by numbers.\n- The quaternion type (`vmath.quat`) supports multiplication with other quaternions.\n- The matrix type (`vmath.matrix4`) can be multiplied with numbers, other matrices\n and `vmath.vector4` values.\n- All types performs equality comparison by each component value.\n\nThe following components are available for the various types:\n\nvector3\n: `x`, `y` and `z`. Example: `v.y`\n\nvector4\n: `x`, `y`, `z`, and `w`. Example: `v.w`\n\nquaternion\n: `x`, `y`, `z`, and `w`. Example: `q.w`\n\nmatrix4\n: `m00` to `m33` where the first number is the row (starting from 0) and the second\nnumber is the column. Columns can be accessed with `c0` to `c3`, returning a `vector4`.\nExample: `m.m21` which is equal to `m.c1.z`\n\nvector\n: indexed by number 1 to the vector length. Example: `v[3]`",
|
|
1809
|
+
"path": "engine/script/src/script_vmath.cpp",
|
|
1810
|
+
"file": "",
|
|
1811
|
+
"notes": [],
|
|
1812
|
+
"language": "Lua"
|
|
1813
|
+
}
|
|
1814
|
+
}
|