transpose.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. //This file is automatically rebuilt by the Cesium build process.
  2. export default "/**\n\
  3. * Returns the transpose of the matrix. The input <code>matrix</code> can be\n\
  4. * a <code>mat2</code>, <code>mat3</code>, or <code>mat4</code>.\n\
  5. *\n\
  6. * @name czm_transpose\n\
  7. * @glslFunction\n\
  8. *\n\
  9. * @param {} matrix The matrix to transpose.\n\
  10. *\n\
  11. * @returns {} The transposed matrix.\n\
  12. *\n\
  13. * @example\n\
  14. * // GLSL declarations\n\
  15. * mat2 czm_transpose(mat2 matrix);\n\
  16. * mat3 czm_transpose(mat3 matrix);\n\
  17. * mat4 czm_transpose(mat4 matrix);\n\
  18. *\n\
  19. * // Transpose a 3x3 rotation matrix to find its inverse.\n\
  20. * mat3 eastNorthUpToEye = czm_eastNorthUpToEyeCoordinates(\n\
  21. * positionMC, normalEC);\n\
  22. * mat3 eyeToEastNorthUp = czm_transpose(eastNorthUpToEye);\n\
  23. */\n\
  24. mat2 czm_transpose(mat2 matrix)\n\
  25. {\n\
  26. return mat2(\n\
  27. matrix[0][0], matrix[1][0],\n\
  28. matrix[0][1], matrix[1][1]);\n\
  29. }\n\
  30. \n\
  31. mat3 czm_transpose(mat3 matrix)\n\
  32. {\n\
  33. return mat3(\n\
  34. matrix[0][0], matrix[1][0], matrix[2][0],\n\
  35. matrix[0][1], matrix[1][1], matrix[2][1],\n\
  36. matrix[0][2], matrix[1][2], matrix[2][2]);\n\
  37. }\n\
  38. \n\
  39. mat4 czm_transpose(mat4 matrix)\n\
  40. {\n\
  41. return mat4(\n\
  42. matrix[0][0], matrix[1][0], matrix[2][0], matrix[3][0],\n\
  43. matrix[0][1], matrix[1][1], matrix[2][1], matrix[3][1],\n\
  44. matrix[0][2], matrix[1][2], matrix[2][2], matrix[3][2],\n\
  45. matrix[0][3], matrix[1][3], matrix[2][3], matrix[3][3]);\n\
  46. }\n\
  47. ";