Revision: 76366
http://sourceforge.net/p/brlcad/code/76366
Author: starseeker
Date: 2020-07-17 17:59:33 +0000 (Fri, 17 Jul 2020)
Log Message:
-----------
Merge file moves and distcheck updates from bioh through r76365
Modified Paths:
--------------
brlcad/trunk/doc/legal/embedded/CMakeLists.txt
brlcad/trunk/regress/CMakeLists.txt
brlcad/trunk/src/libged/CMakeLists.txt
brlcad/trunk/src/libtclcad/CMakeLists.txt
brlcad/trunk/src/qged/CMakeLists.txt
brlcad/trunk/src/qged/display/glm/glm/common.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/_features.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/_fixes.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/_noise.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/_swizzle.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/_swizzle_func.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/_vectorize.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/compute_common.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/compute_vector_relational.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/glm.cpp
brlcad/trunk/src/qged/display/glm/glm/detail/qualifier.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/setup.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/type_float.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/type_half.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/type_mat2x2.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/type_mat2x3.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/type_mat2x4.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/type_mat3x2.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/type_mat3x3.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/type_mat3x4.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/type_mat4x2.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/type_mat4x3.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/type_mat4x4.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/type_quat.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/type_vec1.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/type_vec2.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/type_vec3.hpp
brlcad/trunk/src/qged/display/glm/glm/detail/type_vec4.hpp
brlcad/trunk/src/qged/display/glm/glm/exponential.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_clip_space.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_common.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_double2x2.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_double2x2_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_double2x3.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_double2x3_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_double2x4.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_double2x4_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_double3x2.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_double3x2_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_double3x3.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_double3x3_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_double3x4.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_double3x4_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_double4x2.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_double4x2_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_double4x3.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_double4x3_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_double4x4.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_double4x4_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_float2x2.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_float2x2_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_float2x3.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_float2x3_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_float2x4.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_float2x4_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_float3x2.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_float3x2_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_float3x3.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_float3x3_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_float3x4.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_float3x4_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_float4x2.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_float4x2_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_float4x3.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_float4x3_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_float4x4.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_float4x4_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_int2x2.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_int2x2_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_int2x3.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_int2x3_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_int2x4.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_int2x4_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_int3x2.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_int3x2_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_int3x3.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_int3x3_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_int3x4.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_int3x4_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_int4x2.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_int4x2_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_int4x3.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_int4x3_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_int4x4.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_int4x4_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_projection.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_relational.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_transform.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_uint2x2.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_uint2x2_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_uint2x3.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_uint2x3_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_uint2x4.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_uint2x4_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_uint3x2.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_uint3x2_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_uint3x3.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_uint3x3_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_uint3x4.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_uint3x4_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_uint4x2.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_uint4x2_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_uint4x3.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_uint4x3_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_uint4x4.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/matrix_uint4x4_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/quaternion_common.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/quaternion_double.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/quaternion_double_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/quaternion_exponential.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/quaternion_float.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/quaternion_float_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/quaternion_geometric.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/quaternion_relational.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/quaternion_transform.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/quaternion_trigonometric.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/scalar_common.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/scalar_constants.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/scalar_int_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/scalar_integer.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/scalar_packing.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/scalar_relational.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/scalar_uint_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/scalar_ulp.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_bool1.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_bool1_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_bool2.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_bool2_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_bool3.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_bool3_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_bool4.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_bool4_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_common.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_double1.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_double1_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_double2.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_double2_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_double3.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_double3_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_double4.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_double4_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_float1.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_float1_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_float2.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_float2_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_float3.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_float3_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_float4.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_float4_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_int1.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_int1_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_int2.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_int2_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_int3.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_int3_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_int4.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_int4_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_integer.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_packing.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_relational.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_uint1.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_uint1_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_uint2.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_uint2_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_uint3.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_uint3_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_uint4.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_uint4_sized.hpp
brlcad/trunk/src/qged/display/glm/glm/ext/vector_ulp.hpp
brlcad/trunk/src/qged/display/glm/glm/ext.hpp
brlcad/trunk/src/qged/display/glm/glm/fwd.hpp
brlcad/trunk/src/qged/display/glm/glm/geometric.hpp
brlcad/trunk/src/qged/display/glm/glm/glm.hpp
brlcad/trunk/src/qged/display/glm/glm/gtc/bitfield.hpp
brlcad/trunk/src/qged/display/glm/glm/gtc/color_space.hpp
brlcad/trunk/src/qged/display/glm/glm/gtc/constants.hpp
brlcad/trunk/src/qged/display/glm/glm/gtc/epsilon.hpp
brlcad/trunk/src/qged/display/glm/glm/gtc/integer.hpp
brlcad/trunk/src/qged/display/glm/glm/gtc/matrix_access.hpp
brlcad/trunk/src/qged/display/glm/glm/gtc/matrix_integer.hpp
brlcad/trunk/src/qged/display/glm/glm/gtc/matrix_inverse.hpp
brlcad/trunk/src/qged/display/glm/glm/gtc/matrix_transform.hpp
brlcad/trunk/src/qged/display/glm/glm/gtc/noise.hpp
brlcad/trunk/src/qged/display/glm/glm/gtc/packing.hpp
brlcad/trunk/src/qged/display/glm/glm/gtc/quaternion.hpp
brlcad/trunk/src/qged/display/glm/glm/gtc/random.hpp
brlcad/trunk/src/qged/display/glm/glm/gtc/reciprocal.hpp
brlcad/trunk/src/qged/display/glm/glm/gtc/round.hpp
brlcad/trunk/src/qged/display/glm/glm/gtc/type_aligned.hpp
brlcad/trunk/src/qged/display/glm/glm/gtc/type_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/gtc/type_ptr.hpp
brlcad/trunk/src/qged/display/glm/glm/gtc/ulp.hpp
brlcad/trunk/src/qged/display/glm/glm/gtc/vec1.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/associated_min_max.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/bit.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/closest_point.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/color_encoding.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/color_space.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/color_space_YCoCg.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/common.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/compatibility.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/component_wise.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/dual_quaternion.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/easing.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/euler_angles.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/extend.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/extended_min_max.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/exterior_product.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/fast_exponential.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/fast_square_root.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/fast_trigonometry.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/functions.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/gradient_paint.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/handed_coordinate_space.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/hash.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/integer.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/intersect.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/io.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/log_base.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/matrix_cross_product.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/matrix_decompose.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/matrix_factorisation.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/matrix_interpolation.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/matrix_major_storage.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/matrix_operation.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/matrix_query.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/matrix_transform_2d.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/mixed_product.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/norm.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/normal.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/normalize_dot.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/number_precision.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/optimum_pow.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/orthonormalize.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/perpendicular.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/polar_coordinates.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/projection.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/quaternion.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/range.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/raw_data.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/rotate_normalized_axis.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/rotate_vector.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/scalar_multiplication.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/scalar_relational.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/spline.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/std_based_type.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/string_cast.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/texture.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/transform.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/transform2.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/type_aligned.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/type_trait.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/vec_swizzle.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/vector_angle.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/vector_query.hpp
brlcad/trunk/src/qged/display/glm/glm/gtx/wrap.hpp
brlcad/trunk/src/qged/display/glm/glm/integer.hpp
brlcad/trunk/src/qged/display/glm/glm/mat2x2.hpp
brlcad/trunk/src/qged/display/glm/glm/mat2x3.hpp
brlcad/trunk/src/qged/display/glm/glm/mat2x4.hpp
brlcad/trunk/src/qged/display/glm/glm/mat3x2.hpp
brlcad/trunk/src/qged/display/glm/glm/mat3x3.hpp
brlcad/trunk/src/qged/display/glm/glm/mat3x4.hpp
brlcad/trunk/src/qged/display/glm/glm/mat4x2.hpp
brlcad/trunk/src/qged/display/glm/glm/mat4x3.hpp
brlcad/trunk/src/qged/display/glm/glm/mat4x4.hpp
brlcad/trunk/src/qged/display/glm/glm/matrix.hpp
brlcad/trunk/src/qged/display/glm/glm/packing.hpp
brlcad/trunk/src/qged/display/glm/glm/simd/common.h
brlcad/trunk/src/qged/display/glm/glm/simd/exponential.h
brlcad/trunk/src/qged/display/glm/glm/simd/geometric.h
brlcad/trunk/src/qged/display/glm/glm/simd/integer.h
brlcad/trunk/src/qged/display/glm/glm/simd/matrix.h
brlcad/trunk/src/qged/display/glm/glm/simd/neon.h
brlcad/trunk/src/qged/display/glm/glm/simd/packing.h
brlcad/trunk/src/qged/display/glm/glm/simd/platform.h
brlcad/trunk/src/qged/display/glm/glm/simd/trigonometric.h
brlcad/trunk/src/qged/display/glm/glm/simd/vector_relational.h
brlcad/trunk/src/qged/display/glm/glm/trigonometric.hpp
brlcad/trunk/src/qged/display/glm/glm/vec2.hpp
brlcad/trunk/src/qged/display/glm/glm/vec3.hpp
brlcad/trunk/src/qged/display/glm/glm/vec4.hpp
brlcad/trunk/src/qged/display/glm/glm/vector_relational.hpp
Added Paths:
-----------
brlcad/trunk/doc/legal/embedded/glm.txt
brlcad/trunk/src/libged/3ptarb/
brlcad/trunk/src/libged/adc/
brlcad/trunk/src/libged/adjust/
brlcad/trunk/src/libged/ae2dir/
brlcad/trunk/src/libged/analyze/
brlcad/trunk/src/libged/annotate/
brlcad/trunk/src/libged/arb/
brlcad/trunk/src/libged/arced/
brlcad/trunk/src/libged/arot/
brlcad/trunk/src/libged/attr/
brlcad/trunk/src/libged/autoview/
brlcad/trunk/src/libged/bb/
brlcad/trunk/src/libged/bev/
brlcad/trunk/src/libged/bigE/
brlcad/trunk/src/libged/blast/
brlcad/trunk/src/libged/bo/
brlcad/trunk/src/libged/bot_condense/
brlcad/trunk/src/libged/bot_decimate/
brlcad/trunk/src/libged/bot_dump/
brlcad/trunk/src/libged/bot_face_fuse/
brlcad/trunk/src/libged/bot_face_sort/
brlcad/trunk/src/libged/bot_flip/
brlcad/trunk/src/libged/bot_fuse/
brlcad/trunk/src/libged/bot_merge/
brlcad/trunk/src/libged/bot_smooth/
brlcad/trunk/src/libged/bot_split/
brlcad/trunk/src/libged/bot_sync/
brlcad/trunk/src/libged/bot_vertex_fuse/
brlcad/trunk/src/libged/cat/
brlcad/trunk/src/libged/cc/
brlcad/trunk/src/libged/clone/
brlcad/trunk/src/libged/coil/
brlcad/trunk/src/libged/color/
brlcad/trunk/src/libged/columns/
brlcad/trunk/src/libged/comb/
brlcad/trunk/src/libged/comb_color/
brlcad/trunk/src/libged/comb_std/
brlcad/trunk/src/libged/combmem/
brlcad/trunk/src/libged/concat/
brlcad/trunk/src/libged/copy/
brlcad/trunk/src/libged/copyeval/
brlcad/trunk/src/libged/copymat/
brlcad/trunk/src/libged/cpi/
brlcad/trunk/src/libged/dag/
brlcad/trunk/src/libged/dbip/
brlcad/trunk/src/libged/debug/
brlcad/trunk/src/libged/debugbu/
brlcad/trunk/src/libged/debugdir/
brlcad/trunk/src/libged/debuglib/
brlcad/trunk/src/libged/debugnmg/
brlcad/trunk/src/libged/decompose/
brlcad/trunk/src/libged/delay/
brlcad/trunk/src/libged/dir2ae/
brlcad/trunk/src/libged/display_list/
brlcad/trunk/src/libged/draw/
brlcad/trunk/src/libged/draw_calc/
brlcad/trunk/src/libged/dsp/
brlcad/trunk/src/libged/dump/
brlcad/trunk/src/libged/dup/
brlcad/trunk/src/libged/eac/
brlcad/trunk/src/libged/echo/
brlcad/trunk/src/libged/edarb/
brlcad/trunk/src/libged/edbot/
brlcad/trunk/src/libged/edcodes/
brlcad/trunk/src/libged/edcomb/
brlcad/trunk/src/libged/edit/
brlcad/trunk/src/libged/edit_metaball/
brlcad/trunk/src/libged/editit/
brlcad/trunk/src/libged/edmater/
brlcad/trunk/src/libged/edpipe/
brlcad/trunk/src/libged/env/
brlcad/trunk/src/libged/erase/
brlcad/trunk/src/libged/exists/
brlcad/trunk/src/libged/expand/
brlcad/trunk/src/libged/eye_pos/
brlcad/trunk/src/libged/facedef/
brlcad/trunk/src/libged/facetize/
brlcad/trunk/src/libged/facetize_log/
brlcad/trunk/src/libged/fb2pix/
brlcad/trunk/src/libged/fbclear/
brlcad/trunk/src/libged/find/
brlcad/trunk/src/libged/form/
brlcad/trunk/src/libged/fracture/
brlcad/trunk/src/libged/gdiff/
brlcad/trunk/src/libged/ged_util/
brlcad/trunk/src/libged/get/
brlcad/trunk/src/libged/get_autoview/
brlcad/trunk/src/libged/get_comb/
brlcad/trunk/src/libged/get_eyemodel/
brlcad/trunk/src/libged/get_obj_bounds/
brlcad/trunk/src/libged/get_solid_kp/
brlcad/trunk/src/libged/get_type/
brlcad/trunk/src/libged/glob/
brlcad/trunk/src/libged/gqa/
brlcad/trunk/src/libged/grid/
brlcad/trunk/src/libged/grid2model_lu/
brlcad/trunk/src/libged/grid2view_lu/
brlcad/trunk/src/libged/group/
brlcad/trunk/src/libged/heal/
brlcad/trunk/src/libged/hide/
brlcad/trunk/src/libged/how/
brlcad/trunk/src/libged/human/
brlcad/trunk/src/libged/illum/
brlcad/trunk/src/libged/importFg4Section/
brlcad/trunk/src/libged/inside/
brlcad/trunk/src/libged/instance/
brlcad/trunk/src/libged/isize/
brlcad/trunk/src/libged/item/
brlcad/trunk/src/libged/joint/
brlcad/trunk/src/libged/joint2/
brlcad/trunk/src/libged/keep/
brlcad/trunk/src/libged/keypoint/
brlcad/trunk/src/libged/kill/
brlcad/trunk/src/libged/killall/
brlcad/trunk/src/libged/killrefs/
brlcad/trunk/src/libged/killtree/
brlcad/trunk/src/libged/label/
brlcad/trunk/src/libged/lc/
brlcad/trunk/src/libged/libfuncs/
brlcad/trunk/src/libged/lint/
brlcad/trunk/src/libged/list/
brlcad/trunk/src/libged/loadview/
brlcad/trunk/src/libged/lod/
brlcad/trunk/src/libged/log/
brlcad/trunk/src/libged/lookat/
brlcad/trunk/src/libged/ls/
brlcad/trunk/src/libged/lt/
brlcad/trunk/src/libged/m2v_point/
brlcad/trunk/src/libged/make/
brlcad/trunk/src/libged/make_name/
brlcad/trunk/src/libged/match/
brlcad/trunk/src/libged/mater/
brlcad/trunk/src/libged/mirror/
brlcad/trunk/src/libged/model2grid_lu/
brlcad/trunk/src/libged/model2view/
brlcad/trunk/src/libged/model2view_lu/
brlcad/trunk/src/libged/move/
brlcad/trunk/src/libged/move_all/
brlcad/trunk/src/libged/move_arb_edge/
brlcad/trunk/src/libged/move_arb_face/
brlcad/trunk/src/libged/mrot/
brlcad/trunk/src/libged/nirt/
brlcad/trunk/src/libged/nmg/
brlcad/trunk/src/libged/nmg_cmface/
brlcad/trunk/src/libged/nmg_collapse/
brlcad/trunk/src/libged/nmg_fix_normals/
brlcad/trunk/src/libged/nmg_kill_f/
brlcad/trunk/src/libged/nmg_kill_v/
brlcad/trunk/src/libged/nmg_make_v/
brlcad/trunk/src/libged/nmg_mm/
brlcad/trunk/src/libged/nmg_move_v/
brlcad/trunk/src/libged/nmg_simplify/
brlcad/trunk/src/libged/ocenter/
brlcad/trunk/src/libged/open/
brlcad/trunk/src/libged/orient/
brlcad/trunk/src/libged/orotate/
brlcad/trunk/src/libged/oscale/
brlcad/trunk/src/libged/otranslate/
brlcad/trunk/src/libged/overlay/
brlcad/trunk/src/libged/path/
brlcad/trunk/src/libged/pathlist/
brlcad/trunk/src/libged/pathsum/
brlcad/trunk/src/libged/perspective/
brlcad/trunk/src/libged/pix2fb/
brlcad/trunk/src/libged/plot/
brlcad/trunk/src/libged/pmat/
brlcad/trunk/src/libged/pmodel2view/
brlcad/trunk/src/libged/png/
brlcad/trunk/src/libged/png2fb/
brlcad/trunk/src/libged/pnts/
brlcad/trunk/src/libged/polyclip/
brlcad/trunk/src/libged/prcolor/
brlcad/trunk/src/libged/prefix/
brlcad/trunk/src/libged/preview/
brlcad/trunk/src/libged/process/
brlcad/trunk/src/libged/protate/
brlcad/trunk/src/libged/ps/
brlcad/trunk/src/libged/pscale/
brlcad/trunk/src/libged/pset/
brlcad/trunk/src/libged/ptranslate/
brlcad/trunk/src/libged/pull/
brlcad/trunk/src/libged/push/
brlcad/trunk/src/libged/put/
brlcad/trunk/src/libged/put_comb/
brlcad/trunk/src/libged/putmat/
brlcad/trunk/src/libged/qray/
brlcad/trunk/src/libged/qvrot/
brlcad/trunk/src/libged/rcodes/
brlcad/trunk/src/libged/rect/
brlcad/trunk/src/libged/red/
brlcad/trunk/src/libged/regdef/
brlcad/trunk/src/libged/region/
brlcad/trunk/src/libged/remove/
brlcad/trunk/src/libged/rfarb/
brlcad/trunk/src/libged/rmap/
brlcad/trunk/src/libged/rmat/
brlcad/trunk/src/libged/rmater/
brlcad/trunk/src/libged/rot/
brlcad/trunk/src/libged/rot_point/
brlcad/trunk/src/libged/rotate_about/
brlcad/trunk/src/libged/rotate_arb_face/
brlcad/trunk/src/libged/rotate_eto/
brlcad/trunk/src/libged/rotate_extrude/
brlcad/trunk/src/libged/rotate_hyp/
brlcad/trunk/src/libged/rotate_tgc/
brlcad/trunk/src/libged/rrt/
brlcad/trunk/src/libged/rt/
brlcad/trunk/src/libged/rtabort/
brlcad/trunk/src/libged/rtcheck/
brlcad/trunk/src/libged/rtwizard/
brlcad/trunk/src/libged/savekey/
brlcad/trunk/src/libged/saveview/
brlcad/trunk/src/libged/scale/
brlcad/trunk/src/libged/scale_ehy/
brlcad/trunk/src/libged/scale_ell/
brlcad/trunk/src/libged/scale_epa/
brlcad/trunk/src/libged/scale_eto/
brlcad/trunk/src/libged/scale_extrude/
brlcad/trunk/src/libged/scale_hyp/
brlcad/trunk/src/libged/scale_part/
brlcad/trunk/src/libged/scale_rhc/
brlcad/trunk/src/libged/scale_rpc/
brlcad/trunk/src/libged/scale_superell/
brlcad/trunk/src/libged/scale_tgc/
brlcad/trunk/src/libged/scale_tor/
brlcad/trunk/src/libged/screengrab/
brlcad/trunk/src/libged/search/
brlcad/trunk/src/libged/select/
brlcad/trunk/src/libged/set_output_script/
brlcad/trunk/src/libged/set_transparency/
brlcad/trunk/src/libged/set_uplotOutputMode/
brlcad/trunk/src/libged/setview/
brlcad/trunk/src/libged/shaded_mode/
brlcad/trunk/src/libged/shader/
brlcad/trunk/src/libged/shells/
brlcad/trunk/src/libged/showmats/
brlcad/trunk/src/libged/slew/
brlcad/trunk/src/libged/solid_report/
brlcad/trunk/src/libged/solids_on_ray/
brlcad/trunk/src/libged/sphgroup/
brlcad/trunk/src/libged/summary/
brlcad/trunk/src/libged/sync/
brlcad/trunk/src/libged/tables/
brlcad/trunk/src/libged/tire/
brlcad/trunk/src/libged/title/
brlcad/trunk/src/libged/tol/
brlcad/trunk/src/libged/tops/
brlcad/trunk/src/libged/tra/
brlcad/trunk/src/libged/trace/
brlcad/trunk/src/libged/track/
brlcad/trunk/src/libged/translate_extrude/
brlcad/trunk/src/libged/translate_tgc/
brlcad/trunk/src/libged/tree/
brlcad/trunk/src/libged/typein/
brlcad/trunk/src/libged/unhide/
brlcad/trunk/src/libged/units/
brlcad/trunk/src/libged/v2m_point/
brlcad/trunk/src/libged/vdraw/
brlcad/trunk/src/libged/version/
brlcad/trunk/src/libged/view2grid_lu/
brlcad/trunk/src/libged/view2model/
brlcad/trunk/src/libged/view2model_lu/
brlcad/trunk/src/libged/view2model_vec/
brlcad/trunk/src/libged/viewdir/
brlcad/trunk/src/libged/voxelize/
brlcad/trunk/src/libged/vrot/
brlcad/trunk/src/libged/vutil/
brlcad/trunk/src/libged/wcodes/
brlcad/trunk/src/libged/wdb_importFg4Section/
brlcad/trunk/src/libged/whatid/
brlcad/trunk/src/libged/which/
brlcad/trunk/src/libged/which_shader/
brlcad/trunk/src/libged/who/
brlcad/trunk/src/libged/wmater/
brlcad/trunk/src/libged/xpush/
brlcad/trunk/src/libged/zap/
Removed Paths:
-------------
brlcad/trunk/src/libged/3ptarb.c
brlcad/trunk/src/libged/adc.c
brlcad/trunk/src/libged/adjust.c
brlcad/trunk/src/libged/ae2dir.c
brlcad/trunk/src/libged/analyze.c
brlcad/trunk/src/libged/annotate.c
brlcad/trunk/src/libged/arb.c
brlcad/trunk/src/libged/arced.c
brlcad/trunk/src/libged/arot.c
brlcad/trunk/src/libged/attr.cpp
brlcad/trunk/src/libged/autoview.c
brlcad/trunk/src/libged/bb.c
brlcad/trunk/src/libged/bev.c
brlcad/trunk/src/libged/bigE.c
brlcad/trunk/src/libged/blast.c
brlcad/trunk/src/libged/bo.c
brlcad/trunk/src/libged/bot_condense.c
brlcad/trunk/src/libged/bot_decimate.c
brlcad/trunk/src/libged/bot_dump.c
brlcad/trunk/src/libged/bot_face_fuse.c
brlcad/trunk/src/libged/bot_face_sort.c
brlcad/trunk/src/libged/bot_flip.c
brlcad/trunk/src/libged/bot_fuse.c
brlcad/trunk/src/libged/bot_merge.c
brlcad/trunk/src/libged/bot_smooth.c
brlcad/trunk/src/libged/bot_split.c
brlcad/trunk/src/libged/bot_sync.c
brlcad/trunk/src/libged/bot_vertex_fuse.c
brlcad/trunk/src/libged/cat.c
brlcad/trunk/src/libged/cc.c
brlcad/trunk/src/libged/clone.c
brlcad/trunk/src/libged/coil.c
brlcad/trunk/src/libged/color.c
brlcad/trunk/src/libged/columns.c
brlcad/trunk/src/libged/comb.c
brlcad/trunk/src/libged/comb_color.c
brlcad/trunk/src/libged/comb_std.c
brlcad/trunk/src/libged/combmem.c
brlcad/trunk/src/libged/concat.cpp
brlcad/trunk/src/libged/copy.c
brlcad/trunk/src/libged/copyeval.c
brlcad/trunk/src/libged/copymat.c
brlcad/trunk/src/libged/cpi.c
brlcad/trunk/src/libged/dag.cpp
brlcad/trunk/src/libged/dbip.c
brlcad/trunk/src/libged/debug.cpp
brlcad/trunk/src/libged/debugbu.c
brlcad/trunk/src/libged/debugdir.c
brlcad/trunk/src/libged/debuglib.c
brlcad/trunk/src/libged/debugnmg.c
brlcad/trunk/src/libged/decompose.c
brlcad/trunk/src/libged/delay.c
brlcad/trunk/src/libged/dir2ae.c
brlcad/trunk/src/libged/display_list.c
brlcad/trunk/src/libged/draw.c
brlcad/trunk/src/libged/draw_calc.cpp
brlcad/trunk/src/libged/dsp.c
brlcad/trunk/src/libged/dump.c
brlcad/trunk/src/libged/dup.c
brlcad/trunk/src/libged/eac.c
brlcad/trunk/src/libged/echo.c
brlcad/trunk/src/libged/edarb.c
brlcad/trunk/src/libged/edbot.c
brlcad/trunk/src/libged/edcodes.c
brlcad/trunk/src/libged/edcomb.c
brlcad/trunk/src/libged/edit.c
brlcad/trunk/src/libged/edit_metaball.c
brlcad/trunk/src/libged/editit.c
brlcad/trunk/src/libged/edmater.c
brlcad/trunk/src/libged/edpipe.c
brlcad/trunk/src/libged/env.c
brlcad/trunk/src/libged/erase.c
brlcad/trunk/src/libged/exists.c
brlcad/trunk/src/libged/expand.c
brlcad/trunk/src/libged/eye_pos.c
brlcad/trunk/src/libged/facedef.c
brlcad/trunk/src/libged/facetize.cpp
brlcad/trunk/src/libged/facetize_log.c
brlcad/trunk/src/libged/fb2pix.c
brlcad/trunk/src/libged/fbclear.c
brlcad/trunk/src/libged/find.c
brlcad/trunk/src/libged/form.c
brlcad/trunk/src/libged/fracture.c
brlcad/trunk/src/libged/gdiff.c
brlcad/trunk/src/libged/ged_util.c
brlcad/trunk/src/libged/get.c
brlcad/trunk/src/libged/get_autoview.c
brlcad/trunk/src/libged/get_comb.c
brlcad/trunk/src/libged/get_eyemodel.c
brlcad/trunk/src/libged/get_obj_bounds.c
brlcad/trunk/src/libged/get_solid_kp.c
brlcad/trunk/src/libged/get_type.c
brlcad/trunk/src/libged/glob.c
brlcad/trunk/src/libged/gqa.c
brlcad/trunk/src/libged/grid.c
brlcad/trunk/src/libged/grid2model_lu.c
brlcad/trunk/src/libged/grid2view_lu.c
brlcad/trunk/src/libged/group.c
brlcad/trunk/src/libged/heal.c
brlcad/trunk/src/libged/hide.c
brlcad/trunk/src/libged/how.c
brlcad/trunk/src/libged/human.c
brlcad/trunk/src/libged/illum.c
brlcad/trunk/src/libged/importFg4Section.c
brlcad/trunk/src/libged/inside.c
brlcad/trunk/src/libged/instance.c
brlcad/trunk/src/libged/isize.c
brlcad/trunk/src/libged/item.c
brlcad/trunk/src/libged/joint.c
brlcad/trunk/src/libged/joint.h
brlcad/trunk/src/libged/joint2.c
brlcad/trunk/src/libged/keep.c
brlcad/trunk/src/libged/keypoint.c
brlcad/trunk/src/libged/kill.c
brlcad/trunk/src/libged/killall.c
brlcad/trunk/src/libged/killrefs.c
brlcad/trunk/src/libged/killtree.c
brlcad/trunk/src/libged/label.c
brlcad/trunk/src/libged/lc.c
brlcad/trunk/src/libged/libfuncs.c
brlcad/trunk/src/libged/lint.cpp
brlcad/trunk/src/libged/list.c
brlcad/trunk/src/libged/loadview.c
brlcad/trunk/src/libged/lod.c
brlcad/trunk/src/libged/log.c
brlcad/trunk/src/libged/lookat.c
brlcad/trunk/src/libged/ls.c
brlcad/trunk/src/libged/lt.c
brlcad/trunk/src/libged/m2v_point.c
brlcad/trunk/src/libged/make.c
brlcad/trunk/src/libged/make_name.c
brlcad/trunk/src/libged/match.c
brlcad/trunk/src/libged/mater.cpp
brlcad/trunk/src/libged/mirror.c
brlcad/trunk/src/libged/model2grid_lu.c
brlcad/trunk/src/libged/model2view.c
brlcad/trunk/src/libged/model2view_lu.c
brlcad/trunk/src/libged/move.c
brlcad/trunk/src/libged/move_all.c
brlcad/trunk/src/libged/move_arb_edge.c
brlcad/trunk/src/libged/move_arb_face.c
brlcad/trunk/src/libged/mrot.c
brlcad/trunk/src/libged/nirt.c
brlcad/trunk/src/libged/nmg.c
brlcad/trunk/src/libged/nmg_cmface.c
brlcad/trunk/src/libged/nmg_collapse.c
brlcad/trunk/src/libged/nmg_fix_normals.c
brlcad/trunk/src/libged/nmg_kill_f.c
brlcad/trunk/src/libged/nmg_kill_v.c
brlcad/trunk/src/libged/nmg_make_v.c
brlcad/trunk/src/libged/nmg_mm.c
brlcad/trunk/src/libged/nmg_move_v.c
brlcad/trunk/src/libged/nmg_simplify.c
brlcad/trunk/src/libged/ocenter.c
brlcad/trunk/src/libged/open.c
brlcad/trunk/src/libged/orient.c
brlcad/trunk/src/libged/orotate.c
brlcad/trunk/src/libged/oscale.c
brlcad/trunk/src/libged/otranslate.c
brlcad/trunk/src/libged/overlay.c
brlcad/trunk/src/libged/path.c
brlcad/trunk/src/libged/pathlist.c
brlcad/trunk/src/libged/pathsum.c
brlcad/trunk/src/libged/perspective.c
brlcad/trunk/src/libged/pix2fb.c
brlcad/trunk/src/libged/plot.c
brlcad/trunk/src/libged/pmat.c
brlcad/trunk/src/libged/pmodel2view.c
brlcad/trunk/src/libged/png.c
brlcad/trunk/src/libged/png2fb.c
brlcad/trunk/src/libged/pnts.cpp
brlcad/trunk/src/libged/polyclip.cpp
brlcad/trunk/src/libged/prcolor.c
brlcad/trunk/src/libged/prefix.c
brlcad/trunk/src/libged/preview.c
brlcad/trunk/src/libged/process.c
brlcad/trunk/src/libged/protate.c
brlcad/trunk/src/libged/ps.c
brlcad/trunk/src/libged/pscale.c
brlcad/trunk/src/libged/pset.c
brlcad/trunk/src/libged/ptranslate.c
brlcad/trunk/src/libged/pull.c
brlcad/trunk/src/libged/push.c
brlcad/trunk/src/libged/put.c
brlcad/trunk/src/libged/put_comb.c
brlcad/trunk/src/libged/putmat.c
brlcad/trunk/src/libged/qray.c
brlcad/trunk/src/libged/qvrot.c
brlcad/trunk/src/libged/rcodes.c
brlcad/trunk/src/libged/rect.c
brlcad/trunk/src/libged/red.c
brlcad/trunk/src/libged/regdef.c
brlcad/trunk/src/libged/region.c
brlcad/trunk/src/libged/remove.c
brlcad/trunk/src/libged/rfarb.c
brlcad/trunk/src/libged/rmap.c
brlcad/trunk/src/libged/rmat.c
brlcad/trunk/src/libged/rmater.c
brlcad/trunk/src/libged/rot.c
brlcad/trunk/src/libged/rot_point.c
brlcad/trunk/src/libged/rotate_about.c
brlcad/trunk/src/libged/rotate_arb_face.c
brlcad/trunk/src/libged/rotate_eto.c
brlcad/trunk/src/libged/rotate_extrude.c
brlcad/trunk/src/libged/rotate_hyp.c
brlcad/trunk/src/libged/rotate_tgc.c
brlcad/trunk/src/libged/rrt.c
brlcad/trunk/src/libged/rt.c
brlcad/trunk/src/libged/rtabort.c
brlcad/trunk/src/libged/rtcheck.c
brlcad/trunk/src/libged/rtwizard.c
brlcad/trunk/src/libged/savekey.c
brlcad/trunk/src/libged/saveview.c
brlcad/trunk/src/libged/scale.c
brlcad/trunk/src/libged/scale_ehy.c
brlcad/trunk/src/libged/scale_ell.c
brlcad/trunk/src/libged/scale_epa.c
brlcad/trunk/src/libged/scale_eto.c
brlcad/trunk/src/libged/scale_extrude.c
brlcad/trunk/src/libged/scale_hyp.c
brlcad/trunk/src/libged/scale_part.c
brlcad/trunk/src/libged/scale_rhc.c
brlcad/trunk/src/libged/scale_rpc.c
brlcad/trunk/src/libged/scale_superell.c
brlcad/trunk/src/libged/scale_tgc.c
brlcad/trunk/src/libged/scale_tor.c
brlcad/trunk/src/libged/screengrab.c
brlcad/trunk/src/libged/search.c
brlcad/trunk/src/libged/select.c
brlcad/trunk/src/libged/set_output_script.c
brlcad/trunk/src/libged/set_transparency.c
brlcad/trunk/src/libged/set_uplotOutputMode.c
brlcad/trunk/src/libged/setview.c
brlcad/trunk/src/libged/shaded_mode.c
brlcad/trunk/src/libged/shader.c
brlcad/trunk/src/libged/shells.c
brlcad/trunk/src/libged/showmats.c
brlcad/trunk/src/libged/slew.c
brlcad/trunk/src/libged/solid_report.c
brlcad/trunk/src/libged/solids_on_ray.c
brlcad/trunk/src/libged/sphgroup.c
brlcad/trunk/src/libged/summary.c
brlcad/trunk/src/libged/sync.c
brlcad/trunk/src/libged/tables.c
brlcad/trunk/src/libged/tire.c
brlcad/trunk/src/libged/title.c
brlcad/trunk/src/libged/tol.c
brlcad/trunk/src/libged/tops.c
brlcad/trunk/src/libged/tra.c
brlcad/trunk/src/libged/trace.c
brlcad/trunk/src/libged/track.c
brlcad/trunk/src/libged/translate_extrude.c
brlcad/trunk/src/libged/translate_tgc.c
brlcad/trunk/src/libged/tree.c
brlcad/trunk/src/libged/typein.c
brlcad/trunk/src/libged/unhide.c
brlcad/trunk/src/libged/units.c
brlcad/trunk/src/libged/v2m_point.c
brlcad/trunk/src/libged/vdraw.c
brlcad/trunk/src/libged/version.c
brlcad/trunk/src/libged/view2grid_lu.c
brlcad/trunk/src/libged/view2model.c
brlcad/trunk/src/libged/view2model_lu.c
brlcad/trunk/src/libged/view2model_vec.c
brlcad/trunk/src/libged/viewdir.c
brlcad/trunk/src/libged/voxelize.c
brlcad/trunk/src/libged/vrot.c
brlcad/trunk/src/libged/vutil.c
brlcad/trunk/src/libged/wcodes.c
brlcad/trunk/src/libged/wdb_importFg4Section.c
brlcad/trunk/src/libged/whatid.c
brlcad/trunk/src/libged/which.cpp
brlcad/trunk/src/libged/which_shader.c
brlcad/trunk/src/libged/who.c
brlcad/trunk/src/libged/wmater.c
brlcad/trunk/src/libged/xpush.c
brlcad/trunk/src/libged/zap.c
Property Changed:
----------------
brlcad/trunk/
brlcad/trunk/doc/
brlcad/trunk/regress/
brlcad/trunk/src/libged/polyclip/polyclip.cpp
Index: brlcad/trunk
===================================================================
--- brlcad/trunk 2020-07-17 17:40:32 UTC (rev 76365)
+++ brlcad/trunk 2020-07-17 17:59:33 UTC (rev 76366)
Property changes on: brlcad/trunk
___________________________________________________________________
Modified: svn:mergeinfo
## -1,5 +1,5 ##
/brlcad/branches/RELEASE:57439,57447-57860,69901-69913,70323-70333,71915-72242,72525-72534,72826-72858,74376-74454,74964-75140,75372-75685
-/brlcad/branches/bioh:75720-75736,75740-75742,75860-75891,75894-75986,76088-76153
+/brlcad/branches/bioh:75720-75736,75740-75742,75860-75891,75894-75986,76088-76153,76355-76365
/brlcad/branches/brep-debug:61373,61375,61404,61427,61429,61470,61544,61567,61576,61999,62018,62094,62098,62107,62117,62406,62416-62519,62521-62584,62593-62614,62623,62658,62660-62674,62681-62771,62876,62901,62907,62910,62925,62928,62931-63025,63027,63051,63054-63056,63069,63071-63073,63122,63160-63161,63165,63171,63184,63187,63189-63190,63193-63196,63200,63202,63205-63210,63213,63219-63225,63232-63233,63236,63238,63338,63350-63353,63481,63618,63669,64173-64174,64176-64177,64229-64233,64242,64244,64360-64362,65165,65245,65249,65334,65833-65834,66370-66375,66931-66932,66934,67012-67015,67018-67019,67021-67022,67406,67740,67746-67748,67950,67952,68144-68145,68636,68640-68643,68820,69081,69109,69168,69206,69289,69346,69460-69461,69582-69583,69719-69721,69857-69859,69927,69995-69996,70148-70149,70347-70349,70377,70526-70527,71006-71007,71009-71022,71046-71047,71049,71096-71100
/brlcad/branches/bullet:62518
/brlcad/branches/cmake:43219
Index: brlcad/trunk/doc
===================================================================
--- brlcad/trunk/doc 2020-07-17 17:40:32 UTC (rev 76365)
+++ brlcad/trunk/doc 2020-07-17 17:59:33 UTC (rev 76366)
Property changes on: brlcad/trunk/doc
___________________________________________________________________
Modified: svn:mergeinfo
## -1,5 +1,5 ##
/brlcad/branches/RELEASE/doc:57439,57447-57860,69901-69913,71917-72242,72525-72534,72826-72858,74376-74454,74964-75140
-/brlcad/branches/bioh/doc:75894-75986,76088-76153
+/brlcad/branches/bioh/doc:75894-75986,76088-76153,76355-76365
/brlcad/branches/brep-debug/doc:61373,61375,61404,61427,61429,61470,61544,61567,61576,61999,62018,62094,62098,62107,62117,62406,62416-62519,62521-62584,62593-62614,62623,62658,62660-62674,62681-62771,62876,62901,62907,62910,62925,62928,62931-63025,63027,63051,63054-63056,63069,63071-63073,63122,63160-63161,63165,63171,63184,63187,63189-63190,63193-63196,63200,63202,63205-63210,63213,63219-63225,63232-63233,63236,63238,63338,63350-63353,63481,63618,63669,64173-64174,64176-64177,64229-64233,64242,64244,64360-64362,65165,65245,65249,65334,65833-65834,66370-66375,66931-66932,66934,67012-67015,67018-67019,67021-67022,67406,67740,67746-67748,67950,67952,68144-68145,68636,68640-68643,68820,69081,69109,69206,69289,69346,69460-69461,69582-69583,69719-69721,69857-69859,69927
/brlcad/branches/bullet/doc:62518
/brlcad/branches/cmake/doc:43219
Modified: brlcad/trunk/doc/legal/embedded/CMakeLists.txt
===================================================================
--- brlcad/trunk/doc/legal/embedded/CMakeLists.txt 2020-07-17 17:40:32 UTC
(rev 76365)
+++ brlcad/trunk/doc/legal/embedded/CMakeLists.txt 2020-07-17 17:59:33 UTC
(rev 76366)
@@ -21,6 +21,7 @@
gecode.txt
gdal_gcv_plugin1.txt
gdal_gcv_plugin2.txt
+ glm.txt
halfedge.txt
humanize.txt
hv3.txt
Copied: brlcad/trunk/doc/legal/embedded/glm.txt (from rev 76365,
brlcad/branches/bioh/doc/legal/embedded/glm.txt)
===================================================================
--- brlcad/trunk/doc/legal/embedded/glm.txt (rev 0)
+++ brlcad/trunk/doc/legal/embedded/glm.txt 2020-07-17 17:59:33 UTC (rev
76366)
@@ -0,0 +1,314 @@
+================================================================================
+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
+
Index: brlcad/trunk/regress
===================================================================
--- brlcad/trunk/regress 2020-07-17 17:40:32 UTC (rev 76365)
+++ brlcad/trunk/regress 2020-07-17 17:59:33 UTC (rev 76366)
Property changes on: brlcad/trunk/regress
___________________________________________________________________
Modified: svn:mergeinfo
## -1,5 +1,5 ##
/brlcad/branches/RELEASE/regress:57439,57447-57860,69901-69913,71917-72242,72525-72534,72826-72858,74376-74454,75372-75681
-/brlcad/branches/bioh/regress:75860-75891,75894-75986,76088-76153
+/brlcad/branches/bioh/regress:75860-75891,75894-75986,76088-76153,76355-76365
/brlcad/branches/brep-debug/regress:61373,61375,61404,61427,61429,61470,61544,61567,61576,61999,62018,62094,62098,62107,62117,62406,62416-62519,62521-62584,62593-62614,62623,62658,62660-62674,62681-62771,62876,62901,62907,62910,62925,62928,62931-63025,63027,63051,63054-63056,63069,63071-63073,63122,63160-63161,63165,63171,63184,63187,63189-63190,63193-63196,63200,63202,63205-63210,63213,63219-63225,63232-63233,63236,63238,63338,63350-63353,63481,63618,63669,64173-64174,64176-64177,64229-64233,64242,64244,64360-64362,65165,65245,65249,65334,65833-65834,66370-66375,66931-66932,66934,67012-67015,67018-67019,67021-67022,67406,67740,67746-67748,67950,67952,68144-68145,68636,68640-68643,68820,69081,69109,69206,69289,69346,69460-69461,69582-69583,69719-69721,69857-69859,69927
/brlcad/branches/bullet/regress:62518
/brlcad/branches/cmake/regress:43219
Modified: brlcad/trunk/regress/CMakeLists.txt
===================================================================
--- brlcad/trunk/regress/CMakeLists.txt 2020-07-17 17:40:32 UTC (rev 76365)
+++ brlcad/trunk/regress/CMakeLists.txt 2020-07-17 17:59:33 UTC (rev 76366)
@@ -125,6 +125,7 @@
CMAKEFILES(
analyze.asc
+ asc.sh
asc/v4.g
asc2dsp.sh
bots.sh
Deleted: brlcad/trunk/src/libged/3ptarb.c
===================================================================
--- brlcad/trunk/src/libged/3ptarb.c 2020-07-17 17:40:32 UTC (rev 76365)
+++ brlcad/trunk/src/libged/3ptarb.c 2020-07-17 17:59:33 UTC (rev 76366)
@@ -1,267 +0,0 @@
-/* 3 P T A R B . C
- * BRL-CAD
- *
- * Copyright (c) 2008-2020 United States Government as represented by
- * the U.S. Army Research Laboratory.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * version 2.1 as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this file; see the file named COPYING for more
- * information.
- */
-/** @file libged/3ptarb.c
- *
- * The 3ptarb command.
- *
- */
-
-#include "common.h"
-
-#include <stdlib.h>
-#include <ctype.h>
-#include <string.h>
-
-#include "rt/geom.h"
-#include "ged/objects.h"
-
-#include "./ged_private.h"
-
-
-static char *p_arb3pt[] = {
- "Enter X, Y, Z for point 1: ",
- "Enter Y, Z: ",
- "Enter Z: ",
- "Enter X, Y, Z for point 2: ",
- "Enter Y, Z: ",
- "Enter Z: ",
- "Enter X, Y, Z for point 3: ",
- "Enter Y, Z: ",
- "Enter Z: "
-};
-
-
-int
-ged_3ptarb(struct ged *gedp, int argc, const char *argv[])
-{
- int i, solve;
- vect_t vec1;
- vect_t vec2;
- fastf_t pt4[2], length, thick;
- vect_t norm;
- fastf_t ndotv;
- char **prompts;
- struct directory *dp;
- struct rt_db_internal internal;
- struct rt_arb_internal *aip;
- static const char *usage = "name x1 y1 z1 x2 y2 z2 x3 y3 z3 coord c1 c2
th";
-
- GED_CHECK_DATABASE_OPEN(gedp, GED_ERROR);
- GED_CHECK_READ_ONLY(gedp, GED_ERROR);
- GED_CHECK_ARGC_GT_0(gedp, argc, GED_ERROR);
-
- /* initialize result */
- bu_vls_trunc(gedp->ged_result_str, 0);
-
- if (argc > 15) {
- bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
- return GED_ERROR;
- }
-
- if (argc < 2) {
- bu_vls_printf(gedp->ged_result_str, "Enter name for this arb: ");
- return GED_MORE;
- }
-
- GED_CHECK_EXISTS(gedp, argv[1], LOOKUP_QUIET, GED_ERROR);
-
- /* read the three points */
- prompts = &p_arb3pt[0];
- if (argc < 11) {
- bu_vls_printf(gedp->ged_result_str, "%s", prompts[argc-2]);
- return GED_MORE;
- }
-
- /* preliminary calculations to check input so far */
- for (i = 0; i < 3; i++) {
- vec1[i] = atof(argv[i+2]) - atof(argv[i+5]);
- vec2[i] = atof(argv[i+2]) - atof(argv[i+8]);
- }
- VCROSS(norm, vec1, vec2);
- length = MAGNITUDE(norm);
- if (ZERO(length)) {
- bu_vls_printf(gedp->ged_result_str, "%s: points are collinear\n",
argv[0]);
- return GED_ERROR;
- }
- VSCALE(norm, norm, 1.0/length);
-
- if (argc < 12) {
- bu_vls_printf(gedp->ged_result_str, "Enter coordinate to solve for (x,
y, or z): ");
- return GED_MORE;
- }
-
- switch (argv[11][0]) {
- case 'x':
- if (ZERO(norm[0])) {
- bu_vls_printf(gedp->ged_result_str, "%s: X not unique in this
face\n", argv[0]);
- return GED_ERROR;
- }
- solve = X;
-
- if (argc < 13) {
- bu_vls_printf(gedp->ged_result_str, "Enter the Y, Z coordinate
values: ");
- return GED_MORE;
- }
- if (argc < 14) {
- bu_vls_printf(gedp->ged_result_str, "Enter the Z coordinate
value: ");
- return GED_MORE;
- }
-
- pt4[0] = atof(argv[12]) * gedp->ged_wdbp->dbip->dbi_local2base;
- pt4[1] = atof(argv[13]) * gedp->ged_wdbp->dbip->dbi_local2base;
- break;
-
- case 'y':
- if (ZERO(norm[1])) {
- bu_vls_printf(gedp->ged_result_str, "%s: Y not unique in this
face\n", argv[0]);
- return GED_ERROR;
- }
- solve = Y;
-
- if (argc < 13) {
- bu_vls_printf(gedp->ged_result_str, "Enter the X, Z coordinate
values: ");
- return GED_MORE;
- }
- if (argc < 14) {
- bu_vls_printf(gedp->ged_result_str, "Enter the Z coordinate
value: ");
- return GED_MORE;
- }
-
- pt4[0] = atof(argv[12]) * gedp->ged_wdbp->dbip->dbi_local2base;
- pt4[1] = atof(argv[13]) * gedp->ged_wdbp->dbip->dbi_local2base;
- break;
-
- case 'z':
- if (ZERO(norm[2])) {
- bu_vls_printf(gedp->ged_result_str, "%s: Z not unique in this
face\n", argv[0]);
- return GED_ERROR;
- }
- solve = Z;
-
- if (argc < 13) {
- bu_vls_printf(gedp->ged_result_str, "Enter the X, Y coordinate
values: ");
- return GED_MORE;
- }
- if (argc < 14) {
- bu_vls_printf(gedp->ged_result_str, "Enter the Y coordinate
value: ");
- return GED_MORE;
- }
-
- pt4[0] = atof(argv[12]) * gedp->ged_wdbp->dbip->dbi_local2base;
- pt4[1] = atof(argv[13]) * gedp->ged_wdbp->dbip->dbi_local2base;
- break;
-
- default:
- bu_vls_printf(gedp->ged_result_str, "%s: coordinate must be x, y,
or z\n", argv[0]);
- return GED_ERROR;
- }
-
- if (argc < 15) {
- bu_vls_printf(gedp->ged_result_str, "Enter thickness for this arb: ");
- return GED_MORE;
- }
-
- thick = atof(argv[14]);
- if (ZERO(thick)) {
- bu_vls_printf(gedp->ged_result_str, "%s: thickness = 0.0\n", argv[0]);
- return GED_ERROR;
- }
-
- RT_DB_INTERNAL_INIT(&internal);
- internal.idb_major_type = DB5_MAJORTYPE_BRLCAD;
- internal.idb_type = ID_ARB8;
- internal.idb_meth = &OBJ[ID_ARB8];
- BU_ALLOC(internal.idb_ptr, struct rt_arb_internal);
- aip = (struct rt_arb_internal *)internal.idb_ptr;
- aip->magic = RT_ARB_INTERNAL_MAGIC;
-
- for (i = 0; i < 8; i++) {
- VSET(aip->pt[i], 0.0, 0.0, 0.0);
- }
-
- for (i = 0; i < 3; i++) {
- /* the three given vertices */
- VSET(aip->pt[i],
atof(argv[i*3+2])*gedp->ged_wdbp->dbip->dbi_local2base,
atof(argv[i*3+3])*gedp->ged_wdbp->dbip->dbi_local2base,
atof(argv[i*3+4])*gedp->ged_wdbp->dbip->dbi_local2base);
- }
-
- thick *= gedp->ged_wdbp->dbip->dbi_local2base;
-
- ndotv = VDOT(aip->pt[0], norm);
-
- switch (solve) {
-
- case X:
- /* solve for x-coord of 4th point */
- aip->pt[3][Y] = pt4[0]; /* y-coord */
- aip->pt[3][Z] = pt4[1]; /* z-coord */
- aip->pt[3][X] = (ndotv
- - norm[Y] * aip->pt[3][Y]
- - norm[Z] * aip->pt[3][Z])
- / norm[X]; /* x-coord */
- break;
-
- case Y:
- /* solve for y-coord of 4th point */
- aip->pt[3][X] = pt4[0]; /* x-coord */
- aip->pt[3][Z] = pt4[1]; /* z-coord */
- aip->pt[3][Y] = (ndotv
- - norm[X] * aip->pt[3][X]
- - norm[Z] * aip->pt[3][Z])
- / norm[Y]; /* y-coord */
- break;
-
- case Z:
- /* solve for z-coord of 4th point */
- aip->pt[3][X] = pt4[0]; /* x-coord */
- aip->pt[3][Y] = pt4[1]; /* y-coord */
- aip->pt[3][Z] = (ndotv
- - norm[X] * aip->pt[3][X]
- - norm[Y] * aip->pt[3][Y])
- / norm[Z]; /* z-coord */
- break;
-
- default:
- bu_free((void *)internal.idb_ptr, "rt_arb_internal");
- bu_vls_printf(gedp->ged_result_str, "%s: bad coordinate to solve
for\n", argv[0]);
- return GED_ERROR;
- }
-
- /* calculate the remaining 4 vertices */
- for (i = 0; i < 4; i++) {
- VJOIN1(aip->pt[i+4], aip->pt[i], thick, norm);
- }
-
- GED_DB_DIRADD(gedp, dp, argv[1], RT_DIR_PHONY_ADDR, 0, RT_DIR_SOLID, (void
*)&internal.idb_type, GED_ERROR);
-
- GED_DB_PUT_INTERNAL(gedp, dp, &internal, &rt_uniresource, GED_ERROR);
-
- return GED_OK;
-}
-
-
-/*
- * Local Variables:
- * tab-width: 8
- * mode: C
- * indent-tabs-mode: t
- * c-file-style: "stroustrup"
- * End:
- * ex: shiftwidth=4 tabstop=8
- */
Modified: brlcad/trunk/src/libged/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/libged/CMakeLists.txt 2020-07-17 17:40:32 UTC (rev
76365)
+++ brlcad/trunk/src/libged/CMakeLists.txt 2020-07-17 17:59:33 UTC (rev
76366)
@@ -23,6 +23,7 @@
set(LIBGED_CMD_INCLUDE_DIRS ${LIBGED_CMD_INCLUDE_DIRS} ${AVOID_INCLUDE_DIR})
endif(ADAPTAGRAMS_FOUND)
+file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/debug")
set(DEBUG_CMD_CPP "${CMAKE_CURRENT_BINARY_DIR}/debug_cmd.cpp")
add_custom_command(OUTPUT ${DEBUG_CMD_CPP}
@@ -30,9 +31,10 @@
DEPENDS debug2c
COMMENT "[DEBUG2C] Scanning for debugging variables"
)
-set_source_files_properties(debug.cpp PROPERTIES OBJECT_DEPENDS
${DEBUG_CMD_CPP})
DISTCLEAN(${DEBUG_CMD_CPP})
+set_source_files_properties(debug/debug.cpp PROPERTIES OBJECT_DEPENDS
${DEBUG_CMD_CPP})
+file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/env")
set(ENV_CMD_C "${CMAKE_CURRENT_BINARY_DIR}/env_cmd.c")
add_custom_command(OUTPUT ${ENV_CMD_C}
@@ -40,43 +42,43 @@
DEPENDS env2c
COMMENT "[ENV2C] Scanning for environment variable usage"
)
-set_source_files_properties(env.c PROPERTIES OBJECT_DEPENDS ${ENV_CMD_C})
DISTCLEAN(${ENV_CMD_C})
+set_source_files_properties(env/env.c PROPERTIES OBJECT_DEPENDS ${ENV_CMD_C})
set(LIBGED_SOURCES
${LIBGED_SOURCES}
- 3ptarb.c
- adc.c
- adjust.c
- ae2dir.c
- analyze.c
- annotate.c
- arb.c
- arced.c
- arot.c
- attr.cpp
- autoview.c
- bb.c
- bev.c
- bigE.c
- blast.c
- bo.c
+ 3ptarb/3ptarb.c
+ adc/adc.c
+ adjust/adjust.c
+ ae2dir/ae2dir.c
+ analyze/analyze.c
+ annotate/annotate.c
+ arb/arb.c
+ arced/arced.c
+ arot/arot.c
+ attr/attr.cpp
+ autoview/autoview.c
+ bb/bb.c
+ bev/bev.c
+ bigE/bigE.c
+ blast/blast.c
+ bo/bo.c
bot/bot.cpp
bot/check.cpp
bot/extrude.cpp
bot/remesh.cpp
- bot_condense.c
- bot_decimate.c
- bot_dump.c
- bot_face_fuse.c
- bot_face_sort.c
- bot_flip.c
- bot_fuse.c
- bot_merge.c
- bot_smooth.c
- bot_split.c
- bot_sync.c
- bot_vertex_fuse.c
+ bot_condense/bot_condense.c
+ bot_decimate/bot_decimate.c
+ bot_dump/bot_dump.c
+ bot_face_fuse/bot_face_fuse.c
+ bot_face_sort/bot_face_sort.c
+ bot_flip/bot_flip.c
+ bot_fuse/bot_fuse.c
+ bot_merge/bot_merge.c
+ bot_smooth/bot_smooth.c
+ bot_split/bot_split.c
+ bot_sync/bot_sync.c
+ bot_vertex_fuse/bot_vertex_fuse.c
brep/brep.cpp
brep/conversion.cpp
brep/csg.cpp
@@ -86,8 +88,8 @@
brep/plot.cpp
brep/tikz.cpp
brep/valid.cpp
- cat.c
- cc.c
+ cat/cat.c
+ cc/cc.c
check/check.c
check/check_adj_air.c
check/check_centroid.c
@@ -99,217 +101,217 @@
check/check_surf_area.c
check/check_unconf_air.c
check/check_volume.c
- clone.c
- coil.c
- color.c
- columns.c
- comb.c
- comb_color.c
- comb_std.c
- combmem.c
- concat.cpp
constraint/constraint.c
- copy.c
- copyeval.c
- copymat.c
- cpi.c
- dag.cpp
- dbip.c
- debug.cpp
- debugbu.c
- debugdir.c
- debuglib.c
- debugnmg.c
- decompose.c
- delay.c
- dir2ae.c
- display_list.c
- draw.c
- draw_calc.cpp
- dsp.c
- dump.c
- dup.c
- eac.c
- echo.c
- edarb.c
- edbot.c
- edcodes.c
- edcomb.c
- edit.c
- edit_metaball.c
- editit.c
- edmater.c
- edpipe.c
- env.c
- erase.c
- exists.c
- expand.c
- eye_pos.c
- facedef.c
- facetize.cpp
- facetize_log.c
- fb2pix.c
- fbclear.c
- find.c
- form.c
- fracture.c
- gdiff.c
- gdiff.c
+ clone/clone.c
+ coil/coil.c
+ color/color.c
+ columns/columns.c
+ comb/comb.c
+ comb_color/comb_color.c
+ comb_std/comb_std.c
+ combmem/combmem.c
+ concat/concat.cpp
+ copy/copy.c
+ copyeval/copyeval.c
+ copymat/copymat.c
+ cpi/cpi.c
+ dag/dag.cpp
+ dbip/dbip.c
+ debug/debug.cpp
+ debugbu/debugbu.c
+ debugdir/debugdir.c
+ debuglib/debuglib.c
+ debugnmg/debugnmg.c
+ decompose/decompose.c
+ delay/delay.c
+ dir2ae/dir2ae.c
+ display_list/display_list.c
+ draw/draw.c
+ draw_calc/draw_calc.cpp
+ dsp/dsp.c
+ dump/dump.c
+ dup/dup.c
+ eac/eac.c
+ echo/echo.c
+ edarb/edarb.c
+ edbot/edbot.c
+ edcodes/edcodes.c
+ edcomb/edcomb.c
+ edit/edit.c
+ edit_metaball/edit_metaball.c
+ editit/editit.c
+ edmater/edmater.c
+ edpipe/edpipe.c
+ env/env.c
+ erase/erase.c
+ exists/exists.c
+ expand/expand.c
+ eye_pos/eye_pos.c
+ facedef/facedef.c
+ facetize/facetize.cpp
+ facetize_log/facetize_log.c
+ fb2pix/fb2pix.c
+ fbclear/fbclear.c
+ find/find.c
+ form/form.c
+ fracture/fracture.c
+ gdiff/gdiff.c
+ gdiff/gdiff.c
ged.c
- ged_util.c
- get.c
- get_autoview.c
- get_comb.c
- get_eyemodel.c
- get_obj_bounds.c
- get_solid_kp.c
- get_type.c
- glob.c
- gqa.c
- grid.c
- grid2model_lu.c
- grid2view_lu.c
- group.c
- heal.c
+ ged_util/ged_util.c
+ get/get.c
+ get_autoview/get_autoview.c
+ get_comb/get_comb.c
+ get_eyemodel/get_eyemodel.c
+ get_obj_bounds/get_obj_bounds.c
+ get_solid_kp/get_solid_kp.c
+ get_type/get_type.c
+ glob/glob.c
+ gqa/gqa.c
+ grid/grid.c
+ grid2model_lu/grid2model_lu.c
+ grid2view_lu/grid2view_lu.c
+ group/group.c
+ heal/heal.c
help/help.cpp
- hide.c
- how.c
- human.c
- illum.c
- importFg4Section.c
- inside.c
- instance.c
- isize.c
- item.c
- joint.c
- joint2.c
- keep.c
- keypoint.c
- kill.c
- killall.c
- killrefs.c
- killtree.c
- label.c
- lc.c
- libfuncs.c
- lint.cpp
- list.c
- loadview.c
- lod.c
- log.c
- lookat.c
- ls.c
- lt.c
- m2v_point.c
- make.c
- make_name.c
- match.c
- mater.cpp
- mirror.c
- model2grid_lu.c
- model2view.c
- model2view_lu.c
- move.c
- move_all.c
- move_arb_edge.c
- move_arb_face.c
- mrot.c
- nirt.c
- nmg.c
- nmg_cmface.c
- nmg_collapse.c
- nmg_fix_normals.c
- nmg_kill_f.c
- nmg_kill_v.c
- nmg_make_v.c
- nmg_mm.c
- nmg_move_v.c
- nmg_simplify.c
- ocenter.c
- open.c
- orient.c
- orotate.c
- oscale.c
- otranslate.c
- overlay.c
- path.c
- pathlist.c
- pathsum.c
- perspective.c
- pix2fb.c
- plot.c
- pmat.c
- pmodel2view.c
- png.c
- png2fb.c
- pnts.cpp
+ hide/hide.c
+ how/how.c
+ human/human.c
+ illum/illum.c
+ importFg4Section/importFg4Section.c
+ inside/inside.c
+ instance/instance.c
+ isize/isize.c
+ item/item.c
+ joint/joint.c
+ joint2/joint2.c
+ keep/keep.c
+ keypoint/keypoint.c
+ kill/kill.c
+ killall/killall.c
+ killrefs/killrefs.c
+ killtree/killtree.c
+ label/label.c
+ lc/lc.c
+ libfuncs/libfuncs.c
+ lint/lint.cpp
+ list/list.c
+ loadview/loadview.c
+ lod/lod.c
+ log/log.c
+ lookat/lookat.c
+ ls/ls.c
+ lt/lt.c
+ m2v_point/m2v_point.c
+ make/make.c
+ make_name/make_name.c
+ match/match.c
+ mater/mater.cpp
+ mirror/mirror.c
+ model2grid_lu/model2grid_lu.c
+ model2view/model2view.c
+ model2view_lu/model2view_lu.c
+ move/move.c
+ move_all/move_all.c
+ move_arb_edge/move_arb_edge.c
+ move_arb_face/move_arb_face.c
+ mrot/mrot.c
+ nirt/nirt.c
+ nmg/nmg.c
+ nmg_cmface/nmg_cmface.c
+ nmg_collapse/nmg_collapse.c
+ nmg_fix_normals/nmg_fix_normals.c
+ nmg_kill_f/nmg_kill_f.c
+ nmg_kill_v/nmg_kill_v.c
+ nmg_make_v/nmg_make_v.c
+ nmg_mm/nmg_mm.c
+ nmg_move_v/nmg_move_v.c
+ nmg_simplify/nmg_simplify.c
+ ocenter/ocenter.c
+ open/open.c
+ orient/orient.c
+ orotate/orotate.c
+ oscale/oscale.c
+ otranslate/otranslate.c
+ overlay/overlay.c
+ path/path.c
+ pathlist/pathlist.c
+ pathsum/pathsum.c
+ perspective/perspective.c
+ pix2fb/pix2fb.c
+ plot/plot.c
+ pmat/pmat.c
+ pmodel2view/pmodel2view.c
+ png/png.c
+ png2fb/png2fb.c
+ pnts/pnts.cpp
pnts_util.c
- polyclip.cpp
- prcolor.c
- prefix.c
- preview.c
- process.c
- protate.c
- ps.c
- pscale.c
- pset.c
- ptranslate.c
- pull.c
- push.c
- put.c
- put_comb.c
- putmat.c
- qray.c
- qvrot.c
- rcodes.c
- rect.c
- red.c
- regdef.c
- region.c
- remove.c
- rfarb.c
- rmap.c
- rmat.c
- rmater.c
- rot.c
- rot_point.c
- rotate_about.c
- rotate_arb_face.c
- rotate_eto.c
- rotate_extrude.c
- rotate_hyp.c
- rotate_tgc.c
- rrt.c
- rt.c
- rtabort.c
- rtcheck.c
- rtwizard.c
- savekey.c
- saveview.c
- scale.c
- scale_ehy.c
- scale_ell.c
- scale_epa.c
- scale_eto.c
- scale_extrude.c
- scale_hyp.c
- scale_part.c
- scale_rhc.c
- scale_rpc.c
- scale_superell.c
- scale_tgc.c
- scale_tor.c
- screengrab.c
- search.c
- select.c
- set_output_script.c
- set_transparency.c
- set_uplotOutputMode.c
- setview.c
- shaded_mode.c
- shader.c
- shells.c
- showmats.c
+ polyclip/polyclip.cpp
+ prcolor/prcolor.c
+ prefix/prefix.c
+ preview/preview.c
+ process/process.c
+ protate/protate.c
+ ps/ps.c
+ pscale/pscale.c
+ pset/pset.c
+ ptranslate/ptranslate.c
+ pull/pull.c
+ push/push.c
+ put/put.c
+ put_comb/put_comb.c
+ putmat/putmat.c
+ qray/qray.c
+ qvrot/qvrot.c
+ rcodes/rcodes.c
+ rect/rect.c
+ red/red.c
+ regdef/regdef.c
+ region/region.c
+ remove/remove.c
+ rfarb/rfarb.c
+ rmap/rmap.c
+ rmat/rmat.c
+ rmater/rmater.c
+ rot/rot.c
+ rot_point/rot_point.c
+ rotate_about/rotate_about.c
+ rotate_arb_face/rotate_arb_face.c
+ rotate_eto/rotate_eto.c
+ rotate_extrude/rotate_extrude.c
+ rotate_hyp/rotate_hyp.c
+ rotate_tgc/rotate_tgc.c
+ rrt/rrt.c
+ rt/rt.c
+ rtabort/rtabort.c
+ rtcheck/rtcheck.c
+ rtwizard/rtwizard.c
+ savekey/savekey.c
+ saveview/saveview.c
+ scale/scale.c
+ scale_ehy/scale_ehy.c
+ scale_ell/scale_ell.c
+ scale_epa/scale_epa.c
+ scale_eto/scale_eto.c
+ scale_extrude/scale_extrude.c
+ scale_hyp/scale_hyp.c
+ scale_part/scale_part.c
+ scale_rhc/scale_rhc.c
+ scale_rpc/scale_rpc.c
+ scale_superell/scale_superell.c
+ scale_tgc/scale_tgc.c
+ scale_tor/scale_tor.c
+ screengrab/screengrab.c
+ search/search.c
+ select/select.c
+ set_output_script/set_output_script.c
+ set_transparency/set_transparency.c
+ set_uplotOutputMode/set_uplotOutputMode.c
+ setview/setview.c
+ shaded_mode/shaded_mode.c
+ shader/shader.c
+ shells/shells.c
+ showmats/showmats.c
simulate/ged_command.cpp
simulate/rt_collision_algorithm.cpp
simulate/rt_collision_shape.cpp
@@ -318,29 +320,29 @@
simulate/rt_motion_state.cpp
simulate/simulation.cpp
simulate/utility.cpp
- slew.c
- solid_report.c
- solids_on_ray.c
- sphgroup.c
- summary.c
- sync.c
- tables.c
- tire.c
- title.c
- tol.c
- tops.c
- tra.c
- trace.c
- track.c
- translate_extrude.c
- translate_tgc.c
- tree.c
- typein.c
- unhide.c
- units.c
- v2m_point.c
- vdraw.c
- version.c
+ slew/slew.c
+ solid_report/solid_report.c
+ solids_on_ray/solids_on_ray.c
+ sphgroup/sphgroup.c
+ summary/summary.c
+ sync/sync.c
+ tables/tables.c
+ tire/tire.c
+ title/title.c
+ tol/tol.c
+ tops/tops.c
+ tra/tra.c
+ trace/trace.c
+ track/track.c
+ translate_extrude/translate_extrude.c
+ translate_tgc/translate_tgc.c
+ tree/tree.c
+ typein/typein.c
+ unhide/unhide.c
+ units/units.c
+ v2m_point/v2m_point.c
+ vdraw/vdraw.c
+ version/version.c
view/aet.c
view/center.cpp
view/data_lines.c
@@ -350,23 +352,23 @@
view/snap.c
view/ypr.c
view/view.c
- view2grid_lu.c
- view2model.c
- view2model_lu.c
- view2model_vec.c
- viewdir.c
- voxelize.c
- vrot.c
- vutil.c
- wcodes.c
- wdb_importFg4Section.c
- whatid.c
- which.cpp
- which_shader.c
- who.c
- wmater.c
- xpush.c
- zap.c
+ view2grid_lu/view2grid_lu.c
+ view2model/view2model.c
+ view2model_lu/view2model_lu.c
+ view2model_vec/view2model_vec.c
+ viewdir/viewdir.c
+ voxelize/voxelize.c
+ vrot/vrot.c
+ vutil/vutil.c
+ wcodes/wcodes.c
+ wdb_importFg4Section/wdb_importFg4Section.c
+ whatid/whatid.c
+ which/which.cpp
+ which_shader/which_shader.c
+ who/who.c
+ wmater/wmater.c
+ xpush/xpush.c
+ zap/zap.c
zoom/zoom.c
${LIBGED_CMD_SRCS}
)
@@ -427,7 +429,7 @@
brep/ged_brep.h
check/check_private.h
ged_private.h
- joint.h
+ joint/joint.h
osg.cpp
pnts_util.h
qray.h
Deleted: brlcad/trunk/src/libged/adc.c
===================================================================
--- brlcad/trunk/src/libged/adc.c 2020-07-17 17:40:32 UTC (rev 76365)
+++ brlcad/trunk/src/libged/adc.c 2020-07-17 17:59:33 UTC (rev 76366)
@@ -1,710 +0,0 @@
-/* A D C . C
- * BRL-CAD
- *
- * Copyright (c) 1985-2020 United States Government as represented by
- * the U.S. Army Research Laboratory.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * version 2.1 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this file; see the file named COPYING for more
- * information.
- */
-/** @file libged/adc.c
- *
- */
-
-#include "common.h"
-
-#include <stdlib.h>
-#include <math.h>
-#include <string.h>
-
-
-#include "vmath.h"
-#include "ged.h"
-
-static void
-adc_vls_print(struct bview *gvp, fastf_t base2local, struct bu_vls *out_vp)
-{
- bu_vls_printf(out_vp, "draw = %d\n", gvp->gv_adc.draw);
- bu_vls_printf(out_vp, "a1 = %.15e\n", gvp->gv_adc.a1);
- bu_vls_printf(out_vp, "a2 = %.15e\n", gvp->gv_adc.a2);
- bu_vls_printf(out_vp, "dst = %.15e\n", gvp->gv_adc.dst * gvp->gv_scale *
base2local);
- bu_vls_printf(out_vp, "odst = %d\n", gvp->gv_adc.dv_dist);
- bu_vls_printf(out_vp, "hv = %.15e %.15e\n",
- gvp->gv_adc.pos_grid[X] * gvp->gv_scale * base2local,
- gvp->gv_adc.pos_grid[Y] * gvp->gv_scale * base2local);
- bu_vls_printf(out_vp, "xyz = %.15e %.15e %.15e\n",
- gvp->gv_adc.pos_model[X] * base2local,
- gvp->gv_adc.pos_model[Y] * base2local,
- gvp->gv_adc.pos_model[Z] * base2local);
- bu_vls_printf(out_vp, "x = %d\n", gvp->gv_adc.dv_x);
- bu_vls_printf(out_vp, "y = %d\n", gvp->gv_adc.dv_y);
- bu_vls_printf(out_vp, "anchor_pos = %d\n", gvp->gv_adc.anchor_pos);
- bu_vls_printf(out_vp, "anchor_a1 = %d\n", gvp->gv_adc.anchor_a1);
- bu_vls_printf(out_vp, "anchor_a2 = %d\n", gvp->gv_adc.anchor_a2);
- bu_vls_printf(out_vp, "anchor_dst = %d\n", gvp->gv_adc.anchor_dst);
- bu_vls_printf(out_vp, "anchorpoint_a1 = %.15e %.15e %.15e\n",
- gvp->gv_adc.anchor_pt_a1[X] * base2local,
- gvp->gv_adc.anchor_pt_a1[Y] * base2local,
- gvp->gv_adc.anchor_pt_a1[Z] * base2local);
- bu_vls_printf(out_vp, "anchorpoint_a2 = %.15e %.15e %.15e\n",
- gvp->gv_adc.anchor_pt_a2[X] * base2local,
- gvp->gv_adc.anchor_pt_a2[Y] * base2local,
- gvp->gv_adc.anchor_pt_a2[Z] * base2local);
- bu_vls_printf(out_vp, "anchorpoint_dst = %.15e %.15e %.15e\n",
- gvp->gv_adc.anchor_pt_dst[X] * base2local,
- gvp->gv_adc.anchor_pt_dst[Y] * base2local,
- gvp->gv_adc.anchor_pt_dst[Z] * base2local);
-}
-
-
-HIDDEN void
-adc_usage(struct bu_vls *vp, const char *name)
-{
- bu_vls_printf(vp, "Usage: %s \n", name);
- bu_vls_printf(vp, "%s", " adc vname toggle
display of angle/distance cursor\n");
- bu_vls_printf(vp, "%s", " adc vname vars print a list
of all variables (i.e. var = val)\n");
- bu_vls_printf(vp, "%s", " adc vname draw [0|1] set or get
the draw parameter\n");
- bu_vls_printf(vp, "%s", " adc vname a1 [#] set or get
angle1\n");
- bu_vls_printf(vp, "%s", " adc vname a2 [#] set or get
angle2\n");
- bu_vls_printf(vp, "%s", " adc vname dst [#] set or get
radius (distance) of tick\n");
- bu_vls_printf(vp, "%s", " adc vname odst [#] set or get
radius (distance) of tick (+-2047)\n");
- bu_vls_printf(vp, "%s", " adc vname hv [# #] set or get
position (grid coordinates)\n");
- bu_vls_printf(vp, "%s", " adc vname xyz [# # #] set or get
position (model coordinates)\n");
- bu_vls_printf(vp, "%s", " adc vname x [#] set or get
horizontal position (+-2047)\n");
- bu_vls_printf(vp, "%s", " adc vname y [#] set or get
vertical position (+-2047)\n");
- bu_vls_printf(vp, "%s", " adc vname dh # add to
horizontal position (grid coordinates)\n");
- bu_vls_printf(vp, "%s", " adc vname dv # add to
vertical position (grid coordinates)\n");
- bu_vls_printf(vp, "%s", " adc vname dx # add to X
position (model coordinates)\n");
- bu_vls_printf(vp, "%s", " adc vname dy # add to Y
position (model coordinates)\n");
- bu_vls_printf(vp, "%s", " adc vname dz # add to Z
position (model coordinates)\n");
- bu_vls_printf(vp, "%s", " adc vname anchor_pos [0|1] anchor ADC
to current position in model coordinates\n");
- bu_vls_printf(vp, "%s", " adc vname anchor_a1 [0|1] anchor
angle1 to go through anchorpoint_a1\n");
- bu_vls_printf(vp, "%s", " adc vname anchor_a2 [0|1] anchor
angle2 to go through anchorpoint_a2\n");
- bu_vls_printf(vp, "%s", " adc vname anchor_dst [0|1] anchor tick
distance to go through anchorpoint_dst\n");
- bu_vls_printf(vp, "%s", " adc vname anchorpoint_a1 [# # #] set or get
anchor point for angle1\n");
- bu_vls_printf(vp, "%s", " adc vname anchorpoint_a2 [# # #] set or get
anchor point for angle2\n");
- bu_vls_printf(vp, "%s", " adc vname anchorpoint_dst [# # #] set or get
anchor point for tick distance\n");
- bu_vls_printf(vp, "%s", " adc vname -i any of the
above appropriate commands will interpret parameters as increments\n");
- bu_vls_printf(vp, "%s", " adc vname reset reset
angles, location, and tick distance\n");
- bu_vls_printf(vp, "%s", " adc vname help prints this
help message\n");
-}
-
-
-/*
- * Note - this needs to be rewritten to accept keyword/value pairs so
- * that multiple attributes can be set with a single command call.
- */
-int
-ged_adc(struct ged *gedp,
- int argc,
- const char *argv[])
-{
- char *command;
- char *parameter;
- char **argp = (char **)argv;
- double scanval;
- point_t user_pt; /* Value(s) provided by user */
- point_t scaled_pos;
- int incr_flag;
- int i;
-
- GED_CHECK_DATABASE_OPEN(gedp, GED_ERROR);
- GED_CHECK_VIEW(gedp, GED_ERROR);
- GED_CHECK_ARGC_GT_0(gedp, argc, GED_ERROR);
-
- /* initialize result */
- bu_vls_trunc(gedp->ged_result_str, 0);
-
- if (argc < 2 || 6 < argc) {
- adc_usage(gedp->ged_result_str, argv[0]);
- return GED_ERROR;
- }
-
- command = (char *)argv[0];
-
- if (BU_STR_EQUAL(argv[1], "-i")) {
- if (argc < 5) {
- bu_vls_printf(gedp->ged_result_str, "%s: -i option specified
without an op-val pair", command);
- return GED_ERROR;
- }
-
- incr_flag = 1;
- parameter = (char *)argv[2];
- argc -= 3;
- argp += 3;
- } else {
- incr_flag = 0;
- parameter = (char *)argv[1];
- argc -= 2;
- argp += 2;
- }
-
- for (i = 0; i < argc; ++i) {
- if (sscanf(argp[i], "%lf", &scanval) != 1) {
- adc_usage(gedp->ged_result_str, command);
- return GED_ERROR;
- }
- user_pt[i] = scanval;
- }
-
- if (BU_STR_EQUAL(parameter, "draw")) {
- if (argc == 0) {
- bu_vls_printf(gedp->ged_result_str, "%d",
gedp->ged_gvp->gv_adc.draw);
- return GED_OK;
- } else if (argc == 1) {
- i = (int)user_pt[X];
-
- if (i)
- gedp->ged_gvp->gv_adc.draw = 1;
- else
- gedp->ged_gvp->gv_adc.draw = 0;
-
- return GED_OK;
- }
-
- bu_vls_printf(gedp->ged_result_str, "The '%s draw' command accepts 0 or
1 argument\n", command);
- return GED_ERROR;
- }
-
- if (BU_STR_EQUAL(parameter, "a1")) {
- if (argc == 0) {
- bu_vls_printf(gedp->ged_result_str, "%g", gedp->ged_gvp->gv_adc.a1);
- return GED_OK;
- } else if (argc == 1) {
- if (!gedp->ged_gvp->gv_adc.anchor_a1) {
- if (incr_flag)
- gedp->ged_gvp->gv_adc.a1 += user_pt[0];
- else
- gedp->ged_gvp->gv_adc.a1 = user_pt[0];
-
- gedp->ged_gvp->gv_adc.dv_a1 = (1.0 - (gedp->ged_gvp->gv_adc.a1
/ 45.0)) * GED_MAX;
- }
-
- return GED_OK;
- }
-
- bu_vls_printf(gedp->ged_result_str, "The '%s a1' command accepts only 1
argument\n", command);
- return GED_ERROR;
- }
-
- if (BU_STR_EQUAL(parameter, "a2")) {
- if (argc == 0) {
- bu_vls_printf(gedp->ged_result_str, "%g", gedp->ged_gvp->gv_adc.a2);
- return GED_OK;
- } else if (argc == 1) {
- if (!gedp->ged_gvp->gv_adc.anchor_a2) {
- if (incr_flag)
- gedp->ged_gvp->gv_adc.a2 += user_pt[0];
- else
- gedp->ged_gvp->gv_adc.a2 = user_pt[0];
-
- gedp->ged_gvp->gv_adc.dv_a2 = (1.0 - (gedp->ged_gvp->gv_adc.a2
/ 45.0)) * GED_MAX;
- }
-
- return GED_OK;
- }
-
- bu_vls_printf(gedp->ged_result_str, "The '%s a2' command accepts only 1
argument\n", command);
- return GED_ERROR;
- }
-
- if (BU_STR_EQUAL(parameter, "dst")) {
- if (argc == 0) {
- bu_vls_printf(gedp->ged_result_str, "%g", gedp->ged_gvp->gv_adc.dst
* gedp->ged_gvp->gv_scale * gedp->ged_wdbp->dbip->dbi_base2local);
- return GED_OK;
- } else if (argc == 1) {
- if (!gedp->ged_gvp->gv_adc.anchor_dst) {
- if (incr_flag)
- gedp->ged_gvp->gv_adc.dst += user_pt[0] /
(gedp->ged_gvp->gv_scale * gedp->ged_wdbp->dbip->dbi_base2local);
- else
- gedp->ged_gvp->gv_adc.dst = user_pt[0] /
(gedp->ged_gvp->gv_scale * gedp->ged_wdbp->dbip->dbi_base2local);
-
- gedp->ged_gvp->gv_adc.dv_dist = (gedp->ged_gvp->gv_adc.dst /
M_SQRT1_2 - 1.0) * GED_MAX;
- }
-
- return GED_OK;
- }
-
- bu_vls_printf(gedp->ged_result_str, "The '%s dst' command accepts 0 or
1 argument\n", command);
- return GED_ERROR;
- }
-
- if (BU_STR_EQUAL(parameter, "odst")) {
- if (argc == 0) {
- bu_vls_printf(gedp->ged_result_str, "%d",
gedp->ged_gvp->gv_adc.dv_dist);
- return GED_OK;
- } else if (argc == 1) {
- if (!gedp->ged_gvp->gv_adc.anchor_dst) {
- if (incr_flag)
- gedp->ged_gvp->gv_adc.dv_dist += user_pt[0];
- else
- gedp->ged_gvp->gv_adc.dv_dist = user_pt[0];
-
- gedp->ged_gvp->gv_adc.dst = (gedp->ged_gvp->gv_adc.dv_dist *
INV_GED + 1.0) * M_SQRT1_2;
- }
-
- return GED_OK;
- }
-
- bu_vls_printf(gedp->ged_result_str, "The '%s odst' command accepts 0 or
1 argument\n", command);
- return GED_ERROR;
- }
-
- if (BU_STR_EQUAL(parameter, "dh")) {
- if (argc == 1) {
- if (!gedp->ged_gvp->gv_adc.anchor_pos) {
- gedp->ged_gvp->gv_adc.pos_grid[X] += user_pt[0] /
(gedp->ged_gvp->gv_scale * gedp->ged_wdbp->dbip->dbi_base2local);
- adc_grid_to_adc_view(&(gedp->ged_gvp->gv_adc),
gedp->ged_gvp->gv_view2model, GED_MAX);
- MAT4X3PNT(gedp->ged_gvp->gv_adc.pos_model,
gedp->ged_gvp->gv_view2model, gedp->ged_gvp->gv_adc.pos_view);
- }
-
- return GED_OK;
- }
-
- bu_vls_printf(gedp->ged_result_str, "The '%s dh' command requires 1
argument\n", command);
- return GED_ERROR;
- }
-
- if (BU_STR_EQUAL(parameter, "dv")) {
- if (argc == 1) {
- if (!gedp->ged_gvp->gv_adc.anchor_pos) {
- gedp->ged_gvp->gv_adc.pos_grid[Y] += user_pt[0] /
(gedp->ged_gvp->gv_scale * gedp->ged_wdbp->dbip->dbi_base2local);
- adc_grid_to_adc_view(&(gedp->ged_gvp->gv_adc),
gedp->ged_gvp->gv_view2model, GED_MAX);
- MAT4X3PNT(gedp->ged_gvp->gv_adc.pos_model,
gedp->ged_gvp->gv_view2model, gedp->ged_gvp->gv_adc.pos_view);
- }
-
- return GED_OK;
- }
-
- bu_vls_printf(gedp->ged_result_str, "The '%s dv' command requires 1
argument\n", command);
- return GED_ERROR;
- }
-
- if (BU_STR_EQUAL(parameter, "hv")) {
- if (argc == 0) {
- bu_vls_printf(gedp->ged_result_str, "%g %g",
- gedp->ged_gvp->gv_adc.pos_grid[X] *
gedp->ged_gvp->gv_scale * gedp->ged_wdbp->dbip->dbi_base2local,
- gedp->ged_gvp->gv_adc.pos_grid[Y] *
gedp->ged_gvp->gv_scale * gedp->ged_wdbp->dbip->dbi_base2local);
- return GED_OK;
- } else if (argc == 2) {
- if (!gedp->ged_gvp->gv_adc.anchor_pos) {
- if (incr_flag) {
- gedp->ged_gvp->gv_adc.pos_grid[X] += user_pt[X] /
(gedp->ged_gvp->gv_scale * gedp->ged_wdbp->dbip->dbi_base2local);
- gedp->ged_gvp->gv_adc.pos_grid[Y] += user_pt[Y] /
(gedp->ged_gvp->gv_scale * gedp->ged_wdbp->dbip->dbi_base2local);
- } else {
- gedp->ged_gvp->gv_adc.pos_grid[X] = user_pt[X] /
(gedp->ged_gvp->gv_scale * gedp->ged_wdbp->dbip->dbi_base2local);
- gedp->ged_gvp->gv_adc.pos_grid[Y] = user_pt[Y] /
(gedp->ged_gvp->gv_scale * gedp->ged_wdbp->dbip->dbi_base2local);
- }
-
- gedp->ged_gvp->gv_adc.pos_grid[Z] = 0.0;
- adc_grid_to_adc_view(&(gedp->ged_gvp->gv_adc),
gedp->ged_gvp->gv_view2model, GED_MAX);
- MAT4X3PNT(gedp->ged_gvp->gv_adc.pos_model,
gedp->ged_gvp->gv_view2model, gedp->ged_gvp->gv_adc.pos_model);
- }
-
- return GED_OK;
- }
-
- bu_vls_printf(gedp->ged_result_str, "The '%s hv' command requires 0 or
2 arguments\n", command);
- return GED_ERROR;
- }
-
- if (BU_STR_EQUAL(parameter, "dx")) {
- if (argc == 1) {
- if (!gedp->ged_gvp->gv_adc.anchor_pos) {
- gedp->ged_gvp->gv_adc.pos_model[X] += user_pt[0] *
gedp->ged_wdbp->dbip->dbi_local2base;
- adc_model_to_adc_view(&(gedp->ged_gvp->gv_adc),
gedp->ged_gvp->gv_model2view, GED_MAX);
- adc_view_to_adc_grid(&(gedp->ged_gvp->gv_adc),
gedp->ged_gvp->gv_model2view);
- }
-
- return GED_OK;
- }
-
- bu_vls_printf(gedp->ged_result_str, "The '%s dx' command requires 1
argument\n", command);
- return GED_ERROR;
- }
-
- if (BU_STR_EQUAL(parameter, "dy")) {
- if (argc == 1) {
- if (!gedp->ged_gvp->gv_adc.anchor_pos) {
- gedp->ged_gvp->gv_adc.pos_model[Y] += user_pt[0] *
gedp->ged_wdbp->dbip->dbi_local2base;
- adc_model_to_adc_view(&(gedp->ged_gvp->gv_adc),
gedp->ged_gvp->gv_model2view, GED_MAX);
- adc_view_to_adc_grid(&(gedp->ged_gvp->gv_adc),
gedp->ged_gvp->gv_model2view);
- }
-
- return GED_OK;
- }
-
- bu_vls_printf(gedp->ged_result_str, "The '%s dy' command requires 1
argument\n", command);
- return GED_ERROR;
- }
-
- if (BU_STR_EQUAL(parameter, "dz")) {
- if (argc == 1) {
- if (!gedp->ged_gvp->gv_adc.anchor_pos) {
- gedp->ged_gvp->gv_adc.pos_model[Z] += user_pt[0] *
gedp->ged_wdbp->dbip->dbi_local2base;
- adc_model_to_adc_view(&(gedp->ged_gvp->gv_adc),
gedp->ged_gvp->gv_model2view, GED_MAX);
- adc_view_to_adc_grid(&(gedp->ged_gvp->gv_adc),
gedp->ged_gvp->gv_model2view);
- }
-
- return GED_OK;
- }
-
- bu_vls_printf(gedp->ged_result_str, "The '%s dz' command requires 1
argument\n", command);
- return GED_ERROR;
- }
-
- if (BU_STR_EQUAL(parameter, "xyz")) {
- if (argc == 0) {
- VSCALE(scaled_pos, gedp->ged_gvp->gv_adc.pos_model,
gedp->ged_wdbp->dbip->dbi_base2local);
- bu_vls_printf(gedp->ged_result_str, "%g %g %g", V3ARGS(scaled_pos));
- return GED_OK;
- } else if (argc == 3) {
- VSCALE(user_pt, user_pt, gedp->ged_wdbp->dbip->dbi_local2base);
-
- if (incr_flag) {
- VADD2(gedp->ged_gvp->gv_adc.pos_model,
gedp->ged_gvp->gv_adc.pos_model, user_pt);
- } else {
- VMOVE(gedp->ged_gvp->gv_adc.pos_model, user_pt);
- }
-
- adc_model_to_adc_view(&(gedp->ged_gvp->gv_adc),
gedp->ged_gvp->gv_model2view, GED_MAX);
- adc_view_to_adc_grid(&(gedp->ged_gvp->gv_adc),
gedp->ged_gvp->gv_model2view);
-
- return GED_OK;
- }
-
- bu_vls_printf(gedp->ged_result_str, "The '%s xyz' command requires 0 or
3 arguments\n", command);
- return GED_ERROR;
- }
-
- if (BU_STR_EQUAL(parameter, "x")) {
- if (argc == 0) {
- bu_vls_printf(gedp->ged_result_str, "%d",
gedp->ged_gvp->gv_adc.dv_x);
- return GED_OK;
- } else if (argc == 1) {
- if (!gedp->ged_gvp->gv_adc.anchor_pos) {
- if (incr_flag) {
- gedp->ged_gvp->gv_adc.dv_x += user_pt[0];
- } else {
- gedp->ged_gvp->gv_adc.dv_x = user_pt[0];
- }
-
- gedp->ged_gvp->gv_adc.pos_view[X] = gedp->ged_gvp->gv_adc.dv_x
* INV_GED;
- gedp->ged_gvp->gv_adc.pos_view[Y] = gedp->ged_gvp->gv_adc.dv_y
* INV_GED;
- adc_view_to_adc_grid(&(gedp->ged_gvp->gv_adc),
gedp->ged_gvp->gv_model2view);
- MAT4X3PNT(gedp->ged_gvp->gv_adc.pos_model,
gedp->ged_gvp->gv_view2model, gedp->ged_gvp->gv_adc.pos_view);
- }
-
- return GED_OK;
- }
-
- bu_vls_printf(gedp->ged_result_str, "The '%s x' command requires 0 or 1
argument\n", command);
- return GED_ERROR;
- }
-
- if (BU_STR_EQUAL(parameter, "y")) {
- if (argc == 0) {
- bu_vls_printf(gedp->ged_result_str, "%d",
gedp->ged_gvp->gv_adc.dv_y);
- return GED_OK;
- } else if (argc == 1) {
- if (!gedp->ged_gvp->gv_adc.anchor_pos) {
- if (incr_flag) {
- gedp->ged_gvp->gv_adc.dv_y += user_pt[0];
- } else {
- gedp->ged_gvp->gv_adc.dv_y = user_pt[0];
- }
-
- gedp->ged_gvp->gv_adc.pos_view[X] = gedp->ged_gvp->gv_adc.dv_x
* INV_GED;
- gedp->ged_gvp->gv_adc.pos_view[Y] = gedp->ged_gvp->gv_adc.dv_y
* INV_GED;
- adc_view_to_adc_grid(&(gedp->ged_gvp->gv_adc),
gedp->ged_gvp->gv_model2view);
- MAT4X3PNT(gedp->ged_gvp->gv_adc.pos_model,
gedp->ged_gvp->gv_view2model, gedp->ged_gvp->gv_adc.pos_view);
- }
-
- return GED_OK;
- }
-
- bu_vls_printf(gedp->ged_result_str, "The '%s y' command requires 0 or 1
argument\n", command);
- return GED_ERROR;
- }
-
- if (BU_STR_EQUAL(parameter, "anchor_pos")) {
- if (argc == 0) {
- bu_vls_printf(gedp->ged_result_str, "%d",
gedp->ged_gvp->gv_adc.anchor_pos);
- return GED_OK;
- } else if (argc == 1) {
- i = (int)user_pt[X];
-
- if (i < 0 || 2 < i) {
- bu_vls_printf(gedp->ged_result_str, "The '%d anchor_pos'
parameter accepts values of 0, 1, or 2.", i);
- return GED_ERROR;
- }
-
- gedp->ged_gvp->gv_adc.anchor_pos = i;
- ged_calc_adc_pos(gedp->ged_gvp);
-
- return GED_OK;
- }
-
- bu_vls_printf(gedp->ged_result_str, "The '%s anchor_pos' command
accepts 0 or 1 argument\n", command);
- return GED_ERROR;
- }
-
- if (BU_STR_EQUAL(parameter, "anchor_a1")) {
- if (argc == 0) {
- bu_vls_printf(gedp->ged_result_str, "%d",
gedp->ged_gvp->gv_adc.anchor_a1);
- return GED_OK;
- } else if (argc == 1) {
- i = (int)user_pt[X];
-
- if (i)
- gedp->ged_gvp->gv_adc.anchor_a1 = 1;
- else
- gedp->ged_gvp->gv_adc.anchor_a1 = 0;
-
- ged_calc_adc_a1(gedp->ged_gvp);
-
- return GED_OK;
- }
-
- bu_vls_printf(gedp->ged_result_str, "The '%s anchor_a1' command accepts
0 or 1 argument\n", command);
- return GED_ERROR;
- }
-
- if (BU_STR_EQUAL(parameter, "anchorpoint_a1")) {
- if (argc == 0) {
- VSCALE(scaled_pos, gedp->ged_gvp->gv_adc.anchor_pt_a1,
gedp->ged_wdbp->dbip->dbi_base2local);
- bu_vls_printf(gedp->ged_result_str, "%g %g %g", V3ARGS(scaled_pos));
-
- return GED_OK;
- } else if (argc == 3) {
- VSCALE(user_pt, user_pt, gedp->ged_wdbp->dbip->dbi_local2base);
-
- if (incr_flag) {
- VADD2(gedp->ged_gvp->gv_adc.anchor_pt_a1,
gedp->ged_gvp->gv_adc.anchor_pt_a1, user_pt);
- } else {
- VMOVE(gedp->ged_gvp->gv_adc.anchor_pt_a1, user_pt);
- }
-
- ged_calc_adc_a1(gedp->ged_gvp);
-
- return GED_OK;
- }
-
- bu_vls_printf(gedp->ged_result_str, "The '%s anchorpoint_a1' command
accepts 0 or 3 arguments\n", command);
- return GED_ERROR;
- }
-
- if (BU_STR_EQUAL(parameter, "anchor_a2")) {
- if (argc == 0) {
- bu_vls_printf(gedp->ged_result_str, "%d",
gedp->ged_gvp->gv_adc.anchor_a2);
-
- return GED_OK;
- } else if (argc == 1) {
- i = (int)user_pt[X];
-
- if (i)
- gedp->ged_gvp->gv_adc.anchor_a2 = 1;
- else
- gedp->ged_gvp->gv_adc.anchor_a2 = 0;
-
- ged_calc_adc_a2(gedp->ged_gvp);
-
- return GED_OK;
- }
-
- bu_vls_printf(gedp->ged_result_str, "The '%s anchor_a2' command accepts
0 or 1 argument\n", command);
- return GED_ERROR;
- }
-
- if (BU_STR_EQUAL(parameter, "anchorpoint_a2")) {
- if (argc == 0) {
- VSCALE(scaled_pos, gedp->ged_gvp->gv_adc.anchor_pt_a2,
gedp->ged_wdbp->dbip->dbi_base2local);
-
- bu_vls_printf(gedp->ged_result_str, "%g %g %g", V3ARGS(scaled_pos));
-
- return GED_OK;
- } else if (argc == 3) {
- VSCALE(user_pt, user_pt, gedp->ged_wdbp->dbip->dbi_local2base);
-
- if (incr_flag) {
- VADD2(gedp->ged_gvp->gv_adc.anchor_pt_a2,
gedp->ged_gvp->gv_adc.anchor_pt_a2, user_pt);
- } else {
- VMOVE(gedp->ged_gvp->gv_adc.anchor_pt_a2, user_pt);
- }
-
- ged_calc_adc_a2(gedp->ged_gvp);
-
- return GED_OK;
- }
-
- bu_vls_printf(gedp->ged_result_str, "The '%s anchorpoint_a2' command
accepts 0 or 3 arguments\n", command);
- return GED_ERROR;
- }
-
- if (BU_STR_EQUAL(parameter, "anchor_dst")) {
- if (argc == 0) {
- bu_vls_printf(gedp->ged_result_str, "%d",
gedp->ged_gvp->gv_adc.anchor_dst);
-
- return GED_OK;
- } else if (argc == 1) {
- i = (int)user_pt[X];
-
- if (i) {
- gedp->ged_gvp->gv_adc.anchor_dst = 1;
- } else
- gedp->ged_gvp->gv_adc.anchor_dst = 0;
-
- ged_calc_adc_dst(gedp->ged_gvp);
-
- return GED_OK;
- }
-
- bu_vls_printf(gedp->ged_result_str, "The '%s anchor_dst' command
accepts 0 or 1 argument\n", command);
- return GED_ERROR;
- }
-
- if (BU_STR_EQUAL(parameter, "anchorpoint_dst")) {
- if (argc == 0) {
- VSCALE(scaled_pos, gedp->ged_gvp->gv_adc.anchor_pt_dst,
gedp->ged_wdbp->dbip->dbi_base2local);
- bu_vls_printf(gedp->ged_result_str, "%g %g %g", V3ARGS(scaled_pos));
-
- return GED_OK;
- } else if (argc == 3) {
- VSCALE(user_pt, user_pt, gedp->ged_wdbp->dbip->dbi_local2base);
-
- if (incr_flag) {
- VADD2(gedp->ged_gvp->gv_adc.anchor_pt_dst,
gedp->ged_gvp->gv_adc.anchor_pt_dst, user_pt);
- } else {
- VMOVE(gedp->ged_gvp->gv_adc.anchor_pt_dst, user_pt);
- }
-
- ged_calc_adc_dst(gedp->ged_gvp);
-
- return GED_OK;
- }
-
- bu_vls_printf(gedp->ged_result_str, "The '%s anchorpoint_dst' command
accepts 0 or 3 arguments\n", command);
- return GED_ERROR;
- }
-
- if (BU_STR_EQUAL(parameter, "reset")) {
- if (argc == 0) {
- adc_reset(&(gedp->ged_gvp->gv_adc), gedp->ged_gvp->gv_view2model,
gedp->ged_gvp->gv_model2view);
-
- return GED_OK;
- }
-
- bu_vls_printf(gedp->ged_result_str, "The '%s reset' command accepts no
arguments\n", command);
- return GED_ERROR;
- }
-
- if (BU_STR_EQUAL(parameter, "vars")) {
- adc_vls_print(gedp->ged_gvp, gedp->ged_wdbp->dbip->dbi_base2local,
gedp->ged_result_str);
- return GED_OK;
- }
-
- if (BU_STR_EQUAL(parameter, "help")) {
- adc_usage(gedp->ged_result_str, command);
- return GED_HELP;
- }
-
- bu_vls_printf(gedp->ged_result_str, "%s: unrecognized command '%s'\n",
command, parameter);
- adc_usage(gedp->ged_result_str, command);
-
- return GED_ERROR;
-}
-
-
-void
-ged_calc_adc_pos(struct bview *gvp)
-{
- if (gvp->gv_adc.anchor_pos == 1) {
- adc_model_to_adc_view(&(gvp->gv_adc), gvp->gv_model2view, GED_MAX);
- adc_view_to_adc_grid(&(gvp->gv_adc), gvp->gv_model2view);
- } else if (gvp->gv_adc.anchor_pos == 2) {
- adc_grid_to_adc_view(&(gvp->gv_adc), gvp->gv_view2model, GED_MAX);
- MAT4X3PNT(gvp->gv_adc.pos_model, gvp->gv_view2model,
gvp->gv_adc.pos_view);
- } else {
- adc_view_to_adc_grid(&(gvp->gv_adc), gvp->gv_model2view);
- MAT4X3PNT(gvp->gv_adc.pos_model, gvp->gv_view2model,
gvp->gv_adc.pos_view);
- }
-}
-
-
-void
-ged_calc_adc_a1(struct bview *gvp)
-{
- if (gvp->gv_adc.anchor_a1) {
- fastf_t dx, dy;
- point_t view_pt;
-
- MAT4X3PNT(view_pt, gvp->gv_model2view, gvp->gv_adc.anchor_pt_a1);
- dx = view_pt[X] * GED_MAX - gvp->gv_adc.dv_x;
- dy = view_pt[Y] * GED_MAX - gvp->gv_adc.dv_y;
-
- if (!ZERO(dx) || !ZERO(dy)) {
- gvp->gv_adc.a1 = RAD2DEG*atan2(dy, dx);
- gvp->gv_adc.dv_a1 = (1.0 - (gvp->gv_adc.a1 / 45.0)) * GED_MAX;
- }
- }
-}
-
-
-void
-ged_calc_adc_a2(struct bview *gvp)
-{
- if (gvp->gv_adc.anchor_a2) {
- fastf_t dx, dy;
- point_t view_pt;
-
- MAT4X3PNT(view_pt, gvp->gv_model2view, gvp->gv_adc.anchor_pt_a2);
- dx = view_pt[X] * GED_MAX - gvp->gv_adc.dv_x;
- dy = view_pt[Y] * GED_MAX - gvp->gv_adc.dv_y;
-
- if (!ZERO(dx) || !ZERO(dy)) {
- gvp->gv_adc.a2 = RAD2DEG*atan2(dy, dx);
- gvp->gv_adc.dv_a2 = (1.0 - (gvp->gv_adc.a2 / 45.0)) * GED_MAX;
- }
- }
-}
-
-
-void
-ged_calc_adc_dst(struct bview *gvp)
-{
- if (gvp->gv_adc.anchor_dst) {
- fastf_t dist;
- fastf_t dx, dy;
- point_t view_pt;
-
- MAT4X3PNT(view_pt, gvp->gv_model2view, gvp->gv_adc.anchor_pt_dst);
-
- dx = view_pt[X] * GED_MAX - gvp->gv_adc.dv_x;
- dy = view_pt[Y] * GED_MAX - gvp->gv_adc.dv_y;
- dist = sqrt(dx * dx + dy * dy);
- gvp->gv_adc.dst = dist * INV_GED;
- gvp->gv_adc.dv_dist = (dist / M_SQRT1_2) - GED_MAX;
- } else
- gvp->gv_adc.dst = (gvp->gv_adc.dv_dist * INV_GED + 1.0) * M_SQRT1_2;
-}
-
-
-/*
- * Local Variables:
- * mode: C
- * tab-width: 8
- * indent-tabs-mode: t
- * c-file-style: "stroustrup"
- * End:
- * ex: shiftwidth=4 tabstop=8
- */
Deleted: brlcad/trunk/src/libged/adjust.c
===================================================================
--- brlcad/trunk/src/libged/adjust.c 2020-07-17 17:40:32 UTC (rev 76365)
+++ brlcad/trunk/src/libged/adjust.c 2020-07-17 17:59:33 UTC (rev 76366)
@@ -1,96 +0,0 @@
-/* A D J U S T . C
- * BRL-CAD
- *
- * Copyright (c) 2008-2020 United States Government as represented by
- * the U.S. Army Research Laboratory.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * version 2.1 as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this file; see the file named COPYING for more
- * information.
- */
-/** @file libged/adjust.c
- *
- * The adjust command.
- *
- */
-
-#include "common.h"
-
-#include <stdlib.h>
-#include <ctype.h>
-#include <string.h>
-
-#include "ged.h"
-
-
-int
-ged_adjust(struct ged *gedp, int argc, const char *argv[])
-{
- int status;
- struct directory *dp;
- char *name;
- struct rt_db_internal intern;
- static const char *usage = "object attr value ?attr value?";
-
- GED_CHECK_DATABASE_OPEN(gedp, GED_ERROR);
- GED_CHECK_READ_ONLY(gedp, GED_ERROR);
- GED_CHECK_ARGC_GT_0(gedp, argc, GED_ERROR);
-
- /* initialize result */
- bu_vls_trunc(gedp->ged_result_str, 0);
-
- /* must be wanting help */
- if (argc == 1) {
- bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
- return GED_HELP;
- }
-
- if (argc < 4) {
- bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
- return GED_ERROR;
- }
-
- name = (char *)argv[1];
-
- GED_DB_LOOKUP(gedp, dp, name, LOOKUP_QUIET, GED_ERROR);
-
- GED_DB_GET_INTERNAL(gedp, &intern, dp, (matp_t)NULL, &rt_uniresource,
GED_ERROR);
- RT_CK_DB_INTERNAL(&intern);
-
- /* Find out what type of object we are dealing with and tweak it. */
- RT_CK_FUNCTAB(intern.idb_meth);
-
- if (!intern.idb_meth->ft_adjust) {
- bu_vls_printf(gedp->ged_result_str, "wdb_export(%s) adjust failure",
name);
- return GED_ERROR;
- }
-
- status = intern.idb_meth->ft_adjust(gedp->ged_result_str, &intern, argc-2,
argv+2);
- if (status == GED_OK && wdb_put_internal(gedp->ged_wdbp, name, &intern,
1.0) < 0) {
- bu_vls_printf(gedp->ged_result_str, "wdb_export(%s) failure", name);
- rt_db_free_internal(&intern);
- return GED_ERROR;
- }
-
- return GED_OK;
-}
-
-
-/*
- * Local Variables:
- * tab-width: 8
- * mode: C
- * indent-tabs-mode: t
- * c-file-style: "stroustrup"
- * End:
- * ex: shiftwidth=4 tabstop=8
- */
Deleted: brlcad/trunk/src/libged/ae2dir.c
===================================================================
--- brlcad/trunk/src/libged/ae2dir.c 2020-07-17 17:40:32 UTC (rev 76365)
+++ brlcad/trunk/src/libged/ae2dir.c 2020-07-17 17:59:33 UTC (rev 76366)
@@ -1,94 +0,0 @@
-/* A E 2 D I R . C
- * BRL-CAD
- *
- * Copyright (c) 2008-2020 United States Government as represented by
- * the U.S. Army Research Laboratory.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * version 2.1 as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this file; see the file named COPYING for more
- * information.
- */
-/** @file libged/ae2dir.c
- *
- * The ae2dir command.
- *
- */
-
-#include "common.h"
-
-#include <stdlib.h>
-#include <ctype.h>
-#include <string.h>
-
-#include "./ged_private.h"
-
-
-int
-ged_ae2dir(struct ged *gedp, int argc, const char *argv[])
-{
- double az, el;
- vect_t dir;
- int iflag;
- static const char *usage = "[-i] az el";
-
- GED_CHECK_DATABASE_OPEN(gedp, GED_ERROR);
- GED_CHECK_ARGC_GT_0(gedp, argc, GED_ERROR);
-
- /* initialize result */
- bu_vls_trunc(gedp->ged_result_str, 0);
-
- /* must be wanting help */
- if (argc == 1) {
- bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
- return GED_HELP;
- }
-
- if (argv[1][0] == '-' && argv[1][1] == 'i' && argv[1][2] == '\0') {
- iflag = 1;
- --argc;
- ++argv;
- } else
- iflag = 0;
-
- if (argc != 3) {
- bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
- return GED_ERROR;
- }
-
- if (sscanf(argv[1], "%lf", &az) != 1 ||
- sscanf(argv[2], "%lf", &el) != 1) {
- bu_vls_printf(gedp->ged_result_str, "Usage: %s %s", argv[0], usage);
- return GED_ERROR;
- }
-
- az *= DEG2RAD;
- el *= DEG2RAD;
- V3DIR_FROM_AZEL(dir, az, el);
-
- if (iflag)
- VSCALE(dir, dir, -1);
-
- bn_encode_vect(gedp->ged_result_str, dir, 1);
-
- return GED_OK;
-}
-
-
-/*
- * Local Variables:
- * tab-width: 8
- * mode: C
- * indent-tabs-mode: t
- * c-file-style: "stroustrup"
- * End:
- * ex: shiftwidth=4 tabstop=8
- */
Deleted: brlcad/trunk/src/libged/analyze.c
===================================================================
--- brlcad/trunk/src/libged/analyze.c 2020-07-17 17:40:32 UTC (rev 76365)
+++ brlcad/trunk/src/libged/analyze.c 2020-07-17 17:59:33 UTC (rev 76366)
@@ -1,1324 +0,0 @@
-/* A N A L Y Z E . C
- * BRL-CAD
- *
- * Copyright (c) 1985-2020 United States Government as represented by
- * the U.S. Army Research Laboratory.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * version 2.1 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this file; see the file named COPYING for more
- * information.
- */
-/** @file libged/analyze.c
- *
- * The analyze command.
- *
- */
-
-#include "common.h"
-
-#include <math.h>
-#include <string.h>
-#include <assert.h>
-
-
-
-#include "vmath.h"
-#include "bn.h"
-#include "bg/polygon.h"
-#include "rt/arb_edit.h"
-#include "raytrace.h"
-#include "rt/geom.h"
-
-#include "./ged_private.h"
-
-/**
- * TODO: primitives that still need implementing
- * ehy
- * metaball
- * nmg
- */
-
-/* Conversion factor for Gallons to cubic millimeters */
-#define GALLONS_TO_MM3 3785411.784
-
-
-/* ARB face printout array */
-static const int prface[5][6] = {
- {123, 124, 234, 134, -111, -111}, /* ARB4 */
- {1234, 125, 235, 345, 145, -111}, /* ARB5 */
- {1234, 2365, 1564, 512, 634, -111}, /* ARB6 */
- {1234, 567, 145, 2376, 1265, 4375}, /* ARB7 */
- {1234, 5678, 1584, 2376, 1265, 4378}, /* ARB8 */
-};
-
-
-/* edge definition array */
-static const int nedge[5][24] = {
- {0, 1, 1, 2, 2, 0, 0, 3, 3, 2, 1, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1}, /* ARB4 */
- {0, 1, 1, 2, 2, 3, 0, 3, 0, 4, 1, 4, 2, 4, 3, 4, -1, -1, -1, -1, -1, -1,
-1, -1}, /* ARB5 */
- {0, 1, 1, 2, 2, 3, 0, 3, 0, 4, 1, 4, 2, 5, 3, 5, 4, 5, -1, -1, -1, -1, -1,
-1}, /* ARB6 */
- {0, 1, 1, 2, 2, 3, 0, 3, 0, 4, 3, 4, 1, 5, 2, 6, 4, 5, 5, 6, 4, 6, -1,
-1}, /* ARB7 */
- {0, 1, 1, 2, 2, 3, 0, 3, 0, 4, 4, 5, 1, 5, 5, 6, 6, 7, 4, 7, 3, 7, 2, 6},
/* ARB8 */
-};
-
-
-/* contains information used to analyze a polygonal face */
-struct poly_face
-{
- char label[5];
- size_t npts;
- point_t *pts;
- plane_t plane_eqn;
- fastf_t area;
-};
-
-
-#define POLY_FACE_INIT_ZERO { { 0, 0, 0, 0, 0 }, 0, NULL, HINIT_ZERO, 0.0 }
-
-#define ADD_PT(face, pt) do { VMOVE((face).pts[(face).npts], (pt));
(face).npts++; } while (0)
-
-/* structures and subroutines for analyze pretty printing */
-
-#define FBUFSIZ 100
-#define NFIELDS 9
-#define NOT_A_PLANE -1
-typedef struct row_field
-{
- int nchars;
- char buf[FBUFSIZ];
-} field_t;
-
-typedef struct table_row
-{
- int nfields;
- field_t fields[NFIELDS];
-} row_t;
-
-typedef struct table
-{
- int nrows;
- row_t *rows;
-} table_t;
-
-void get_dashes(field_t *f, const int ndashes)
-{
- int i;
- f->buf[0] = '\0';
- for (i = 0; i < ndashes; ++i) {
- bu_strlcat(f->buf, "-", FBUFSIZ);
- }
- f->nchars = ndashes;
-}
-
-
-void print_volume_table(struct ged *gedp
- , const fastf_t tot_vol
- , const fastf_t tot_area
- , const fastf_t tot_gallons
- )
-{
-
-/* table format
-
- +------------------------------------+
- | Volume = 7999999999.99999905 |
- | Surface Area = 24000000.00000000 |
- | Gallons = 2113.37641887 |
- +------------------------------------+
-
-*/
- /* track actual table column widths */
- /* this table has 1 column (plus a name column) */
- int maxwidth[2] = {0, 0};
- field_t dashes;
- char* fnames[3] = {"Volume",
- "Surface Area",
- "Gallons"};
- int indent = 4; /* number spaces to indent the table */
- int table_width_chars;
- table_t table;
- int i, nd, field;
-
- table.nrows = 3;
- table.rows = (row_t *)bu_calloc(3, sizeof(row_t), "print_volume_table:
rows");
- for (i = 0; i < table.nrows; ++i) {
- fastf_t val = 0.0;
-
- /* field 0 */
- field = 0;
- table.rows[i].fields[0].nchars =
snprintf(table.rows[i].fields[field].buf, FBUFSIZ, "%s",
- fnames[i]);
- if (maxwidth[field] < table.rows[i].fields[field].nchars)
- maxwidth[field] = table.rows[i].fields[field].nchars;
-
- if (i == 0) {
- val = tot_vol;
- } else if (i == 1) {
- val = tot_area;
- } else if (i == 2) {
- val = tot_gallons;
- }
-
- /* field 1 */
- field = 1;
- if (val < 0) {
- table.rows[i].fields[1].nchars =
snprintf(table.rows[i].fields[field].buf, FBUFSIZ, "COULD NOT DETERMINE");
- } else {
- table.rows[i].fields[1].nchars =
snprintf(table.rows[i].fields[field].buf, FBUFSIZ, "%10.8f", val);
- }
- if (maxwidth[field] < table.rows[i].fields[field].nchars)
- maxwidth[field] = table.rows[i].fields[field].nchars;
- }
-
- /* get total table width */
- table_width_chars = maxwidth[0] + maxwidth[1];
- table_width_chars += 2 + 2; /* 2 chars at each end of a row */
- table_width_chars += 3; /* ' = ' between the two fields of a row */
-
- /* newline following previous table */
- bu_vls_printf(gedp->ged_result_str, "\n");
-
- /* header row 1 */
- nd = table_width_chars - 4;
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "%-*.*s+-%-*.*s-+\n",
- indent, indent, " ",
- nd, nd, dashes.buf);
-
- /* the three data rows */
- for (i = 0; i < table.nrows; ++i) {
- bu_vls_printf(gedp->ged_result_str, "%-*.*s| %-*.*s = %*.*s |\n",
- indent, indent, " ",
- maxwidth[0], maxwidth[0], table.rows[i].fields[0].buf,
- maxwidth[1], maxwidth[1], table.rows[i].fields[1].buf);
- }
-
- /* closing table row */
- bu_vls_printf(gedp->ged_result_str, "%-*.*s+-%-*.*s-+\n",
- indent, indent, " ",
- nd, nd, dashes.buf);
- bu_free((char *)table.rows, "print_volume_table: rows");
-}
-
-
-void print_edges_table(struct ged *gedp, table_t *table)
-{
-
-/* table header
-
-
+--------------------+--------------------+--------------------+--------------------+
- | EDGE LEN | EDGE LEN | EDGE LEN | EDGE
LEN |
-
+--------------------+--------------------+--------------------+--------------------+
-
-*/
-
- int i;
- int tcol, nd, nrow, nrows;
- int maxwidth[] = {0, 0, 0,
- 0, 0, 0,
- 0, 0};
- int indent = 2;
- field_t dashes;
- char EDGE[] = {"EDGE"};
- int elen = strlen(EDGE);
- char LEN[] = {"LENGTH"};
- int llen = strlen(LEN);
- char buf[FBUFSIZ];
-
- /* put four edges per row making 8 columns */
- /* this table has 8 columns per row: 2 columns per edge; 4 edges per row */
-
- /* collect max table column widths */
- tcol = 0;
- for (i = 0; i < table->nrows; ++i) {
- /* field 0 */
- int field = 0;
- if (maxwidth[tcol] < table->rows[i].fields[field].nchars)
- maxwidth[tcol] = table->rows[i].fields[field].nchars;
- if (maxwidth[tcol] < elen)
- maxwidth[tcol] = elen;
-
- /* field 1 */
- field = 1;
- if (maxwidth[tcol+1] < table->rows[i].fields[field].nchars)
- maxwidth[tcol+1] = table->rows[i].fields[field].nchars;
- if (maxwidth[tcol] < llen)
- maxwidth[tcol] = llen;
-
- /* iterate on columns */
- tcol += 2;
- tcol = tcol > 6 ? 0 : tcol;
- }
-
- /* header row 1 */
- /* print dashes in 4 sets */
- nd = maxwidth[0] + maxwidth[1] + 3; /* 1 space between numbers and one at
each end */
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "%-*.*s+%-*.*s",
- indent, indent, " ",
- nd, nd, dashes.buf);
- nd = maxwidth[2] + maxwidth[3] + 3; /* 1 space between numbers and one at
each end */
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "+%-*.*s",
- nd, nd, dashes.buf);
- nd = maxwidth[4] + maxwidth[5] + 3; /* 1 space between numbers and one at
each end */
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "+%-*.*s",
- nd, nd, dashes.buf);
- nd = maxwidth[6] + maxwidth[7] + 3; /* 1 space between numbers and one at
each end */
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "+%-*.*s+\n",
- nd, nd, dashes.buf);
-
- /* header row 2 */
- /* print titles in 4 sets */
-
- /* bu_vls_printf can't handle this at the moment */
- bu_vls_printf(gedp->ged_result_str, "%-*.*s| %-*.*s %*.*s ",
- indent, indent, " ",
- maxwidth[0], maxwidth[0], EDGE,
- maxwidth[1], maxwidth[1], LEN);
- bu_vls_printf(gedp->ged_result_str, "| %-*.*s %*.*s ",
- maxwidth[2], maxwidth[2], EDGE,
- maxwidth[3], maxwidth[3], LEN);
- bu_vls_printf(gedp->ged_result_str, "| %-*.*s %*.*s ",
- maxwidth[4], maxwidth[4], EDGE,
- maxwidth[5], maxwidth[5], LEN);
- bu_vls_printf(gedp->ged_result_str, "| %-*.*s %*.*s |\n",
- maxwidth[6], maxwidth[6], EDGE,
- maxwidth[7], maxwidth[7], LEN);
-
- /* header row 3 */
- /* print dashes in 4 sets */
- nd = maxwidth[0] + maxwidth[1] + 3; /* 1 space between numbers and one at
each end */
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "%-*.*s+%-*.*s",
- indent, indent, " ",
- nd, nd, dashes.buf);
- nd = maxwidth[2] + maxwidth[3] + 3; /* 1 space between numbers and one at
each end */
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "+%-*.*s",
- nd, nd, dashes.buf);
- nd = maxwidth[4] + maxwidth[5] + 3; /* 1 space between numbers and one at
each end */
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "+%-*.*s",
- nd, nd, dashes.buf);
- nd = maxwidth[6] + maxwidth[7] + 3; /* 1 space between numbers and one at
each end */
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "+%-*.*s+\n",
- nd, nd, dashes.buf);
-
- /* print the data lines */
- /* collect max table column widths */
- tcol = 0;
- nrow = 0;
- for (i = 0; i < table->nrows; ++i) {
- int field;
-
- if (tcol == 0) {
- /* need to start a row */
- snprintf(buf, FBUFSIZ, "%-*.*s|",
- indent, indent, " ");
- bu_vls_printf(gedp->ged_result_str, "%s", buf);
- }
-
- /* data in sets of two */
- /* field 0 */
- field = 0;
- /* FIXME: using snprintf because bu_vls_printf is broken for complex
formats */
- snprintf(buf, FBUFSIZ, " %-*.*s",
- maxwidth[tcol], maxwidth[tcol],
table->rows[i].fields[field].buf);
- bu_vls_printf(gedp->ged_result_str, "%s", buf);
-
- /* field 1 */
- field = 1;
- /* FIXME: using snprintf because bu_vls_printf is broken for complex
formats */
- snprintf(buf, FBUFSIZ, " %-*.*s |",
- maxwidth[tcol+1], maxwidth[tcol+1],
table->rows[i].fields[field].buf);
- bu_vls_printf(gedp->ged_result_str, "%s", buf);
-
- /* iterate on columns */
- tcol += 2;
-
- if (tcol > 6) {
- /* time for a newline to end the row */
- bu_vls_printf(gedp->ged_result_str, "\n");
- tcol = 0;
- ++nrow;
- }
- }
-
- /* we may have a row to finish */
- nrows = table->nrows % 4;
- if (nrows) {
- assert(tcol < 8);
-
- /* write blanks */
- while (tcol < 7) {
-
- /* data in sets of two */
- /* this is field 0 */
- /* FIXME: using snprintf because bu_vls_printf is broken for
complex formats */
- snprintf(buf, FBUFSIZ, " %-*.*s",
- maxwidth[tcol], maxwidth[tcol], " ");
- bu_vls_printf(gedp->ged_result_str, "%s", buf);
-
- /* this is field 1 */
- /* FIXME: using snprintf because bu_vls_printf is broken for
complex formats */
- snprintf(buf, FBUFSIZ, " %-*.*s |",
- maxwidth[tcol+1], maxwidth[tcol+1], " ");
- bu_vls_printf(gedp->ged_result_str, "%s", buf);
-
- /* iterate on columns */
- tcol += 2;
-
- if (tcol > 6) {
- /* time for a newline to end the row */
- bu_vls_printf(gedp->ged_result_str, "\n");
- }
- }
- }
-
- /* close the table */
- /* print dashes in 4 sets */
- nd = maxwidth[0] + maxwidth[1] + 3; /* 1 space between numbers and one at
each end */
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "%-*.*s+%-*.*s",
- indent, indent, " ",
- nd, nd, dashes.buf);
- nd = maxwidth[2] + maxwidth[3] + 3; /* 1 space between numbers and one at
each end */
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "+%-*.*s",
- nd, nd, dashes.buf);
- nd = maxwidth[4] + maxwidth[5] + 3; /* 1 space between numbers and one at
each end */
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "+%-*.*s",
- nd, nd, dashes.buf);
- nd = maxwidth[6] + maxwidth[7] + 3; /* 1 space between numbers and one at
each end */
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "+%-*.*s+\n",
- nd, nd, dashes.buf);
-}
-
-
-void print_faces_table(struct ged *gedp, table_t *table)
-{
-
-/* table header
-
-
+------+-----------------------------+--------------------------------------------------+-----------------+
- | FACE | ROT FB | PLANE EQUATION
| SURFACE AREA |
-
+------+-----------------------------+--------------------------------------------------+-----------------+
-
-*/
-
- /* track actual table column widths */
- /* this table has 8 columns */
- int maxwidth[8] = {0, 0, 0,
- 0, 0, 0,
- 0, 0};
- int i, j;
- int c0, h1a, h1b, h1c;
- int h2a, h2b, h2c;
- int c2, c2a, c2b, c2c;
- int f7, f7a, f7b, f7c;
- int nd, tnd;
- field_t dashes;
- char ROT[] = {"ROT"};
- char FB[] = {"FB"};
- char PA[] = {"PLANE EQUATION"};
- char SA[] = {"SURFACE AREA"};
-
- /* get max fields widths */
- for (i = 0; i < table->nrows; ++i) {
- for (j = 0; j < table->rows[i].nfields; ++j) {
- if (table->rows[i].fields[j].nchars > maxwidth[j])
- maxwidth[j] = table->rows[i].fields[j].nchars;
- }
- }
-
- /* blank line following previous table */
- bu_vls_printf(gedp->ged_result_str, "\n");
-
- /* get max width of header columns (not counting single space on either
side) */
- c0 = maxwidth[0] > 4 ? maxwidth[0] : 4;
-
- /* print "ROT" in center of field 1 space */
- h1b = strlen(ROT);
- h1a = (maxwidth[1] - h1b)/2;
- h1c = (maxwidth[1] - h1b - h1a);
-
- /* print "FB" in center of field 2 space */
- h2b = strlen(FB);
- h2a = (maxwidth[2] - h2b)/2;
- h2c = (maxwidth[2] - h2b - h2a);
-
- /* get width of subcolumns of header column 2 */
- /* print "PLANE EQUATION" in center of columns 2 space */
- c2 = maxwidth[3] + maxwidth[4] + maxwidth[5] + maxwidth[6] + 3; /* 3
spaces between fields */
- c2b = strlen(PA);
- c2a = (c2 - c2b)/2;
- c2c = (c2 - c2b - c2a);
-
- /* print "SURFACE AREA" in center of field 7 space */
- f7b = strlen(SA);
- f7 = maxwidth[7] > f7b ? maxwidth[7] : f7b;
- f7a = (f7 - f7b)/2;
- f7c = (f7 - f7b - f7a);
-
- /* print the pieces */
-
- /* header row 1 */
- bu_vls_printf(gedp->ged_result_str, "+-");
- nd = c0; tnd = nd;
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "%-*.*s",
- nd, nd, dashes.buf);
- bu_vls_printf(gedp->ged_result_str, "-+-");
- nd = h1a + h1b + h1c + 1 + h2a + h2b + h2c; tnd += nd + 3;
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "%*.*s",
- nd, nd, dashes.buf);
- bu_vls_printf(gedp->ged_result_str, "-+-");
- nd = c2a + c2b + c2c; tnd += nd + 3;
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "%*.*s",
- nd, nd, dashes.buf);
- bu_vls_printf(gedp->ged_result_str, "-+-");
- nd = f7a + f7b + f7c; tnd += nd + 3;
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "%*.*s",
- nd, nd, dashes.buf);
- bu_vls_printf(gedp->ged_result_str, "-+\n");
-
- /* header row 2 */
- bu_vls_printf(gedp->ged_result_str, "| ");
-
- bu_vls_printf(gedp->ged_result_str, "%-*.*s", c0, c0, "FACE");
-
- bu_vls_printf(gedp->ged_result_str, " | ");
-
-
- bu_vls_printf(gedp->ged_result_str, "%*.*s", h1a, h1a, " ");
-
- bu_vls_printf(gedp->ged_result_str, "%*.*s", h1b, h1b, ROT);
-
- bu_vls_printf(gedp->ged_result_str, "%*.*s", h1c+h2a, h1c+h2a, " ");
-
- bu_vls_printf(gedp->ged_result_str, "%*.*s", h2b, h2b, FB);
-
- bu_vls_printf(gedp->ged_result_str, "%*.*s ", h2c, h2c, " ");
-
-
- bu_vls_printf(gedp->ged_result_str, " | ");
-
-
- bu_vls_printf(gedp->ged_result_str, "%*.*s", c2a, c2a, " ");
-
- bu_vls_printf(gedp->ged_result_str, "%*.*s", c2b, c2b, PA);
-
- bu_vls_printf(gedp->ged_result_str, "%*.*s", c2c, c2c, " ");
-
-
- bu_vls_printf(gedp->ged_result_str, " | ");
-
- bu_vls_printf(gedp->ged_result_str, "%*.*s", f7a, f7a, " ");
-
- bu_vls_printf(gedp->ged_result_str, "%*.*s", f7b, f7b, SA);
-
- bu_vls_printf(gedp->ged_result_str, "%*.*s", f7c, f7c, " ");
-
- bu_vls_printf(gedp->ged_result_str, " |\n");
-
- /* header row 3 */
- bu_vls_printf(gedp->ged_result_str, "+-");
- nd = c0; tnd = nd;
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "%-*.*s",
- nd, nd, dashes.buf);
- bu_vls_printf(gedp->ged_result_str, "-+-");
- nd = h1a + h1b + h1c + 1 + h2a + h2b + h2c; tnd += nd + 3;
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "%*.*s",
- nd, nd, dashes.buf);
- bu_vls_printf(gedp->ged_result_str, "-+-");
- nd = c2a + c2b + c2c; tnd += nd + 3;
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "%*.*s",
- nd, nd, dashes.buf);
- bu_vls_printf(gedp->ged_result_str, "-+-");
- nd = f7a + f7b + f7c; tnd += nd + 3;
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "%*.*s",
- nd, nd, dashes.buf);
- bu_vls_printf(gedp->ged_result_str, "-+\n");
-
- /* output table data rows */
- for (i = 0; i < table->nrows; ++i) {
- /* may not have a row with data */
- if (table->rows[i].nfields == 0)
- continue;
- if (table->rows[i].nfields == NOT_A_PLANE)
- bu_vls_printf(gedp->ged_result_str, "***NOT A PLANE ***");
-
- bu_vls_printf(gedp->ged_result_str, "|");
- for (j = 0; j < table->rows[i].nfields; ++j) {
- assert(table->rows[i].fields[j].buf);
- bu_vls_printf(gedp->ged_result_str, " %*.*s",
- maxwidth[j], maxwidth[j],
- table->rows[i].fields[j].buf);
- /* do we need a separator? */
- if (j == 0 || j == 2 || j == 6 || j == 7)
- bu_vls_printf(gedp->ged_result_str, " |");
- }
- /* close the row */
- bu_vls_printf(gedp->ged_result_str, "\n");
- }
-
- /* close the table with the ender row */
- bu_vls_printf(gedp->ged_result_str, "+-");
- nd = c0; tnd = nd;
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "%-*.*s",
- nd, nd, dashes.buf);
- bu_vls_printf(gedp->ged_result_str, "-+-");
- nd = h1a + h1b + h1c + 1 + h2a + h2b + h2c; tnd += nd + 3;
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "%*.*s",
- nd, nd, dashes.buf);
- bu_vls_printf(gedp->ged_result_str, "-+-");
- nd = c2a + c2b + c2c; tnd += nd + 3;
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "%*.*s",
- nd, nd, dashes.buf);
- bu_vls_printf(gedp->ged_result_str, "-+-");
- nd = f7a + f7b + f7c; tnd += nd + 3;
- get_dashes(&dashes, nd);
- bu_vls_printf(gedp->ged_result_str, "%*.*s",
- nd, nd, dashes.buf);
- bu_vls_printf(gedp->ged_result_str, "-+\n");
-}
-
-
-/**
- * general analyze function for primitives that can be analyzed using volume
- * and surface area functions from the rt_functab.
- * Currently used for:
- * - ell
- * - tor
- * - tgc
- * - rpc
- * - eto
- * - epa
- * - part
- * - rhc
- */
-HIDDEN void
-analyze_general(struct ged *gedp, const struct rt_db_internal *ip)
-{
- fastf_t vol, area;
- point_t centroid;
-
- vol = area = -1.0;
-
- if (OBJ[ip->idb_minor_type].ft_volume) {
- OBJ[ip->idb_minor_type].ft_volume(&vol, ip);
- }
- if (OBJ[ip->idb_minor_type].ft_surf_area) {
- OBJ[ip->idb_minor_type].ft_surf_area(&area, ip);
- }
-
- if (OBJ[ip->idb_minor_type].ft_centroid) {
- OBJ[ip->idb_minor_type].ft_centroid(¢roid, ip);
- bu_vls_printf(gedp->ged_result_str, "\n Centroid: (%g, %g, %g)\n",
- centroid[X] * gedp->ged_wdbp->dbip->dbi_base2local,
- centroid[Y] * gedp->ged_wdbp->dbip->dbi_base2local,
- centroid[Z] * gedp->ged_wdbp->dbip->dbi_base2local);
- }
-
- print_volume_table(gedp,
- vol
- * gedp->ged_wdbp->dbip->dbi_base2local
- * gedp->ged_wdbp->dbip->dbi_base2local
- * gedp->ged_wdbp->dbip->dbi_base2local,
- area
- * gedp->ged_wdbp->dbip->dbi_base2local
- * gedp->ged_wdbp->dbip->dbi_base2local,
- vol/GALLONS_TO_MM3
- );
-}
-
-
-/**
- * finds direction cosines and rotation, fallback angles of a unit vector
- * angles = pointer to 5 fastf_t's to store angles
- * unitv = pointer to the unit vector (previously computed)
- */
-HIDDEN void
-findang(fastf_t *angles, fastf_t *unitv)
-{
- int i;
- fastf_t f;
-
- /* convert direction cosines into axis angles */
- for (i = X; i <= Z; i++) {
- if (unitv[i] <= -1.0)
- angles[i] = -90.0;
- else if (unitv[i] >= 1.0)
- angles[i] = 90.0;
- else
- angles[i] = acos(unitv[i]) * RAD2DEG;
- }
-
- /* fallback angle */
- if (unitv[Z] <= -1.0)
- unitv[Z] = -1.0;
- else if (unitv[Z] >= 1.0)
- unitv[Z] = 1.0;
- angles[4] = asin(unitv[Z]);
-
- /* rotation angle */
- /* For the tolerance below, on an SGI 4D/70, cos(asin(1.0)) != 0.0
- * with an epsilon of +/- 1.0e-17, so the tolerance below was
- * substituted for the original +/- 1.0e-20.
- */
- if ((f = cos(angles[4])) > 1.0e-16 || f < -1.0e-16) {
- f = unitv[X]/f;
- if (f <= -1.0)
- angles[3] = 180.0;
- else if (f >= 1.0)
- angles[3] = 0.0;
- else
- angles[3] = RAD2DEG * acos(f);
- } else
- angles[3] = 0.0;
-
- if (unitv[Y] < 0)
- angles[3] = 360.0 - angles[3];
-
- angles[4] *= RAD2DEG;
-}
-
-
-/**
- * general analyze function for polygonal faces.
- * Currently used for:
- * - arb8
- * - arbn
- * - ars
- *
- * returns:
- * - area in face->area
- * - print_faces_table() information in row
- * - sorts vertices in face->pts into ccw order
- */
-HIDDEN void
-analyze_poly_face(struct ged *gedp, struct poly_face *face, row_t *row)
-{
- fastf_t angles[5];
-
- findang(angles, face->plane_eqn);
-
- /* sort points */
- bg_3d_polygon_sort_ccw(face->npts, face->pts, face->plane_eqn);
- bg_3d_polygon_area(&face->area, face->npts, (const point_t *)face->pts);
-
- /* store face information for pretty printing */
- row->nfields = 8;
- row->fields[0].nchars = sprintf(row->fields[0].buf, "%4s", face->label);
- row->fields[1].nchars = sprintf(row->fields[1].buf, "%10.8f", angles[3]);
- row->fields[2].nchars = sprintf(row->fields[2].buf, "%10.8f", angles[4]);
- row->fields[3].nchars = sprintf(row->fields[3].buf, "%10.8f",
face->plane_eqn[X]);
- row->fields[4].nchars = sprintf(row->fields[4].buf, "%10.8f",
face->plane_eqn[Y]);
- row->fields[5].nchars = sprintf(row->fields[5].buf, "%10.8f",
face->plane_eqn[Z]);
- row->fields[6].nchars = sprintf(row->fields[6].buf, "%10.8f",
-
face->plane_eqn[W]*gedp->ged_wdbp->dbip->dbi_base2local);
- row->fields[7].nchars = sprintf(row->fields[7].buf, "%10.8f",
-
face->area*gedp->ged_wdbp->dbip->dbi_base2local*gedp->ged_wdbp->dbip->dbi_base2local);
-}
-
-
-HIDDEN void
-analyze_edge(struct ged *gedp, const int edge, const struct rt_arb_internal
*arb,
- const int type, row_t *row)
-{
- int a = nedge[type][edge*2];
- int b = nedge[type][edge*2+1];
-
- if (b == -1) {
- row->nfields = 0;
- return;
- }
-
- row->nfields = 2;
- row->fields[0].nchars = sprintf(row->fields[0].buf, "%d%d", a + 1, b + 1);
- row->fields[1].nchars = sprintf(row->fields[1].buf, "%10.8f",
- DIST_PNT_PNT(arb->pt[a],
arb->pt[b])*gedp->ged_wdbp->dbip->dbi_base2local);
-}
-
-
-HIDDEN void
-analyze_arb8(struct ged *gedp, const struct rt_db_internal *ip)
-{
- int i, type;
- int cgtype; /* COMGEOM arb type: # of vertices */
- table_t table; /* holds table data from child functions */
- fastf_t tot_vol = 0.0, tot_area = 0.0;
- point_t center_pt = VINIT_ZERO;
- struct poly_face face = POLY_FACE_INIT_ZERO;
- struct rt_arb_internal earb;
- struct rt_arb_internal *arb = (struct rt_arb_internal *)ip->idb_ptr;
- const int arb_faces[5][24] = rt_arb_faces;
- RT_ARB_CK_MAGIC(arb);
-
- /* find the specific arb type, in GIFT order. */
- if ((cgtype = rt_arb_std_type(ip, &gedp->ged_wdbp->wdb_tol)) == 0) {
- bu_vls_printf(gedp->ged_result_str, "analyze_arb: bad ARB\n");
- return;
- }
-
- type = cgtype - 4;
-
- /* to get formatting correct, we need to collect the actual string
- * lengths for each field BEFORE we start printing a table (fields
- * are allowed to overflow the stated printf field width) */
-
- /* TABLE 1 =========================================== */
- /* analyze each face, use center point of arb for reference */
- rt_arb_centroid(¢er_pt, ip);
-
- /* allocate pts array, maximum 4 verts per arb8 face */
- face.pts = (point_t *)bu_calloc(4, sizeof(point_t), "analyze_arb8: pts");
- /* allocate table rows, 12 rows needed for arb8 edges */
- table.rows = (row_t *)bu_calloc(12, sizeof(row_t), "analyze_arb8: rows");
-
- table.nrows = 0;
- for (face.npts = 0, i = 0; i < 6; face.npts = 0, i++) {
- int a, b, c, d; /* 4 indices to face vertices */
-
- a = arb_faces[type][i*4+0];
- b = arb_faces[type][i*4+1];
- c = arb_faces[type][i*4+2];
- d = arb_faces[type][i*4+3];
-
- if (a == -1) {
- table.rows[i].nfields = 0;
- continue;
- }
-
- /* find plane eqn for this face */
- if (bn_make_plane_3pnts(face.plane_eqn, arb->pt[a], arb->pt[b],
arb->pt[c], &gedp->ged_wdbp->wdb_tol) < 0) {
- bu_vls_printf(gedp->ged_result_str, "| %d%d%d%d | ***NOT A
PLANE*** |\n",
- a+1, b+1, c+1, d+1);
- /* this row has 1 special fields */
- table.rows[i].nfields = NOT_A_PLANE;
- continue;
- }
-
- ADD_PT(face, arb->pt[a]);
- ADD_PT(face, arb->pt[b]);
- ADD_PT(face, arb->pt[c]);
- ADD_PT(face, arb->pt[d]);
-
- /* The plane equations returned by bn_make_plane_3pnts above do
- * not necessarily point outward. Use the reference center
- * point for the arb and reverse direction for any errant planes.
- * This corrects the output rotation, fallback angles so that
- * they always give the outward pointing normal vector. */
- if (DIST_PNT_PLANE(center_pt, face.plane_eqn) > 0.0) {
- HREVERSE(face.plane_eqn, face.plane_eqn);
- }
-
- snprintf(face.label, sizeof(face.label), "%d", prface[type][i]);
-
- analyze_poly_face(gedp, &face, &(table.rows[i]));
- tot_area += face.area;
- table.nrows++;
- }
-
- /* and print it */
- print_faces_table(gedp, &table);
-
- /* TABLE 2 =========================================== */
- /* analyze each edge */
-
- /* blank line following previous table */
- bu_vls_printf(gedp->ged_result_str, "\n");
-
- /* set up the records for arb4's and arb6's */
- earb = *arb; /* struct copy */
- if (cgtype == 4) {
- VMOVE(earb.pt[3], earb.pt[4]);
- } else if (cgtype == 6) {
- VMOVE(earb.pt[5], earb.pt[6]);
- }
-
- table.nrows = 0;
- for (i = 0; i < 12; i++) {
- analyze_edge(gedp, i, &earb, type, &(table.rows[i]));
- if (nedge[type][i*2] == -1) {
- break;
- }
- table.nrows += 1;
- }
-
- print_edges_table(gedp, &table);
-
- /* TABLE 3 =========================================== */
- /* find the volume - break arb8 into 6 arb4s */
-
- if (OBJ[ID_ARB8].ft_volume)
- OBJ[ID_ARB8].ft_volume(&tot_vol, ip);
-
- print_volume_table(gedp,
- tot_vol
- * gedp->ged_wdbp->dbip->dbi_base2local
- * gedp->ged_wdbp->dbip->dbi_base2local
- * gedp->ged_wdbp->dbip->dbi_base2local,
- tot_area
- * gedp->ged_wdbp->dbip->dbi_base2local
- * gedp->ged_wdbp->dbip->dbi_base2local,
- tot_vol/GALLONS_TO_MM3
- );
-
- bu_free((char *)face.pts, "analyze_arb8: pts");
- bu_free((char *)table.rows, "analyze_arb8: rows");
-}
-
-
-HIDDEN void
-analyze_arbn(struct ged *gedp, const struct rt_db_internal *ip)
-{
- size_t i;
- fastf_t tot_vol = 0.0, tot_area = 0.0;
- table_t table;
- struct poly_face *faces;
- struct bu_vls tmpstr = BU_VLS_INIT_ZERO;
- struct rt_arbn_internal *aip = (struct rt_arbn_internal *)ip->idb_ptr;
- size_t *npts = (size_t *)bu_calloc(aip->neqn, sizeof(size_t),
"analyze_arbn: npts");
- point_t **tmp_pts = (point_t **)bu_calloc(aip->neqn, sizeof(point_t *),
"analyze_arbn: tmp_pts");
- plane_t *eqs= (plane_t *)bu_calloc(aip->neqn, sizeof(plane_t),
"analyze_arbn: eqs");
-
- /* allocate array of face structs */
- faces = (struct poly_face *)bu_calloc(aip->neqn, sizeof(struct poly_face),
"analyze_arbn: faces");
- for (i = 0; i < aip->neqn; i++) {
- HMOVE(faces[i].plane_eqn, aip->eqn[i]);
- VUNITIZE(faces[i].plane_eqn);
- /* allocate array of pt structs, max number of verts per faces = (# of
faces) - 1 */
- faces[i].pts = (point_t *)bu_calloc(aip->neqn - 1, sizeof(point_t),
"analyze_arbn: pts");
- tmp_pts[i] = faces[i].pts;
- HMOVE(eqs[i], faces[i].plane_eqn);
- }
- /* allocate table rows, 1 row per plane eqn */
- table.rows = (row_t *)bu_calloc(aip->neqn, sizeof(row_t), "analyze_arbn:
rows");
- table.nrows = aip->neqn;
-
- bg_3d_polygon_make_pnts_planes(npts, tmp_pts, aip->neqn, (const plane_t
*)eqs);
-
- for (i = 0; i < aip->neqn; i++) {
- vect_t tmp;
- bu_vls_sprintf(&tmpstr, "%4zu", i);
- snprintf(faces[i].label, sizeof(faces[i].label), "%s",
bu_vls_addr(&tmpstr));
-
- faces[i].npts = npts[i];
-
- /* calculate surface area */
- analyze_poly_face(gedp, &faces[i], &table.rows[i]);
- tot_area += faces[i].area;
-
- /* calculate volume */
- VSCALE(tmp, faces[i].plane_eqn, faces[i].area);
- tot_vol += VDOT(faces[i].pts[0], tmp);
- }
- tot_vol /= 3.0;
-
- print_faces_table(gedp, &table);
- print_volume_table(gedp,
- tot_vol
- * gedp->ged_wdbp->dbip->dbi_base2local
- * gedp->ged_wdbp->dbip->dbi_base2local
- * gedp->ged_wdbp->dbip->dbi_base2local,
- tot_area
- * gedp->ged_wdbp->dbip->dbi_base2local
@@ Diff output truncated at 100000 characters. @@
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