glm/test/gtx
Miro Knejp c351089e9f Dedicated extension to represent angle values
Defines a dedicated type and operations for angles taking care of the radians/degrees issue and enforcing semantically sane usage.

Applying these types consistently can prevent many problems related to conversions between degrees and radians. Furthermore it only supports operations which preserve the angle's dimension (under the assumption it is not dimensionless) allowing the compiler to detect misuses in equations. By not manually converting between degrees and radians everywhere in your program you can even gain some extra speed efficiency.

Where ever you deal with angles (regardless if class members or function arguments) always use fangle/dangle and let it deal with the calculations necessary for radians/degrees conversions. Never again use a plain `float` in interfaces to represent angles or worry about these nuisances.

The angle types should be no bigger than the datatype used for representation (if they are complain to your compiler vendor), are as efficient in copy and assignment operations as a native float or double, and can be safely passed by-value without fear of performance problems.
2015-05-11 18:02:55 +02:00
..
CMakeLists.txt Dedicated extension to represent angle values 2015-05-11 18:02:55 +02:00
gtx_angle.cpp Dedicated extension to represent angle values 2015-05-11 18:02:55 +02:00
gtx_associated_min_max.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_closest_point.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_color_space_YCoCg.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_color_space.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_common.cpp Added 'fmod' overload to GTX_common with tests, Removed integer specification for 'mod' in GTC_integer #308 2015-02-15 12:38:23 +01:00
gtx_compatibility.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_component_wise.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_dual_quaternion.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_euler_angle.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_extend.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_extented_min_max.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_fast_exponential.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_fast_square_root.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_fast_trigonometry.cpp Added 'fmod' overload to GTX_common with tests, Removed integer specification for 'mod' in GTC_integer #308 2015-02-15 12:38:23 +01:00
gtx_gradient_paint.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_handed_coordinate_space.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_int_10_10_10_2.cpp Fixed SSE code included in GLM tests on pure platforms 2014-01-14 14:07:09 +01:00
gtx_integer.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_intersect.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_io.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_log_base.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_matrix_cross_product.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_matrix_decompose.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_matrix_interpolation.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_matrix_major_storage.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_matrix_operation.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_matrix_query.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_matrix_transform_2d.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_mixed_product.cpp Fixed SSE code included in GLM tests on pure platforms 2014-01-14 14:07:09 +01:00
gtx_multiple.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_norm.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_normal.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_normalize_dot.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_number_precision.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_optimum_pow.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_orthonormalize.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_perpendicular.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_polar_coordinates.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_projection.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_quaternion.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_random.cpp Updated copyright date 2012-01-09 11:20:01 +00:00
gtx_range.cpp Fixed faceforward build #289 2014-12-19 23:54:25 +01:00
gtx_rotate_normalized_axis.cpp Updated license 2014-11-26 00:27:12 +01:00
gtx_rotate_vector.cpp Updated license 2014-11-26 00:27:12 +01:00
gtx_scalar_multiplication.cpp Disabled GTX_scalar_multiplication for GCC, failing to build tests #242 2015-01-10 13:45:41 +01:00
gtx_scalar_relational.cpp Updated license 2014-11-26 00:27:12 +01:00
gtx_simd_mat4.cpp Updated license 2014-11-26 00:27:12 +01:00
gtx_simd_vec4.cpp Updated license 2014-11-26 00:27:12 +01:00
gtx_spline.cpp Updated license 2014-11-26 00:27:12 +01:00
gtx_string_cast.cpp Updated license 2014-11-26 00:27:12 +01:00
gtx_type_aligned.cpp Updated license 2014-11-26 00:27:12 +01:00
gtx_vector_angle.cpp Updated license 2014-11-26 00:27:12 +01:00
gtx_vector_query.cpp Updated license 2014-11-26 00:27:12 +01:00