Revision: 77179
http://sourceforge.net/p/brlcad/code/77179
Author: starseeker
Date: 2020-09-19 02:00:53 +0000 (Sat, 19 Sep 2020)
Log Message:
-----------
Backport switch from glm to internal Qt math types from arbalest
Modified Paths:
--------------
brlcad/trunk/doc/legal/embedded/CMakeLists.txt
brlcad/trunk/src/qged/display/Camera.h
brlcad/trunk/src/qged/display/Display.cpp
brlcad/trunk/src/qged/display/OrthographicCamera.cpp
brlcad/trunk/src/qged/display/OrthographicCamera.h
Removed Paths:
-------------
brlcad/trunk/doc/legal/embedded/glm.txt
Modified: brlcad/trunk/doc/legal/embedded/CMakeLists.txt
===================================================================
--- brlcad/trunk/doc/legal/embedded/CMakeLists.txt 2020-09-19 01:20:09 UTC
(rev 77178)
+++ brlcad/trunk/doc/legal/embedded/CMakeLists.txt 2020-09-19 02:00:53 UTC
(rev 77179)
@@ -21,7 +21,6 @@
gecode.txt
gdal_gcv_plugin1.txt
gdal_gcv_plugin2.txt
- glm.txt
halfedge.txt
humanize.txt
hv3.txt
Deleted: brlcad/trunk/doc/legal/embedded/glm.txt
===================================================================
--- brlcad/trunk/doc/legal/embedded/glm.txt 2020-09-19 01:20:09 UTC (rev
77178)
+++ brlcad/trunk/doc/legal/embedded/glm.txt 2020-09-19 02:00:53 UTC (rev
77179)
@@ -1,314 +0,0 @@
-================================================================================
-OpenGL Mathematics (GLM)
---------------------------------------------------------------------------------
-GLM is licensed under The Happy Bunny License or MIT License
-
-BRL-CAD will use glm under the standard MIT license
-
-================================================================================
-The MIT License
---------------------------------------------------------------------------------
-Copyright (c) 2005 - G-Truc Creation
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
-file:/src/qged/display/glm/glm/common.hpp
-file:/src/qged/display/glm/glm/detail/_features.hpp
-file:/src/qged/display/glm/glm/detail/_fixes.hpp
-file:/src/qged/display/glm/glm/detail/_noise.hpp
-file:/src/qged/display/glm/glm/detail/_swizzle.hpp
-file:/src/qged/display/glm/glm/detail/_swizzle_func.hpp
-file:/src/qged/display/glm/glm/detail/_vectorize.hpp
-file:/src/qged/display/glm/glm/detail/compute_common.hpp
-file:/src/qged/display/glm/glm/detail/compute_vector_relational.hpp
-file:/src/qged/display/glm/glm/detail/glm.cpp
-file:/src/qged/display/glm/glm/detail/qualifier.hpp
-file:/src/qged/display/glm/glm/detail/setup.hpp
-file:/src/qged/display/glm/glm/detail/type_float.hpp
-file:/src/qged/display/glm/glm/detail/type_half.hpp
-file:/src/qged/display/glm/glm/detail/type_mat2x2.hpp
-file:/src/qged/display/glm/glm/detail/type_mat2x3.hpp
-file:/src/qged/display/glm/glm/detail/type_mat2x4.hpp
-file:/src/qged/display/glm/glm/detail/type_mat3x2.hpp
-file:/src/qged/display/glm/glm/detail/type_mat3x3.hpp
-file:/src/qged/display/glm/glm/detail/type_mat3x4.hpp
-file:/src/qged/display/glm/glm/detail/type_mat4x2.hpp
-file:/src/qged/display/glm/glm/detail/type_mat4x3.hpp
-file:/src/qged/display/glm/glm/detail/type_mat4x4.hpp
-file:/src/qged/display/glm/glm/detail/type_quat.hpp
-file:/src/qged/display/glm/glm/detail/type_vec1.hpp
-file:/src/qged/display/glm/glm/detail/type_vec2.hpp
-file:/src/qged/display/glm/glm/detail/type_vec3.hpp
-file:/src/qged/display/glm/glm/detail/type_vec4.hpp
-file:/src/qged/display/glm/glm/exponential.hpp
-file:/src/qged/display/glm/glm/ext.hpp
-file:/src/qged/display/glm/glm/ext/matrix_clip_space.hpp
-file:/src/qged/display/glm/glm/ext/matrix_common.hpp
-file:/src/qged/display/glm/glm/ext/matrix_double2x2.hpp
-file:/src/qged/display/glm/glm/ext/matrix_double2x2_precision.hpp
-file:/src/qged/display/glm/glm/ext/matrix_double2x3.hpp
-file:/src/qged/display/glm/glm/ext/matrix_double2x3_precision.hpp
-file:/src/qged/display/glm/glm/ext/matrix_double2x4.hpp
-file:/src/qged/display/glm/glm/ext/matrix_double2x4_precision.hpp
-file:/src/qged/display/glm/glm/ext/matrix_double3x2.hpp
-file:/src/qged/display/glm/glm/ext/matrix_double3x2_precision.hpp
-file:/src/qged/display/glm/glm/ext/matrix_double3x3.hpp
-file:/src/qged/display/glm/glm/ext/matrix_double3x3_precision.hpp
-file:/src/qged/display/glm/glm/ext/matrix_double3x4.hpp
-file:/src/qged/display/glm/glm/ext/matrix_double3x4_precision.hpp
-file:/src/qged/display/glm/glm/ext/matrix_double4x2.hpp
-file:/src/qged/display/glm/glm/ext/matrix_double4x2_precision.hpp
-file:/src/qged/display/glm/glm/ext/matrix_double4x3.hpp
-file:/src/qged/display/glm/glm/ext/matrix_double4x3_precision.hpp
-file:/src/qged/display/glm/glm/ext/matrix_double4x4.hpp
-file:/src/qged/display/glm/glm/ext/matrix_double4x4_precision.hpp
-file:/src/qged/display/glm/glm/ext/matrix_float2x2.hpp
-file:/src/qged/display/glm/glm/ext/matrix_float2x2_precision.hpp
-file:/src/qged/display/glm/glm/ext/matrix_float2x3.hpp
-file:/src/qged/display/glm/glm/ext/matrix_float2x3_precision.hpp
-file:/src/qged/display/glm/glm/ext/matrix_float2x4.hpp
-file:/src/qged/display/glm/glm/ext/matrix_float2x4_precision.hpp
-file:/src/qged/display/glm/glm/ext/matrix_float3x2.hpp
-file:/src/qged/display/glm/glm/ext/matrix_float3x2_precision.hpp
-file:/src/qged/display/glm/glm/ext/matrix_float3x3.hpp
-file:/src/qged/display/glm/glm/ext/matrix_float3x3_precision.hpp
-file:/src/qged/display/glm/glm/ext/matrix_float3x4.hpp
-file:/src/qged/display/glm/glm/ext/matrix_float3x4_precision.hpp
-file:/src/qged/display/glm/glm/ext/matrix_float4x2.hpp
-file:/src/qged/display/glm/glm/ext/matrix_float4x2_precision.hpp
-file:/src/qged/display/glm/glm/ext/matrix_float4x3.hpp
-file:/src/qged/display/glm/glm/ext/matrix_float4x3_precision.hpp
-file:/src/qged/display/glm/glm/ext/matrix_float4x4.hpp
-file:/src/qged/display/glm/glm/ext/matrix_float4x4_precision.hpp
-file:/src/qged/display/glm/glm/ext/matrix_int2x2.hpp
-file:/src/qged/display/glm/glm/ext/matrix_int2x2_sized.hpp
-file:/src/qged/display/glm/glm/ext/matrix_int2x3.hpp
-file:/src/qged/display/glm/glm/ext/matrix_int2x3_sized.hpp
-file:/src/qged/display/glm/glm/ext/matrix_int2x4.hpp
-file:/src/qged/display/glm/glm/ext/matrix_int2x4_sized.hpp
-file:/src/qged/display/glm/glm/ext/matrix_int3x2.hpp
-file:/src/qged/display/glm/glm/ext/matrix_int3x2_sized.hpp
-file:/src/qged/display/glm/glm/ext/matrix_int3x3.hpp
-file:/src/qged/display/glm/glm/ext/matrix_int3x3_sized.hpp
-file:/src/qged/display/glm/glm/ext/matrix_int3x4.hpp
-file:/src/qged/display/glm/glm/ext/matrix_int3x4_sized.hpp
-file:/src/qged/display/glm/glm/ext/matrix_int4x2.hpp
-file:/src/qged/display/glm/glm/ext/matrix_int4x2_sized.hpp
-file:/src/qged/display/glm/glm/ext/matrix_int4x3.hpp
-file:/src/qged/display/glm/glm/ext/matrix_int4x3_sized.hpp
-file:/src/qged/display/glm/glm/ext/matrix_int4x4.hpp
-file:/src/qged/display/glm/glm/ext/matrix_int4x4_sized.hpp
-file:/src/qged/display/glm/glm/ext/matrix_projection.hpp
-file:/src/qged/display/glm/glm/ext/matrix_relational.hpp
-file:/src/qged/display/glm/glm/ext/matrix_transform.hpp
-file:/src/qged/display/glm/glm/ext/matrix_uint2x2.hpp
-file:/src/qged/display/glm/glm/ext/matrix_uint2x2_sized.hpp
-file:/src/qged/display/glm/glm/ext/matrix_uint2x3.hpp
-file:/src/qged/display/glm/glm/ext/matrix_uint2x3_sized.hpp
-file:/src/qged/display/glm/glm/ext/matrix_uint2x4.hpp
-file:/src/qged/display/glm/glm/ext/matrix_uint2x4_sized.hpp
-file:/src/qged/display/glm/glm/ext/matrix_uint3x2.hpp
-file:/src/qged/display/glm/glm/ext/matrix_uint3x2_sized.hpp
-file:/src/qged/display/glm/glm/ext/matrix_uint3x3.hpp
-file:/src/qged/display/glm/glm/ext/matrix_uint3x3_sized.hpp
-file:/src/qged/display/glm/glm/ext/matrix_uint3x4.hpp
-file:/src/qged/display/glm/glm/ext/matrix_uint3x4_sized.hpp
-file:/src/qged/display/glm/glm/ext/matrix_uint4x2.hpp
-file:/src/qged/display/glm/glm/ext/matrix_uint4x2_sized.hpp
-file:/src/qged/display/glm/glm/ext/matrix_uint4x3.hpp
-file:/src/qged/display/glm/glm/ext/matrix_uint4x3_sized.hpp
-file:/src/qged/display/glm/glm/ext/matrix_uint4x4.hpp
-file:/src/qged/display/glm/glm/ext/matrix_uint4x4_sized.hpp
-file:/src/qged/display/glm/glm/ext/quaternion_common.hpp
-file:/src/qged/display/glm/glm/ext/quaternion_double.hpp
-file:/src/qged/display/glm/glm/ext/quaternion_double_precision.hpp
-file:/src/qged/display/glm/glm/ext/quaternion_exponential.hpp
-file:/src/qged/display/glm/glm/ext/quaternion_float.hpp
-file:/src/qged/display/glm/glm/ext/quaternion_float_precision.hpp
-file:/src/qged/display/glm/glm/ext/quaternion_geometric.hpp
-file:/src/qged/display/glm/glm/ext/quaternion_relational.hpp
-file:/src/qged/display/glm/glm/ext/quaternion_transform.hpp
-file:/src/qged/display/glm/glm/ext/quaternion_trigonometric.hpp
-file:/src/qged/display/glm/glm/ext/scalar_common.hpp
-file:/src/qged/display/glm/glm/ext/scalar_constants.hpp
-file:/src/qged/display/glm/glm/ext/scalar_int_sized.hpp
-file:/src/qged/display/glm/glm/ext/scalar_integer.hpp
-file:/src/qged/display/glm/glm/ext/scalar_packing.hpp
-file:/src/qged/display/glm/glm/ext/scalar_relational.hpp
-file:/src/qged/display/glm/glm/ext/scalar_uint_sized.hpp
-file:/src/qged/display/glm/glm/ext/scalar_ulp.hpp
-file:/src/qged/display/glm/glm/ext/vector_bool1.hpp
-file:/src/qged/display/glm/glm/ext/vector_bool1_precision.hpp
-file:/src/qged/display/glm/glm/ext/vector_bool2.hpp
-file:/src/qged/display/glm/glm/ext/vector_bool2_precision.hpp
-file:/src/qged/display/glm/glm/ext/vector_bool3.hpp
-file:/src/qged/display/glm/glm/ext/vector_bool3_precision.hpp
-file:/src/qged/display/glm/glm/ext/vector_bool4.hpp
-file:/src/qged/display/glm/glm/ext/vector_bool4_precision.hpp
-file:/src/qged/display/glm/glm/ext/vector_common.hpp
-file:/src/qged/display/glm/glm/ext/vector_double1.hpp
-file:/src/qged/display/glm/glm/ext/vector_double1_precision.hpp
-file:/src/qged/display/glm/glm/ext/vector_double2.hpp
-file:/src/qged/display/glm/glm/ext/vector_double2_precision.hpp
-file:/src/qged/display/glm/glm/ext/vector_double3.hpp
-file:/src/qged/display/glm/glm/ext/vector_double3_precision.hpp
-file:/src/qged/display/glm/glm/ext/vector_double4.hpp
-file:/src/qged/display/glm/glm/ext/vector_double4_precision.hpp
-file:/src/qged/display/glm/glm/ext/vector_float1.hpp
-file:/src/qged/display/glm/glm/ext/vector_float1_precision.hpp
-file:/src/qged/display/glm/glm/ext/vector_float2.hpp
-file:/src/qged/display/glm/glm/ext/vector_float2_precision.hpp
-file:/src/qged/display/glm/glm/ext/vector_float3.hpp
-file:/src/qged/display/glm/glm/ext/vector_float3_precision.hpp
-file:/src/qged/display/glm/glm/ext/vector_float4.hpp
-file:/src/qged/display/glm/glm/ext/vector_float4_precision.hpp
-file:/src/qged/display/glm/glm/ext/vector_int1.hpp
-file:/src/qged/display/glm/glm/ext/vector_int1_sized.hpp
-file:/src/qged/display/glm/glm/ext/vector_int2.hpp
-file:/src/qged/display/glm/glm/ext/vector_int2_sized.hpp
-file:/src/qged/display/glm/glm/ext/vector_int3.hpp
-file:/src/qged/display/glm/glm/ext/vector_int3_sized.hpp
-file:/src/qged/display/glm/glm/ext/vector_int4.hpp
-file:/src/qged/display/glm/glm/ext/vector_int4_sized.hpp
-file:/src/qged/display/glm/glm/ext/vector_integer.hpp
-file:/src/qged/display/glm/glm/ext/vector_packing.hpp
-file:/src/qged/display/glm/glm/ext/vector_relational.hpp
-file:/src/qged/display/glm/glm/ext/vector_uint1.hpp
-file:/src/qged/display/glm/glm/ext/vector_uint1_sized.hpp
-file:/src/qged/display/glm/glm/ext/vector_uint2.hpp
-file:/src/qged/display/glm/glm/ext/vector_uint2_sized.hpp
-file:/src/qged/display/glm/glm/ext/vector_uint3.hpp
-file:/src/qged/display/glm/glm/ext/vector_uint3_sized.hpp
-file:/src/qged/display/glm/glm/ext/vector_uint4.hpp
-file:/src/qged/display/glm/glm/ext/vector_uint4_sized.hpp
-file:/src/qged/display/glm/glm/ext/vector_ulp.hpp
-file:/src/qged/display/glm/glm/fwd.hpp
-file:/src/qged/display/glm/glm/geometric.hpp
-file:/src/qged/display/glm/glm/glm.hpp
-file:/src/qged/display/glm/glm/gtc/bitfield.hpp
-file:/src/qged/display/glm/glm/gtc/color_space.hpp
-file:/src/qged/display/glm/glm/gtc/constants.hpp
-file:/src/qged/display/glm/glm/gtc/epsilon.hpp
-file:/src/qged/display/glm/glm/gtc/integer.hpp
-file:/src/qged/display/glm/glm/gtc/matrix_access.hpp
-file:/src/qged/display/glm/glm/gtc/matrix_integer.hpp
-file:/src/qged/display/glm/glm/gtc/matrix_inverse.hpp
-file:/src/qged/display/glm/glm/gtc/matrix_transform.hpp
-file:/src/qged/display/glm/glm/gtc/noise.hpp
-file:/src/qged/display/glm/glm/gtc/packing.hpp
-file:/src/qged/display/glm/glm/gtc/quaternion.hpp
-file:/src/qged/display/glm/glm/gtc/random.hpp
-file:/src/qged/display/glm/glm/gtc/reciprocal.hpp
-file:/src/qged/display/glm/glm/gtc/round.hpp
-file:/src/qged/display/glm/glm/gtc/type_aligned.hpp
-file:/src/qged/display/glm/glm/gtc/type_precision.hpp
-file:/src/qged/display/glm/glm/gtc/type_ptr.hpp
-file:/src/qged/display/glm/glm/gtc/ulp.hpp
-file:/src/qged/display/glm/glm/gtc/vec1.hpp
-file:/src/qged/display/glm/glm/gtx/associated_min_max.hpp
-file:/src/qged/display/glm/glm/gtx/bit.hpp
-file:/src/qged/display/glm/glm/gtx/closest_point.hpp
-file:/src/qged/display/glm/glm/gtx/color_encoding.hpp
-file:/src/qged/display/glm/glm/gtx/color_space.hpp
-file:/src/qged/display/glm/glm/gtx/color_space_YCoCg.hpp
-file:/src/qged/display/glm/glm/gtx/common.hpp
-file:/src/qged/display/glm/glm/gtx/compatibility.hpp
-file:/src/qged/display/glm/glm/gtx/component_wise.hpp
-file:/src/qged/display/glm/glm/gtx/dual_quaternion.hpp
-file:/src/qged/display/glm/glm/gtx/easing.hpp
-file:/src/qged/display/glm/glm/gtx/euler_angles.hpp
-file:/src/qged/display/glm/glm/gtx/extend.hpp
-file:/src/qged/display/glm/glm/gtx/extended_min_max.hpp
-file:/src/qged/display/glm/glm/gtx/exterior_product.hpp
-file:/src/qged/display/glm/glm/gtx/fast_exponential.hpp
-file:/src/qged/display/glm/glm/gtx/fast_square_root.hpp
-file:/src/qged/display/glm/glm/gtx/fast_trigonometry.hpp
-file:/src/qged/display/glm/glm/gtx/functions.hpp
-file:/src/qged/display/glm/glm/gtx/gradient_paint.hpp
-file:/src/qged/display/glm/glm/gtx/handed_coordinate_space.hpp
-file:/src/qged/display/glm/glm/gtx/hash.hpp
-file:/src/qged/display/glm/glm/gtx/integer.hpp
-file:/src/qged/display/glm/glm/gtx/intersect.hpp
-file:/src/qged/display/glm/glm/gtx/io.hpp
-file:/src/qged/display/glm/glm/gtx/log_base.hpp
-file:/src/qged/display/glm/glm/gtx/matrix_cross_product.hpp
-file:/src/qged/display/glm/glm/gtx/matrix_decompose.hpp
-file:/src/qged/display/glm/glm/gtx/matrix_factorisation.hpp
-file:/src/qged/display/glm/glm/gtx/matrix_interpolation.hpp
-file:/src/qged/display/glm/glm/gtx/matrix_major_storage.hpp
-file:/src/qged/display/glm/glm/gtx/matrix_operation.hpp
-file:/src/qged/display/glm/glm/gtx/matrix_query.hpp
-file:/src/qged/display/glm/glm/gtx/matrix_transform_2d.hpp
-file:/src/qged/display/glm/glm/gtx/mixed_product.hpp
-file:/src/qged/display/glm/glm/gtx/norm.hpp
-file:/src/qged/display/glm/glm/gtx/normal.hpp
-file:/src/qged/display/glm/glm/gtx/normalize_dot.hpp
-file:/src/qged/display/glm/glm/gtx/number_precision.hpp
-file:/src/qged/display/glm/glm/gtx/optimum_pow.hpp
-file:/src/qged/display/glm/glm/gtx/orthonormalize.hpp
-file:/src/qged/display/glm/glm/gtx/perpendicular.hpp
-file:/src/qged/display/glm/glm/gtx/polar_coordinates.hpp
-file:/src/qged/display/glm/glm/gtx/projection.hpp
-file:/src/qged/display/glm/glm/gtx/quaternion.hpp
-file:/src/qged/display/glm/glm/gtx/range.hpp
-file:/src/qged/display/glm/glm/gtx/raw_data.hpp
-file:/src/qged/display/glm/glm/gtx/rotate_normalized_axis.hpp
-file:/src/qged/display/glm/glm/gtx/rotate_vector.hpp
-file:/src/qged/display/glm/glm/gtx/scalar_multiplication.hpp
-file:/src/qged/display/glm/glm/gtx/scalar_relational.hpp
-file:/src/qged/display/glm/glm/gtx/spline.hpp
-file:/src/qged/display/glm/glm/gtx/std_based_type.hpp
-file:/src/qged/display/glm/glm/gtx/string_cast.hpp
-file:/src/qged/display/glm/glm/gtx/texture.hpp
-file:/src/qged/display/glm/glm/gtx/transform.hpp
-file:/src/qged/display/glm/glm/gtx/transform2.hpp
-file:/src/qged/display/glm/glm/gtx/type_aligned.hpp
-file:/src/qged/display/glm/glm/gtx/type_trait.hpp
-file:/src/qged/display/glm/glm/gtx/vec_swizzle.hpp
-file:/src/qged/display/glm/glm/gtx/vector_angle.hpp
-file:/src/qged/display/glm/glm/gtx/vector_query.hpp
-file:/src/qged/display/glm/glm/gtx/wrap.hpp
-file:/src/qged/display/glm/glm/integer.hpp
-file:/src/qged/display/glm/glm/mat2x2.hpp
-file:/src/qged/display/glm/glm/mat2x3.hpp
-file:/src/qged/display/glm/glm/mat2x4.hpp
-file:/src/qged/display/glm/glm/mat3x2.hpp
-file:/src/qged/display/glm/glm/mat3x3.hpp
-file:/src/qged/display/glm/glm/mat3x4.hpp
-file:/src/qged/display/glm/glm/mat4x2.hpp
-file:/src/qged/display/glm/glm/mat4x3.hpp
-file:/src/qged/display/glm/glm/mat4x4.hpp
-file:/src/qged/display/glm/glm/matrix.hpp
-file:/src/qged/display/glm/glm/packing.hpp
-file:/src/qged/display/glm/glm/simd/common.h
-file:/src/qged/display/glm/glm/simd/exponential.h
-file:/src/qged/display/glm/glm/simd/geometric.h
-file:/src/qged/display/glm/glm/simd/integer.h
-file:/src/qged/display/glm/glm/simd/matrix.h
-file:/src/qged/display/glm/glm/simd/neon.h
-file:/src/qged/display/glm/glm/simd/packing.h
-file:/src/qged/display/glm/glm/simd/platform.h
-file:/src/qged/display/glm/glm/simd/trigonometric.h
-file:/src/qged/display/glm/glm/simd/vector_relational.h
-file:/src/qged/display/glm/glm/trigonometric.hpp
-file:/src/qged/display/glm/glm/vec2.hpp
-file:/src/qged/display/glm/glm/vec3.hpp
-file:/src/qged/display/glm/glm/vec4.hpp
-file:/src/qged/display/glm/glm/vector_relational.hpp
-
Modified: brlcad/trunk/src/qged/display/Camera.h
===================================================================
--- brlcad/trunk/src/qged/display/Camera.h 2020-09-19 01:20:09 UTC (rev
77178)
+++ brlcad/trunk/src/qged/display/Camera.h 2020-09-19 02:00:53 UTC (rev
77179)
@@ -23,14 +23,15 @@
#define RT3_CAMERABK_H
-#include <glm/detail/type_mat4x4.hpp>
+#include <QMatrix4x4>
+#include <QVector3D>
class Camera {
public:
- glm::vec3 axisX = glm::vec3(1.0f,0.0f,0.0f);
- glm::vec3 axisY = glm::vec3(0.0f,1.0f,0.0f);
- glm::vec3 axisZ = glm::vec3(0.0f,0.0f,1.0f);
+ QVector3D axisX = QVector3D(1.0f,0.0f,0.0f);
+ QVector3D axisY = QVector3D(0.0f,1.0f,0.0f);
+ QVector3D axisZ = QVector3D(0.0f,0.0f,1.0f);
virtual void setWH(float w, float h) = 0;
virtual void processMoveRequest(const int &deltaX, const int &deltaY) = 0;
@@ -37,9 +38,12 @@
virtual void processRotateRequest(const int & deltaX, const int & deltaY,
const bool& thirdAxis) = 0;
virtual void processZoomRequest(const int & deltaWheelAngle) = 0;
- virtual glm::mat4 modelViewMatrix() const = 0;
- virtual glm::mat4 projectionMatrix() const = 0;
+ virtual QMatrix4x4 modelViewMatrix() const = 0;
+ virtual QMatrix4x4 modelViewMatrixNoTranslate() const = 0;
+ virtual QMatrix4x4 projectionMatrix() const = 0;
+ virtual void setEyePosition(float x, float y, float z) = 0;
+
};
Modified: brlcad/trunk/src/qged/display/Display.cpp
===================================================================
--- brlcad/trunk/src/qged/display/Display.cpp 2020-09-19 01:20:09 UTC (rev
77178)
+++ brlcad/trunk/src/qged/display/Display.cpp 2020-09-19 02:00:53 UTC (rev
77179)
@@ -21,7 +21,6 @@
#include "Display.h"
-#include <glm/gtc/type_ptr.hpp>
#include <QtWidgets/QApplication>
#include <OrthographicCamera.h>
#include "DisplayManager.h"
@@ -65,9 +64,9 @@
void Display::paintGL() {
displayManager->drawBegin();
- displayManager->loadMatrix((const
float*)glm::value_ptr(camera->modelViewMatrix()));
- displayManager->loadPMatrix((const
float*)glm::value_ptr(camera->projectionMatrix()));
-
+ displayManager->loadMatrix(camera->modelViewMatrix().data());
+ displayManager->loadPMatrix(camera->projectionMatrix().data());
+
for (auto i:renderers) i->render();
}
Modified: brlcad/trunk/src/qged/display/OrthographicCamera.cpp
===================================================================
--- brlcad/trunk/src/qged/display/OrthographicCamera.cpp 2020-09-19
01:20:09 UTC (rev 77178)
+++ brlcad/trunk/src/qged/display/OrthographicCamera.cpp 2020-09-19
02:00:53 UTC (rev 77179)
@@ -23,8 +23,7 @@
#include "common.h"
#include "OrthographicCamera.h"
-#include <glm/glm.hpp>
-#include <glm/gtx/transform.hpp>
+#include <cmath>
#if defined(__GNUC__) && !defined(__clang__)
# pragma GCC diagnostic push
@@ -41,17 +40,24 @@
OrthographicCamera::OrthographicCamera() = default;
-glm::mat4 OrthographicCamera::modelViewMatrix() const {
- auto rotationMatrixAroundX = glm::rotate(glm::radians(angleAroundAxes.x),
axisX);
- auto rotationMatrixAroundY = glm::rotate(glm::radians(angleAroundAxes.y),
axisY);
- auto rotationMatrixAroundZ = glm::rotate(glm::radians(angleAroundAxes.z),
axisZ);
- auto rotationMatrix = rotationMatrixAroundX * rotationMatrixAroundY *
rotationMatrixAroundZ;
+QMatrix4x4 OrthographicCamera::modelViewMatrix() const {
+ QMatrix4x4 rotationMatrixAroundX;
+ rotationMatrixAroundX.rotate(angleAroundAxes.x(), axisX);
+ QMatrix4x4 rotationMatrixAroundY;
+ rotationMatrixAroundY.rotate(angleAroundAxes.y(), axisY);
+ QMatrix4x4 rotationMatrixAroundZ;
+ rotationMatrixAroundZ.rotate(angleAroundAxes.z(), axisZ);
+ QMatrix4x4 rotationMatrix = rotationMatrixAroundX * rotationMatrixAroundY
* rotationMatrixAroundZ;
+ rotationMatrix.translate(-eyePosition);
- return glm::translate(rotationMatrix, eyePosition);
+ return rotationMatrix;
}
-glm::mat4 OrthographicCamera::projectionMatrix() const {
- return glm::ortho(-zoom * w / h, zoom * w / h, -zoom, zoom, nearPlane,
farPlane);
+QMatrix4x4 OrthographicCamera::projectionMatrix() const {
+ QMatrix4x4 ret;
+ ret.ortho(-(verticalSpan/2) * w / h, (verticalSpan/2) * w / h,
-verticalSpan/2, verticalSpan/2, nearPlane, farPlane);
+
+ return ret;
}
void OrthographicCamera::setWH(float w, float h) {
@@ -64,14 +70,14 @@
return;
}
- float deltaAngleX = float(deltaX) / h;
- float deltaAngleY = float(deltaY) / h;
+ const float deltaAngleX = float(deltaX) / h;
+ const float deltaAngleY = float(deltaY) / h;
if (thirdAxis) {
- angleAroundAxes.y += deltaAngleX * eyeRotationPerMouseDelta;
+ angleAroundAxes.setY(angleAroundAxes.y() + deltaAngleX *
eyeRotationPerMouseDelta);
} else {
- angleAroundAxes.z += deltaAngleX * eyeRotationPerMouseDelta;
+ angleAroundAxes.setZ(angleAroundAxes.z() + deltaAngleX *
eyeRotationPerMouseDelta);
}
- angleAroundAxes.x += deltaAngleY * eyeRotationPerMouseDelta;
+ angleAroundAxes.setX(angleAroundAxes.x() + deltaAngleY *
eyeRotationPerMouseDelta);
}
@@ -80,24 +86,52 @@
return;
}
- auto rotationMatrixAroundZ = glm::rotate(glm::radians(-angleAroundAxes.z),
axisZ);
- auto rotationMatrixAroundY = glm::rotate(glm::radians(-angleAroundAxes.y),
axisY);
- auto rotationMatrixAroundX = glm::rotate(glm::radians(-angleAroundAxes.x),
axisX);
- auto rotationMatrix = rotationMatrixAroundZ * rotationMatrixAroundY *
rotationMatrixAroundX;
+ QMatrix4x4 rotationMatrixAroundZ;
+ rotationMatrixAroundZ.rotate(-angleAroundAxes.z(), axisZ);
+ QMatrix4x4 rotationMatrixAroundY;
+ rotationMatrixAroundY.rotate(-angleAroundAxes.y(), axisY);
+ QMatrix4x4 rotationMatrixAroundX;
+ rotationMatrixAroundX.rotate(-angleAroundAxes.x(), axisX);
+ QMatrix4x4 rotationMatrix = rotationMatrixAroundZ * rotationMatrixAroundY
* rotationMatrixAroundX;
- glm::vec3 cameraRightDirection(rotationMatrix * glm::vec4(axisX, 1.0));
- eyePosition += float(deltaX) * eyeMovementPerMouseDelta *
cameraRightDirection * zoom;
+ QVector3D cameraRightDirection(rotationMatrix * axisX);
+ eyePosition -= static_cast<float>(deltaX) * eyeMovementPerMouseDelta *
cameraRightDirection * verticalSpan;
- glm::vec3 cameraUpDirection(rotationMatrix * glm::vec4(axisY, 1.0));
- eyePosition -= float(deltaY) * eyeMovementPerMouseDelta *
cameraUpDirection * zoom;
+ QVector3D cameraUpDirection(rotationMatrix * axisY);
+ eyePosition += static_cast<float>(deltaY) * eyeMovementPerMouseDelta *
cameraUpDirection * verticalSpan;
}
void OrthographicCamera::processZoomRequest(const int &deltaWheelAngle) {
float zoomFactor = 1 - zoomFactorMultiplier * float(deltaWheelAngle);
- zoom = pow(zoom, zoomFactor);
- if (zoom < zoomLowerBound) zoom = zoomLowerBound;
+ verticalSpan = pow(verticalSpan, zoomFactor);
+ if (verticalSpan < zoomLowerBound) verticalSpan = zoomLowerBound;
}
+QMatrix4x4 OrthographicCamera::modelViewMatrixNoTranslate() const {
+ QMatrix4x4 rotationMatrixAroundX;
+ rotationMatrixAroundX.rotate(angleAroundAxes.x(), axisX);
+ QMatrix4x4 rotationMatrixAroundY;
+ rotationMatrixAroundY.rotate(angleAroundAxes.y(), axisY);
+ QMatrix4x4 rotationMatrixAroundZ;
+ rotationMatrixAroundZ.rotate(angleAroundAxes.z(), axisZ);
+ QMatrix4x4 rotationMatrix = rotationMatrixAroundX * rotationMatrixAroundY
* rotationMatrixAroundZ;
+ return rotationMatrix;
+}
+
+
+void OrthographicCamera::setEyePosition(float x, float y, float z)
+{
+ eyePosition.setX(x);
+ eyePosition.setY(y);
+ eyePosition.setZ(z);
+}
+
+QVector3D OrthographicCamera::getEyePosition()
+{
+ return eyePosition;
+}
+
+
#if defined(__GNUC__) && !defined(__clang__)
# pragma GCC diagnostic pop
#endif
Modified: brlcad/trunk/src/qged/display/OrthographicCamera.h
===================================================================
--- brlcad/trunk/src/qged/display/OrthographicCamera.h 2020-09-19 01:20:09 UTC
(rev 77178)
+++ brlcad/trunk/src/qged/display/OrthographicCamera.h 2020-09-19 02:00:53 UTC
(rev 77179)
@@ -24,14 +24,13 @@
#define RT3_OrthographicCAMERA_H
-#include <glm/detail/type_mat4x4.hpp>
#include "Camera.h"
class OrthographicCamera : public Camera {
private:
- const glm::vec3 initialEyePosition = glm::vec3(0.0f, 0.0f, 0.0f);
- const glm::vec3 initialAngleAroundAxes = glm::vec3(295.0f, 0.0f, 235.0f);
+ const QVector3D initialEyePosition = QVector3D(0.0f, 0.0f, 0.0f);
+ const QVector3D initialAngleAroundAxes = QVector3D(295.0f, 0.0f, 235.0f);
const float nearPlane = -2000000.0f;
const float farPlane = 2000000.0f;
@@ -41,9 +40,9 @@
const float zoomLowerBound = 0.00001;
const int mouseMaxDrag = 500;
- glm::vec3 angleAroundAxes = initialAngleAroundAxes; // Camera direction in
degrees
- float zoom = 600;
- glm::vec3 eyePosition = initialEyePosition; // Camera coordinates
+ QVector3D angleAroundAxes = initialAngleAroundAxes; // Camera direction in
degrees
+ float verticalSpan = 600;
+ QVector3D eyePosition = initialEyePosition; // Camera coordinates
float w = 400, h = 400; // Display width and height.
public:
@@ -57,9 +56,13 @@
void processZoomRequest(const int &deltaWheelAngle) override;
- glm::mat4 modelViewMatrix() const override;
+ QMatrix4x4 modelViewMatrix() const ;
+ QMatrix4x4 modelViewMatrixNoTranslate() const ;
- glm::mat4 projectionMatrix() const override;
+ QMatrix4x4 projectionMatrix() const ;
+
+ void setEyePosition(float x, float y, float z) ;
+ QVector3D getEyePosition();
};
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits