equalsEpsilon.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. //This file is automatically rebuilt by the Cesium build process.
  2. export default "/**\n\
  3. * Compares <code>left</code> and <code>right</code> componentwise. Returns <code>true</code>\n\
  4. * if they are within <code>epsilon</code> and <code>false</code> otherwise. The inputs\n\
  5. * <code>left</code> and <code>right</code> can be <code>float</code>s, <code>vec2</code>s,\n\
  6. * <code>vec3</code>s, or <code>vec4</code>s.\n\
  7. *\n\
  8. * @name czm_equalsEpsilon\n\
  9. * @glslFunction\n\
  10. *\n\
  11. * @param {} left The first vector.\n\
  12. * @param {} right The second vector.\n\
  13. * @param {float} epsilon The epsilon to use for equality testing.\n\
  14. * @returns {bool} <code>true</code> if the components are within <code>epsilon</code> and <code>false</code> otherwise.\n\
  15. *\n\
  16. * @example\n\
  17. * // GLSL declarations\n\
  18. * bool czm_equalsEpsilon(float left, float right, float epsilon);\n\
  19. * bool czm_equalsEpsilon(vec2 left, vec2 right, float epsilon);\n\
  20. * bool czm_equalsEpsilon(vec3 left, vec3 right, float epsilon);\n\
  21. * bool czm_equalsEpsilon(vec4 left, vec4 right, float epsilon);\n\
  22. */\n\
  23. bool czm_equalsEpsilon(vec4 left, vec4 right, float epsilon) {\n\
  24. return all(lessThanEqual(abs(left - right), vec4(epsilon)));\n\
  25. }\n\
  26. \n\
  27. bool czm_equalsEpsilon(vec3 left, vec3 right, float epsilon) {\n\
  28. return all(lessThanEqual(abs(left - right), vec3(epsilon)));\n\
  29. }\n\
  30. \n\
  31. bool czm_equalsEpsilon(vec2 left, vec2 right, float epsilon) {\n\
  32. return all(lessThanEqual(abs(left - right), vec2(epsilon)));\n\
  33. }\n\
  34. \n\
  35. bool czm_equalsEpsilon(float left, float right, float epsilon) {\n\
  36. return (abs(left - right) <= epsilon);\n\
  37. }\n\
  38. ";