This is an automated email from the git hooks/post-receive script. paulnovo-guest pushed a commit to branch master in repository opensurgsim.
commit 416703cdd5350eea310654d8180778954e78e485 Author: Paul Novotny <p...@paulnovo.us> Date: Fri Oct 14 10:49:11 2016 -0400 Remove patches that have been applied upstream --- debian/patches/add-version-to-libs.patch | 32 --- debian/patches/backport-03c10f32d.patch | 103 ------- debian/patches/backport-5fa47c607.patch | 314 --------------------- debian/patches/backport-7b1d8836f.patch | 34 --- debian/patches/backport-b9584d8c1.patch | 45 --- debian/patches/backport-c7925c91f.patch | 37 --- debian/patches/backport-cb568a34f.patch | 119 -------- debian/patches/backport-d0a635981.patch | 48 ---- debian/patches/backport-e762a2ea9.patch | 76 ----- .../patches/dont-install-testing-libraries.patch | 36 --- debian/patches/fix-build-with-eigen-3-3.patch | 65 +---- debian/patches/fix-epsilon-for-tests.patch | 60 ---- debian/patches/fix-fem-ply-reading.patch | 26 -- debian/patches/fix-timer.patch | 18 -- debian/patches/gcc6.patch | 16 -- debian/patches/series | 15 - debian/patches/use-debian-yaml-cpp.patch | 38 --- 17 files changed, 2 insertions(+), 1080 deletions(-) diff --git a/debian/patches/add-version-to-libs.patch b/debian/patches/add-version-to-libs.patch deleted file mode 100644 index 1797521..0000000 --- a/debian/patches/add-version-to-libs.patch +++ /dev/null @@ -1,32 +0,0 @@ -Description: Add version to shared libraries - Add the VERSION and SOVERSION to the libs in CMake. This appends the version - number to the shared libraries. Also, update the version number in CMake to - the correct 0.6.0. -Author: Paul Novotny <p...@paulnovo.us> -Last-Update: 2015-02-23 - ---- a/CMake/SurgSimUtilities.cmake -+++ b/CMake/SurgSimUtilities.cmake -@@ -169,7 +169,10 @@ - if (SOURCE_FILES) - add_library(${LIBRARY_NAME} ${SOURCE_FILES} ${HEADER_FILES}) - -- set_target_properties(${LIBRARY_NAME} PROPERTIES PUBLIC_HEADER "${HEADER_FILES}") -+ set_target_properties(${LIBRARY_NAME} PROPERTIES -+ PUBLIC_HEADER "${HEADER_FILES}" -+ VERSION ${OPENSURGSIM_VERSION} -+ SOVERSION ${OPENSURGSIM_VERSION}) - install(TARGETS ${LIBRARY_NAME} - EXPORT ${PROJECT_NAME}Targets - RUNTIME DESTINATION "${INSTALL_BIN_DIR}" ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -19,7 +19,7 @@ - set_property(GLOBAL PROPERTY USE_FOLDERS ON) - - set(OPENSURGSIM_MAJOR_VERSION 0) --set(OPENSURGSIM_MINOR_VERSION 0) -+set(OPENSURGSIM_MINOR_VERSION 6) - set(OPENSURGSIM_PATCH_VERSION 0) - set(OPENSURGSIM_VERSION - ${OPENSURGSIM_MAJOR_VERSION}.${OPENSURGSIM_MINOR_VERSION}.${OPENSURGSIM_PATCH_VERSION}) diff --git a/debian/patches/backport-03c10f32d.patch b/debian/patches/backport-03c10f32d.patch deleted file mode 100644 index 948ee8b..0000000 --- a/debian/patches/backport-03c10f32d.patch +++ /dev/null @@ -1,103 +0,0 @@ -Description: Fix failing unit tests due to missing yaml properties - This was fixed by cherry-picking a commit from upstream. This commit provides - handling of yaml nodes that don't have all the expected properties, and - therefor fixed the failing unit tests. -Author: Paul Novotny <p...@paulnovo.us> -Origin: upstream, https://github.com/simquest/opensurgsim/commit/03c10f32d -Last-Update: 2015-02-21 - ---- a/SurgSim/Framework/Accessible.cpp -+++ b/SurgSim/Framework/Accessible.cpp -@@ -13,7 +13,9 @@ - // See the License for the specific language governing permissions and - // limitations under the License. - -+#include <algorithm> - #include "SurgSim/Framework/Accessible.h" -+#include "SurgSim/Framework/Log.h" - #include "SurgSim/Math/Matrix.h" - - namespace SurgSim -@@ -136,26 +138,43 @@ - return result; - } - --void Accessible::decode(const YAML::Node& node) -+void Accessible::decode(const YAML::Node& node, const std::vector<std::string>& ignoredProperties) - { -- SURGSIM_ASSERT(node.IsMap()) << "Node to decode accessible has to be map."; -- for (auto functors = m_functors.cbegin(); functors != m_functors.cend(); ++functors) -+ SURGSIM_ASSERT(node.IsMap()) << "Node to be decoded has to be map."; -+ -+ for (auto data = node.begin(); data != node.end(); ++data) - { -- auto decoder = functors->second.decoder; -- if (decoder != nullptr) -+ std::string name = data->first.as<std::string>(); -+ if (std::find(std::begin(ignoredProperties), std::end(ignoredProperties), name) != std::end(ignoredProperties)) -+ { -+ continue; -+ } -+ -+ auto functors = m_functors.find(name); -+ if (functors == std::end(m_functors) || !functors->second.decoder) - { -- YAML::Node temporary = node[functors->first]; -+ SURGSIM_LOG_WARNING(SurgSim::Framework::Logger::getLogger("Framework/Accessible")) -+ << "No decoder registered for the property " << name; -+ } -+ else -+ { -+ YAML::Node temporary = data->second; - if (!temporary.IsNull() && temporary.IsDefined()) - { - try - { -- decoder(&temporary); -+ functors->second.decoder(&temporary); - } - catch (std::exception e) - { - SURGSIM_FAILURE() << e.what(); - } - } -+ else -+ { -+ SURGSIM_LOG_INFO(SurgSim::Framework::Logger::getLogger("Framework/Accessible")) -+ << "No value associated with property " << name; -+ } - } - } - } ---- a/SurgSim/Framework/Accessible.h -+++ b/SurgSim/Framework/Accessible.h -@@ -140,9 +140,10 @@ - /// Decode this Accessible from a YAML::Node, will throw an exception if the data type cannot - /// be converted. - /// \throws SurgSim::Framework::AssertionFailure if node is not of YAML::NodeType::Map. -- /// \param node The node that carries the data to be, properties with names that don't -- /// match up with properties in the Accessible are ignored -- void decode(const YAML::Node& node); -+ /// \param node The node that carries the data to be decoded, properties with names that don't -+ /// match up with properties in the Accessible will be reported. -+ /// \param ignoredProperties Properties that will be ignored. -+ void decode(const YAML::Node& node, const std::vector<std::string>& ignoredProperties = std::vector<std::string>()); - - private: - ---- a/SurgSim/Framework/FrameworkConvert.cpp -+++ b/SurgSim/Framework/FrameworkConvert.cpp -@@ -91,7 +91,12 @@ - } - } - } -- rhs->decode(data); -+ -+ std::vector<std::string> ignoredProperties; -+ ignoredProperties.push_back(NamePropertyName); -+ ignoredProperties.push_back(IdPropertyName); -+ -+ rhs->decode(data, ignoredProperties); - result = true; - } - return result; diff --git a/debian/patches/backport-5fa47c607.patch b/debian/patches/backport-5fa47c607.patch deleted file mode 100644 index 37c2730..0000000 --- a/debian/patches/backport-5fa47c607.patch +++ /dev/null @@ -1,314 +0,0 @@ -Description: Fix FTBFS with eigen3 3.3~beta2-1 - MultiplyVectorScalar and MultiplyScalarVector tests in VectorTests were - failing on at least amd64. This was fixed upstream by relaxing the expected - precision of the failing unit tests. The precision was previously to strict - for single precision floats. -Author: Paul Novotny <p...@paulnovo.us> -Bug-Debian: https://bugs.debian.org/835417 -Origin: upstream, https://github.com/simquest/opensurgsim/commit/5fa47c607 -Last-Update: 2016-09-08 - ---- a/SurgSim/Math/UnitTests/VectorTests.cpp -+++ b/SurgSim/Math/UnitTests/VectorTests.cpp -@@ -17,12 +17,12 @@ - /// Tests that exercise the functionality of our vector typedefs, which come - /// straight from Eigen. - -+#include <gtest/gtest.h> -+#include <math.h> - #include <vector> - --#include <math.h> --#include "SurgSim/Math/Vector.h" - #include "SurgSim/Math/MathConvert.h" --#include "gtest/gtest.h" -+#include "SurgSim/Math/Vector.h" - - // Define test fixture class templates. - // We don't really need fixtures as such, but the templatization encodes type. -@@ -284,7 +284,7 @@ - Vector2 vector; - // Initialize elements in order. Do NOT put parentheses around the list! - vector << static_cast<T>(1.1), static_cast<T>(1.2); -- EXPECT_NEAR(2.3, vector.sum(), 1e-6) << "initialization was incorrect: " << vector; -+ EXPECT_NEAR(2.3, vector.sum(), 5e-6) << "initialization was incorrect: " << vector; - } - - /// Test setting the vector using the << syntax. -@@ -296,7 +296,7 @@ - Vector3 vector; - // Initialize elements in order. Do NOT put parentheses around the list! - vector << static_cast<T>(1.1), static_cast<T>(1.2), static_cast<T>(1.3); -- EXPECT_NEAR(3.6, vector.sum(), 1e-6) << "initialization was incorrect: " << vector; -+ EXPECT_NEAR(3.6, vector.sum(), 5e-6) << "initialization was incorrect: " << vector; - } - - /// Test setting the vector using the << syntax. -@@ -308,7 +308,7 @@ - Vector4 vector; - // Initialize elements in order. Do NOT put parentheses around the list! - vector << static_cast<T>(1.1), static_cast<T>(1.2), static_cast<T>(1.3), static_cast<T>(1.4); -- EXPECT_NEAR(5.0, vector.sum(), 1e-6) << "initialization was incorrect: " << vector; -+ EXPECT_NEAR(5.0, vector.sum(), 5e-6) << "initialization was incorrect: " << vector; - } - - /// Test setting the vector using the << syntax. -@@ -321,7 +321,7 @@ - // Initialize elements in order. Do NOT put parentheses around the list! - vector << static_cast<T>(1.1), static_cast<T>(1.2), static_cast<T>(1.3), static_cast<T>(1.4), - static_cast<T>(1.5), static_cast<T>(1.6); -- EXPECT_NEAR(8.1, vector.sum(), 1e-6) << "initialization was incorrect: " << vector; -+ EXPECT_NEAR(8.1, vector.sum(), 5e-6) << "initialization was incorrect: " << vector; - } - - /// Test getting a zero value usable in expressions. -@@ -461,7 +461,7 @@ - - Vector v(inputArray); - Vector n = -v; -- EXPECT_NEAR(static_cast<T>(-expectedSum), n.sum(), 1e-6); -+ EXPECT_NEAR(static_cast<T>(-expectedSum), n.sum(), 5e-6); - } - - /// Addition. -@@ -479,7 +479,7 @@ - Vector v(inputArray); - Vector w = v + Vector::Ones() + v; - -- EXPECT_NEAR(static_cast<T>(2 * expectedSum) + SIZE, w.sum(), 1e-6); -+ EXPECT_NEAR(static_cast<T>(2 * expectedSum) + SIZE, w.sum(), 5e-6); - } - - /// Subtraction. -@@ -497,7 +497,7 @@ - Vector v(inputArray); - Vector w = v - Vector::Ones(); - -- EXPECT_NEAR(static_cast<T>(expectedSum) - SIZE, w.sum(), 1e-6); -+ EXPECT_NEAR(static_cast<T>(expectedSum) - SIZE, w.sum(), 5e-6); - } - - /// Incrementing by a value. -@@ -514,7 +514,7 @@ - - Vector v(inputArray); - v += Vector::Ones(); -- EXPECT_NEAR(static_cast<T>(expectedSum) + SIZE, v.sum(), 1e-6); -+ EXPECT_NEAR(static_cast<T>(expectedSum) + SIZE, v.sum(), 5e-6); - } - - /// Decrementing by a value. -@@ -531,7 +531,7 @@ - - Vector v(inputArray); - v -= Vector::Ones(); -- EXPECT_NEAR(static_cast<T>(expectedSum) - SIZE, v.sum(), 1e-6); -+ EXPECT_NEAR(static_cast<T>(expectedSum) - SIZE, v.sum(), 5e-6); - } - - /// Vector-scalar multiplication. -@@ -549,7 +549,7 @@ - Vector v(inputArray); - Vector w = v * static_cast<T>(1.23); - -- EXPECT_NEAR(static_cast<T>(1.23 * expectedSum), w.sum(), 1e-6); -+ EXPECT_NEAR(static_cast<T>(1.23 * expectedSum), w.sum(), 5e-6); - } - - /// Scalar-vector multiplication. -@@ -567,7 +567,7 @@ - Vector v(inputArray); - Vector w = static_cast<T>(1.23) * v; - -- EXPECT_NEAR(static_cast<T>(1.23 * expectedSum), w.sum(), 1e-6); -+ EXPECT_NEAR(static_cast<T>(1.23 * expectedSum), w.sum(), 5e-6); - } - - /// Division by scalar. -@@ -585,7 +585,7 @@ - Vector v(inputArray); - Vector w = v / static_cast<T>(1.23); - -- EXPECT_NEAR(static_cast<T>(expectedSum / 1.23), w.sum(), 1e-6); -+ EXPECT_NEAR(static_cast<T>(expectedSum / 1.23), w.sum(), 5e-6); - } - - /// Component-wise multiplication. -@@ -603,10 +603,10 @@ - Vector v(inputArray); - // use the component-wise Eigen matrix operation: - Vector w = v.cwiseProduct(v); -- EXPECT_NEAR(static_cast<T>(expectedSumSquares), w.sum(), 1e-6); -+ EXPECT_NEAR(static_cast<T>(expectedSumSquares), w.sum(), 5e-6); - // OR, the same thing done via conversion to arrays: - w = v.array() * v.array(); -- EXPECT_NEAR(static_cast<T>(expectedSumSquares), w.sum(), 1e-6); -+ EXPECT_NEAR(static_cast<T>(expectedSumSquares), w.sum(), 5e-6); - } - - /// Component-wise division. -@@ -623,10 +623,10 @@ - Vector u = static_cast<T>(2)*v; - // use the component-wise Eigen matrix operation: - Vector w = u.cwiseQuotient(v); -- EXPECT_NEAR(static_cast<T>(2*SIZE), w.sum(), 1e-6); -+ EXPECT_NEAR(static_cast<T>(2*SIZE), w.sum(), 5e-6); - // OR, the same thing done via conversion to arrays: - w = u.array() / v.array(); -- EXPECT_NEAR(static_cast<T>(2*SIZE), w.sum(), 1e-6); -+ EXPECT_NEAR(static_cast<T>(2*SIZE), w.sum(), 5e-6); - } - - /// Dot product. -@@ -642,7 +642,7 @@ - double expectedSumSquares = SIZE * (SIZE * (SIZE*0.03 + 0.885) + 8.695); - - Vector v(inputArray); -- EXPECT_NEAR(static_cast<T>(expectedSumSquares), v.dot(v), 1e-6); -+ EXPECT_NEAR(static_cast<T>(expectedSumSquares), v.dot(v), 5e-6); - } - - /// Cross product. -@@ -697,8 +697,8 @@ - double expectedSumSquares = SIZE * (SIZE * (SIZE*0.03 + 0.885) + 8.695); - - Vector v(inputArray); -- EXPECT_NEAR(static_cast<T>(expectedSumSquares), v.squaredNorm(), 1e-6); -- EXPECT_NEAR(sqrt(static_cast<T>(expectedSumSquares)), v.norm(), 1e-6); -+ EXPECT_NEAR(static_cast<T>(expectedSumSquares), v.squaredNorm(), 5e-6); -+ EXPECT_NEAR(sqrt(static_cast<T>(expectedSumSquares)), v.norm(), 5e-6); - } - - /// L1 (Manhattan) norm and L_Infinity (largest absolute value) norm. -@@ -718,8 +718,8 @@ - // Ugh, "template" is required to get this to parse properly. This is - // triggered because the test is a part of a template class; you don't - // need to do this in a non-template context. -- EXPECT_NEAR(static_cast<T>(expectedSum), v.template lpNorm<1>(), 1e-6); -- EXPECT_NEAR(static_cast<T>(expectedSum), w.template lpNorm<1>(), 1e-6); -+ EXPECT_NEAR(static_cast<T>(expectedSum), v.template lpNorm<1>(), 5e-6); -+ EXPECT_NEAR(static_cast<T>(expectedSum), w.template lpNorm<1>(), 5e-6); - EXPECT_NEAR(inputArray[SIZE-1], v.template lpNorm<Eigen::Infinity>(), 1e-6); - EXPECT_NEAR(inputArray[SIZE-1], w.template lpNorm<Eigen::Infinity>(), 1e-6); - } -@@ -737,16 +737,16 @@ - double expectedSumSquares = SIZE * (SIZE * (SIZE*0.03 + 0.885) + 8.695); - - Vector v(inputArray); -- EXPECT_NEAR(sqrt(expectedSumSquares), v.norm(), 1e-6); -+ EXPECT_NEAR(sqrt(expectedSumSquares), v.norm(), 5e-6); - - // normalized() RETURNS the normalized vector, leaving original unchanged. - Vector u = v.normalized(); -- EXPECT_NEAR(static_cast<T>(1), u.norm(), 1e-6); -- EXPECT_NEAR(sqrt(static_cast<T>(expectedSumSquares)), v.norm(), 1e-6); -+ EXPECT_NEAR(static_cast<T>(1), u.norm(), 5e-6); -+ EXPECT_NEAR(sqrt(static_cast<T>(expectedSumSquares)), v.norm(), 5e-6); - // normalize() NORMALIZES the vector, modifying it. - v.normalize(); -- EXPECT_NEAR(static_cast<T>(1), v.norm(), 1e-6); -- EXPECT_NEAR(static_cast<T>(0), (u - v).norm(), 1e-6); -+ EXPECT_NEAR(static_cast<T>(1), v.norm(), 5e-6); -+ EXPECT_NEAR(static_cast<T>(0), (u - v).norm(), 5e-6); - } - - /// Minimum and maximum elements. -@@ -782,7 +782,7 @@ - // class; you don't need to do this in a non-template context. - vector3.template head<2>() = vector2; - vector3[2] = static_cast<T>(0); -- EXPECT_NEAR(2.3, vector3.sum(), 1e-6) << "extending was incorrect: " << vector3; -+ EXPECT_NEAR(2.3, vector3.sum(), 5e-6) << "extending was incorrect: " << vector3; - } - - /// Extending vectors using the head(r) syntax. -@@ -798,7 +798,7 @@ - Vector3 vector3; - vector3.head(2) = vector2; - vector3[2] = static_cast<T>(0); -- EXPECT_NEAR(2.3, vector3.sum(), 1e-6) << "extending was incorrect: " << vector3; -+ EXPECT_NEAR(2.3, vector3.sum(), 5e-6) << "extending was incorrect: " << vector3; - } - - /// Extending vectors using the block<r,c>() syntax. -@@ -817,7 +817,7 @@ - // class; you don't need to do this in a non-template context. - vector3.template block<2, 1>(0, 0) = vector2; - vector3(2, 0) = static_cast<T>(0); -- EXPECT_NEAR(2.3, vector3.sum(), 1e-6) << "extending was incorrect: " << vector3; -+ EXPECT_NEAR(2.3, vector3.sum(), 5e-6) << "extending was incorrect: " << vector3; - } - - /// Extending vectors using the block(i,j,r,c) syntax. -@@ -833,7 +833,7 @@ - Vector3 vector3; - vector3.block(0, 0, 2, 1) = vector2; - vector3(2, 0) = static_cast<T>(0); -- EXPECT_NEAR(2.3, vector3.sum(), 1e-6) << "extending was incorrect: " << vector3; -+ EXPECT_NEAR(2.3, vector3.sum(), 5e-6) << "extending was incorrect: " << vector3; - } - - /// Shrinking vectors using the head<r>() syntax. -@@ -851,7 +851,7 @@ - // properly. This is triggered because the test is a part of a template - // class; you don't need to do this in a non-template context. - vector2 = vector3.template head<2>(); -- EXPECT_NEAR(2.3, vector2.sum(), 1e-6) << "shrinking was incorrect: " << vector2; -+ EXPECT_NEAR(2.3, vector2.sum(), 5e-6) << "shrinking was incorrect: " << vector2; - } - - /// Extending vectors using the head<r>() syntax. -@@ -870,7 +870,7 @@ - // class; you don't need to do this in a non-template context. - vector3.template head<2>() = vector2; - vector3[2] = static_cast<T>(0); -- EXPECT_NEAR(2.3, vector3.sum(), 1e-6) << "extending was incorrect: " << vector3; -+ EXPECT_NEAR(2.3, vector3.sum(), 5e-6) << "extending was incorrect: " << vector3; - } - - /// Shrinking vectors using the head<r>() syntax. -@@ -888,7 +888,7 @@ - // properly. This is triggered because the test is a part of a template - // class; you don't need to do this in a non-template context. - vector2 = vector3.template head<2>(); -- EXPECT_NEAR(2.3, vector2.sum(), 1e-6) << "shrinking was incorrect" << vector2; -+ EXPECT_NEAR(2.3, vector2.sum(), 5e-6) << "shrinking was incorrect" << vector2; - } - - /// Extending vectors using the head<r>() syntax. -@@ -907,7 +907,7 @@ - // class; you don't need to do this in a non-template context. - vector4.template head<3>() = vector3; - vector4[3] = static_cast<T>(0); -- EXPECT_NEAR(3.6, vector4.sum(), 1e-6) << "extending was incorrect" << vector4; -+ EXPECT_NEAR(3.6, vector4.sum(), 5e-6) << "extending was incorrect" << vector4; - } - - /// Shrinking vectors using the head<r>() syntax. -@@ -925,7 +925,7 @@ - // properly. This is triggered because the test is a part of a template - // class; you don't need to do this in a non-template context. - vector3 = vector4.template head<3>(); -- EXPECT_NEAR(3.6, vector3.sum(), 1e-6) << "shrinking was incorrect" << vector3; -+ EXPECT_NEAR(3.6, vector3.sum(), 5e-6) << "shrinking was incorrect" << vector3; - } - - /// Extending vectors using the head<r>() syntax. -@@ -944,7 +944,7 @@ - // class; you don't need to do this in a non-template context. - vector4.template head<3>() = vector3; - vector4[3] = static_cast<T>(0); -- EXPECT_NEAR(3.6, vector4.sum(), 1e-6) << "extending was incorrect" << vector4; -+ EXPECT_NEAR(3.6, vector4.sum(), 5e-6) << "extending was incorrect" << vector4; - } - - /// Shrinking vectors using the head<r>() syntax. -@@ -962,7 +962,7 @@ - // properly. This is triggered because the test is a part of a template - // class; you don't need to do this in a non-template context. - vector3 = vector4.template head<3>(); -- EXPECT_NEAR(3.6, vector3.sum(), 1e-6) << "shrinking was incorrect" << vector3; -+ EXPECT_NEAR(3.6, vector3.sum(), 5e-6) << "shrinking was incorrect" << vector3; - } - - /// Extend Euclidean N-vector [a_i] to homogeneous (N+1)-vector [a_i 1]. diff --git a/debian/patches/backport-7b1d8836f.patch b/debian/patches/backport-7b1d8836f.patch deleted file mode 100644 index b47ef72..0000000 --- a/debian/patches/backport-7b1d8836f.patch +++ /dev/null @@ -1,34 +0,0 @@ -Description: Fixes TriangleMeshTriangleMeshContactCalculationTests [Patch 2/2] - The NonintersectionTest unit test was failing on arm64, ppc64el, s390x, and - ppc64. This was addressed upstream in two commits. -Author: Paul Novotny <p...@paulnovo.us> -Origin: upstream, https://github.com/simquest/opensurgsim/commit/7b1d8836f -Bug-Debian: https://bugs.debian.org/798717 -Last-Update: 2015-09-19 - ---- a/SurgSim/Math/TriangleTriangleIntersection-inl.h -+++ b/SurgSim/Math/TriangleTriangleIntersection-inl.h -@@ -136,7 +136,7 @@ - size_t s1Index = 0; - size_t s2Index = 0; - -- // Loop through the edges of each triangle and find the intersectio of these edges onto -+ // Loop through the edges of each triangle and find the intersection of these edges onto - // the plane of the other triangle. - for (int i = 0; i < 3; ++i) - { -@@ -150,8 +150,12 @@ - << "The intersection between the triangle and the separating axis is not a line segment." - << " This scenario cannot happen, at this point in the algorithm."; - -- return !(std::abs(s1[0] - s2[0]) <= DistanceEpsilon && std::abs(s1[0] - s2[1]) <= DistanceEpsilon && -- std::abs(s1[1] - s2[0]) <= DistanceEpsilon && std::abs(s1[1] - s2[1]) <= DistanceEpsilon) && -+ // s1[0], s1[1] are the (unordered) extents of the projection of T1 on D. -+ // s2[0], s2[1] are the (unordered) extents of the projection of T2 on D. -+ // If both these are line segments (i.e. the distance between them is > epsilon), -+ // and if they overlap, then the two triangles intersect. -+ -+ return !(std::abs(s1[0] - s1[1]) <= DistanceEpsilon && std::abs(s2[0] - s2[1]) <= DistanceEpsilon) && - !(s1[0] <= s2[0] && s1[0] <= s2[1] && s1[1] <= s2[0] && s1[1] <= s2[1]) && - !(s1[0] >= s2[0] && s1[0] >= s2[1] && s1[1] >= s2[0] && s1[1] >= s2[1]); - } diff --git a/debian/patches/backport-b9584d8c1.patch b/debian/patches/backport-b9584d8c1.patch deleted file mode 100644 index 471731e..0000000 --- a/debian/patches/backport-b9584d8c1.patch +++ /dev/null @@ -1,45 +0,0 @@ -Description: Fix long running physics tests - Calling inverse on these large matrices is not necessary, causes the tests to - run long, and causes build failures due to timeouts on armel, armhf, mips, - mipsel, alpha, and hppa. This uses the LU factorization to solve the equation, - instead of using the inverse. -Author: Paul Novotny <p...@paulnovo.us> -Origin: upstream, https://github.com/simquest/opensurgsim/commit/b9584d8c1 -Last-Update: 2015-11-14 - ---- a/SurgSim/Physics/RenderTests/Fem3DvsTruthCubeRenderTest.cpp -+++ b/SurgSim/Physics/RenderTests/Fem3DvsTruthCubeRenderTest.cpp -@@ -1,5 +1,5 @@ - // This file is a part of the OpenSurgSim project. --// Copyright 2013, SimQuest Solutions Inc. -+// Copyright 2013-2015, SimQuest Solutions Inc. - // - // Licensed under the Apache License, Version 2.0 (the "License"); - // you may not use this file except in compliance with the License. -@@ -435,7 +435,7 @@ - buildConstrainedSystem(truthCubeRepresentation, A, B); - - // Solve the constrained system A.X = B -- SurgSim::Math::Vector X = A.inverse() * B; -+ SurgSim::Math::Vector X = A.partialPivLu().solve(B); - - // Extract the dof displacement vector from the solution X - return X.segment(0, numDof); ---- a/SurgSim/Physics/UnitTests/Fem2DMechanicalValidationTests.cpp -+++ b/SurgSim/Physics/UnitTests/Fem2DMechanicalValidationTests.cpp -@@ -1,5 +1,5 @@ - // This file is a part of the OpenSurgSim project. --// Copyright 2013, SimQuest Solutions Inc. -+// Copyright 2013-2015, SimQuest Solutions Inc. - // - // Licensed under the Apache License, Version 2.0 (the "License"); - // you may not use this file except in compliance with the License. -@@ -171,7 +171,7 @@ - Matrix K = m_fem->computeK(*(m_fem->getCurrentState())); - m_fem->getCurrentState()->applyBoundaryConditionsToMatrix(&K); - m_fem->getCurrentState()->applyBoundaryConditionsToVector(&m_F); -- m_U = K.inverse() * m_F; -+ m_U = K.partialPivLu().solve(m_F); - } - - double getUx(size_t nodeId) const diff --git a/debian/patches/backport-c7925c91f.patch b/debian/patches/backport-c7925c91f.patch deleted file mode 100644 index a239535..0000000 --- a/debian/patches/backport-c7925c91f.patch +++ /dev/null @@ -1,37 +0,0 @@ -Description: Fixes TriangleMeshTriangleMeshContactCalculationTests [Patch 1/2] - The NonintersectionTest unit test was failing on arm64, ppc64el, s390x, and - ppc64. This was addressed upstream in two commits. -Author: Paul Novotny <p...@paulnovo.us> -Origin: upstream, https://github.com/simquest/opensurgsim/commit/c7925c91f -Bug-Debian: https://bugs.debian.org/798717 -Last-Update: 2015-09-19 - ---- a/SurgSim/Math/TriangleTriangleIntersection-inl.h -+++ b/SurgSim/Math/TriangleTriangleIntersection-inl.h -@@ -16,7 +16,6 @@ - #ifndef SURGSIM_MATH_TRIANGLETRIANGLEINTERSECTION_INL_H - #define SURGSIM_MATH_TRIANGLETRIANGLEINTERSECTION_INL_H - -- - namespace - { - static const double EPSILOND = 1e-12; -@@ -79,6 +78,7 @@ - const Eigen::Matrix<T, 3, 1, MOpt>& t1n) - { - typedef Eigen::Matrix<T, 3, 1, MOpt> Vector3; -+ using SurgSim::Math::Geometry::DistanceEpsilon; - - if (t0n.isZero() || t1n.isZero()) - { -@@ -150,7 +150,9 @@ - << "The intersection between the triangle and the separating axis is not a line segment." - << " This scenario cannot happen, at this point in the algorithm."; - -- return !(s1[0] <= s2[0] && s1[0] <= s2[1] && s1[1] <= s2[0] && s1[1] <= s2[1]) && -+ return !(std::abs(s1[0] - s2[0]) <= DistanceEpsilon && std::abs(s1[0] - s2[1]) <= DistanceEpsilon && -+ std::abs(s1[1] - s2[0]) <= DistanceEpsilon && std::abs(s1[1] - s2[1]) <= DistanceEpsilon) && -+ !(s1[0] <= s2[0] && s1[0] <= s2[1] && s1[1] <= s2[0] && s1[1] <= s2[1]) && - !(s1[0] >= s2[0] && s1[0] >= s2[1] && s1[1] >= s2[0] && s1[1] >= s2[1]); - } - diff --git a/debian/patches/backport-cb568a34f.patch b/debian/patches/backport-cb568a34f.patch deleted file mode 100644 index f530e63..0000000 --- a/debian/patches/backport-cb568a34f.patch +++ /dev/null @@ -1,119 +0,0 @@ -Description: Use libjs-mathjax for Doxygen documentation - Cherry-picked a commit from upstream that looks if mathjax is installed - locally before using the online version in the html doxygen documentation. - This fixes the "privacy-breach-may-use-debian-package" lintian error. -Author: Paul Novotny <p...@paulnovo.us> -Origin: upstream, https://github.com/simquest/opensurgsim/commit/cb568a34f -Last-Update: 2015-02-24 - ---- a/Documentation/CMakeLists.txt -+++ b/Documentation/CMakeLists.txt -@@ -28,22 +28,11 @@ - - find_package(Doxygen REQUIRED) - --if(EXISTS "${SURGSIM_THIRD_PARTY_DIR}/mathjax") -- set(MATHJAX_LOCAL "${SURGSIM_THIRD_PARTY_DIR}/mathjax") --else() -- set(MATHJAX_LOCAL "") --endif() -- - set(SURGSIM_DOCUMENTATION_EXCLUDE_LIST - */UnitTests/* - CACHE STRING "Directories and files to ignore when generating documentation") - mark_as_advanced(SURGSIM_DOCUMENTATION_EXCLUDE_LIST) - --set(SURGSIM_DOCUMENTATION_MATHJAX_LOCAL -- "${MATHJAX_LOCAL}" -- CACHE PATH "A local copy of MathJax to be used for HTML documentation") --mark_as_advanced(SURGSIM_DOCUMENTATION_LOCAL_MATHJAX) -- - set(PROJECT_LOGO "${CMAKE_CURRENT_SOURCE_DIR}/OpenSurgSim-dox.png") - set(HTML_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/header.html") - set(HTML_FOOTER "${CMAKE_CURRENT_SOURCE_DIR}/footer.html") -@@ -66,20 +55,13 @@ - set(WARN_FORMAT "\"$file:$line: $text\"") - endif(MSVC) - --if(SURGSIM_DOCUMENTATION_MATHJAX_LOCAL STREQUAL "") -- # Use MathJax directly from the web -- set(MATHJAX_RELPATH http://www.mathjax.org/mathjax) -+find_package(MathJax) -+if(MATHJAX_FOUND) -+ set(MATHJAX_RELPATH ${MATHJAX_DIR}) -+ message(STATUS "Using local MathJax:" ${MATHJAX_DIR}) - else() -- # Copy MathJax directly into the generated documentation -- if(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/html/mathjax") -- message("Copying local MathJax (please be patient)...") -- file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/html/") -- file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/html/mathjax/") -- file(COPY "${SURGSIM_THIRD_PARTY_DIR}/mathjax/." -- DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/html/") -- message("...done!") -- endif() -- set(MATHJAX_RELPATH ./mathjax) -+ set(MATHJAX_RELPATH "http://cdn.mathjax.org/mathjax/latest") -+ message(STATUS "Using web-based MathJax: " ${MATHJAX_RELPATH}) - endif() - - # Generate Doxyfile from Doxyfile.in, with @VARIABLE@ substitution. ---- a/README -+++ b/README -@@ -45,8 +45,8 @@ - system for the dependencies (see Appendix). For Debian/Ubuntu based systems, the - dependencies are easily installed through apt-get: - -- sudo apt-get install libboost-all-dev cmake doxygen -- sudo apt-get install libeigen3-dev google-mock libopenscenegraph-dev -+ sudo apt-get install libboost-all-dev cmake doxygen libeigen3-dev -+ sudo apt-get install google-mock libjs-mathjax libopenscenegraph-dev - - To build OpenSurgSim, issue the following commands from the same directory used - to obtain OpenSurgSim (see Section 1) -@@ -141,3 +141,7 @@ - Homepage: https://code.google.com/p/googlemock/ - Minimum Version: 1.7.0 - -+* MathJax -+ Homepage: http://www.mathjax.org/ -+ Minimum Version: 2.4 -+ ---- /dev/null -+++ b/CMake/FindMathJax.cmake -@@ -0,0 +1,35 @@ -+# This file is a part of the OpenSurgSim project. -+# Copyright 2014, SimQuest Solutions Inc. -+# -+# Licensed under the Apache License, Version 2.0 (the "License"); -+# you may not use this file except in compliance with the License. -+# You may obtain a copy of the License at -+# -+# http://www.apache.org/licenses/LICENSE-2.0 -+# -+# Unless required by applicable law or agreed to in writing, software -+# distributed under the License is distributed on an "AS IS" BASIS, -+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+# See the License for the specific language governing permissions and -+# limitations under the License. -+ -+ -+# - Try to find MathJax -+# -+# Once done this will define -+# MATHJAX_FOUND -+# MATHJAX_DIR -+# -+ -+if(NOT MATHJAX_DIR) -+ find_path(MATHJAX_DIR -+ NAMES MathJax.js -+ PATHS "$ENV{MATHJAX_DIR}" "/usr/share/javascript/mathjax/" -+ DOC "Path to local MathJax.js" -+ ) -+endif() -+ -+include(FindPackageHandleStandardArgs) -+find_package_handle_standard_args(MathJax DEFAULT_MSG MATHJAX_DIR) -+ -+mark_as_advanced(MATHJAX_DIR) diff --git a/debian/patches/backport-d0a635981.patch b/debian/patches/backport-d0a635981.patch deleted file mode 100644 index 90d19ed..0000000 --- a/debian/patches/backport-d0a635981.patch +++ /dev/null @@ -1,48 +0,0 @@ -Description: Fix gcc5 related issues [Patch 2/2] - Backported commits from upstream that fix building with GCC 5. - This commit prevents GCC from optimizing out unused static variables - that should not be removed. -Author: Paul Novotny <p...@paulnovo.us> -Origin: upstream, https://github.com/simquest/opensurgsim/commit/d0a635981 -Last-Update: 2015-09-08 - ---- a/SurgSim/Framework/Macros.h -+++ b/SurgSim/Framework/Macros.h -@@ -21,11 +21,11 @@ - #define SURGSIM_CLASSNAME(ClassName) \ - virtual std::string getClassName() const {return #ClassName;} - --/// GCC macro to suppress unused-variable warnings -+/// Macro to tell GCC this is a used variable, and not to optimize it out - #ifdef __GNUC__ --#define SURGSIM_UNUSED_VARIABLE(x) __attribute__((unused)) x -+#define SURGSIM_USED_VARIABLE(x) x __attribute__((used)) - #else --#define SURGSIM_UNUSED_VARIABLE(x) x -+#define SURGSIM_USED_VARIABLE(x) x - #endif - - ///@{ ---- a/SurgSim/Framework/ObjectFactory.h -+++ b/SurgSim/Framework/ObjectFactory.h -@@ -126,8 +126,8 @@ - /// 'DerivedClass' is 'ClassName' with namespace prefixes, - /// and 'ClassName' is the name of the class without namespace prefix. - #define SURGSIM_REGISTER(BaseClass, DerivedClass, ClassName) \ -- SURGSIM_UNUSED_VARIABLE(bool SURGSIM_CONCATENATE(ClassName, Registered) = \ -- BaseClass::getFactory().registerClass<DerivedClass>(#DerivedClass)); -+ SURGSIM_USED_VARIABLE(bool SURGSIM_CONCATENATE(ClassName, Registered)) = \ -+ BaseClass::getFactory().registerClass<DerivedClass>(#DerivedClass); - - /// Force compilation of the boolean symbol SURGSIM_CONCATENATE(ClassName, Registered) in SURGSIM_REGISTER macro, - /// which in turn registers DerivedClass into BaseClass's ObjectFactory. -@@ -144,7 +144,7 @@ - /// 'ClassName' should be the name of the class without any prefix. - #define SURGSIM_STATIC_REGISTRATION(ClassName) \ - extern bool SURGSIM_CONCATENATE(ClassName, Registered); \ -- SURGSIM_UNUSED_VARIABLE(static bool SURGSIM_CONCATENATE(ClassName, IsRegistered) = \ -- SURGSIM_CONCATENATE(ClassName, Registered)); -+ SURGSIM_USED_VARIABLE(static bool SURGSIM_CONCATENATE(ClassName, IsRegistered)) = \ -+ SURGSIM_CONCATENATE(ClassName, Registered); - - #endif // SURGSIM_FRAMEWORK_OBJECTFACTORY_H diff --git a/debian/patches/backport-e762a2ea9.patch b/debian/patches/backport-e762a2ea9.patch deleted file mode 100644 index 51afdad..0000000 --- a/debian/patches/backport-e762a2ea9.patch +++ /dev/null @@ -1,76 +0,0 @@ -Description: Fix gcc5 related issues [Patch 1/2] - Backported commits from upstream that fix building with GCC 5. - This commit fixes an error with a ObjectFactory, a couple of - failing unit tests, and a variable might be used uninitialized - warning. -Author: Paul Novotny <p...@paulnovo.us> -Origin: upstream, https://github.com/simquest/opensurgsim/commit/e762a2ea9 -Last-Update: 2015-09-08 - ---- a/SurgSim/Framework/Macros.h -+++ b/SurgSim/Framework/Macros.h -@@ -21,11 +21,11 @@ - #define SURGSIM_CLASSNAME(ClassName) \ - virtual std::string getClassName() const {return #ClassName;} - --/// GCC macro to write out an _Pragma statement inside a macro, disabled for other platforms -+/// GCC macro to suppress unused-variable warnings - #ifdef __GNUC__ --#define SURGSIM_DO_PRAGMA(x) _Pragma (#x) -+#define SURGSIM_UNUSED_VARIABLE(x) __attribute__((unused)) x - #else --#define SURGSIM_DO_PRAGMA(x) -+#define SURGSIM_UNUSED_VARIABLE(x) x - #endif - - ///@{ ---- a/SurgSim/Framework/ObjectFactory.h -+++ b/SurgSim/Framework/ObjectFactory.h -@@ -105,7 +105,7 @@ - - private: - -- typedef boost::function<std::shared_ptr<Base>(Parameter1)> Constructor; -+ typedef boost::function<std::shared_ptr<Base>(const Parameter1&)> Constructor; - - /// All the constructors. - std::map<std::string, Constructor> m_constructors; -@@ -126,8 +126,8 @@ - /// 'DerivedClass' is 'ClassName' with namespace prefixes, - /// and 'ClassName' is the name of the class without namespace prefix. - #define SURGSIM_REGISTER(BaseClass, DerivedClass, ClassName) \ -- bool SURGSIM_CONCATENATE(ClassName, Registered) = \ -- BaseClass::getFactory().registerClass<DerivedClass>(#DerivedClass); \ -+ SURGSIM_UNUSED_VARIABLE(bool SURGSIM_CONCATENATE(ClassName, Registered) = \ -+ BaseClass::getFactory().registerClass<DerivedClass>(#DerivedClass)); - - /// Force compilation of the boolean symbol SURGSIM_CONCATENATE(ClassName, Registered) in SURGSIM_REGISTER macro, - /// which in turn registers DerivedClass into BaseClass's ObjectFactory. -@@ -143,10 +143,8 @@ - /// This macro should be put in the DerivedClass's header file, under the same namespace in which the DerivedClass is. - /// 'ClassName' should be the name of the class without any prefix. - #define SURGSIM_STATIC_REGISTRATION(ClassName) \ -- SURGSIM_DO_PRAGMA (GCC diagnostic push); \ -- SURGSIM_DO_PRAGMA (GCC diagnostic ignored "-Wunused-variable"); \ - extern bool SURGSIM_CONCATENATE(ClassName, Registered); \ -- static bool SURGSIM_CONCATENATE(ClassName, IsRegistered) = SURGSIM_CONCATENATE(ClassName, Registered); \ -- SURGSIM_DO_PRAGMA (GCC diagnostic pop) -+ SURGSIM_UNUSED_VARIABLE(static bool SURGSIM_CONCATENATE(ClassName, IsRegistered) = \ -+ SURGSIM_CONCATENATE(ClassName, Registered)); - --#endif // SURGSIM_FRAMEWORK_OBJECTFACTORY_H -\ No newline at end of file -+#endif // SURGSIM_FRAMEWORK_OBJECTFACTORY_H ---- a/SurgSim/Physics/Fem3DElementCorotationalTetrahedron.cpp -+++ b/SurgSim/Physics/Fem3DElementCorotationalTetrahedron.cpp -@@ -180,8 +180,8 @@ - // Now we compute some useful matrices for the next step - double determinant; - bool invertible; -- SurgSim::Math::Matrix33d G, Ginv; -- G = (scaling.trace() * SurgSim::Math::Matrix33d::Identity() - scaling) * m_rotation.transpose(); -+ Math::Matrix33d G = (scaling.trace() * Math::Matrix33d::Identity() - scaling) * m_rotation.transpose(); -+ Math::Matrix33d Ginv = Math::Matrix33d::Zero(); - G.computeInverseAndDetWithCheck(Ginv, determinant, invertible); - if (!invertible) - { diff --git a/debian/patches/dont-install-testing-libraries.patch b/debian/patches/dont-install-testing-libraries.patch deleted file mode 100644 index 562badc..0000000 --- a/debian/patches/dont-install-testing-libraries.patch +++ /dev/null @@ -1,36 +0,0 @@ -Description: Do not install the libraries used for testing - This change prevents the OpenSurgSim testing libraries from being installed - and part of the package. These libraries are just used for the unit tests. -Author: Paul Novotny <p...@paulnovo.us> -Last-Update: 2015-09-09 - ---- a/SurgSim/Testing/CMakeLists.txt -+++ b/SurgSim/Testing/CMakeLists.txt -@@ -34,11 +34,10 @@ - TestCube.h - ) - --surgsim_add_library( -+add_library( - SurgSimTesting - "${SURGSIM_TESTING_SOURCES}" - "${SURGSIM_TESTING_HEADERS}" -- "SurgSim/Testing" - ) - add_dependencies(SurgSimTesting yaml-cpp) - ---- a/SurgSim/Testing/MlcpIO/CMakeLists.txt -+++ b/SurgSim/Testing/MlcpIO/CMakeLists.txt -@@ -34,11 +34,10 @@ - # The headers etc. for this do not need to be shipped, so do NOT use - # surgsim_add_library here. - --surgsim_add_library( -+add_library( - MlcpTestIO - "${MLCP_IO_SOURCES}" - "${MLCP_IO_HEADERS}" -- "SurgSim/MlcpTestIO" - ) - - SET(LIBS diff --git a/debian/patches/fix-build-with-eigen-3-3.patch b/debian/patches/fix-build-with-eigen-3-3.patch index 754dad0..6c1a544 100644 --- a/debian/patches/fix-build-with-eigen-3-3.patch +++ b/debian/patches/fix-build-with-eigen-3-3.patch @@ -1,59 +1,9 @@ Description: Fixes failing build with Eigen 3.3-alpha1 - The update to Eigen 3.3-alpha1 caused the build to break due to changes in the - Quaternion constructor Also, this tweaks a couple of epsilon values in the - unit tests due to changes in Eigen. + This tweaks an epsilon values in the unit tests due to changes in Eigen. Author: Paul Novotny <p...@paulnovo.us> Bug-Debian: https://bugs.debian.org/803145 -Last-Update: 2015-11-05 +Last-Update: 2016-10-14 ---- a/SurgSim/Collision/UnitTests/BoxDoubleSidedPlaneContactCalculationTests.cpp -+++ b/SurgSim/Collision/UnitTests/BoxDoubleSidedPlaneContactCalculationTests.cpp -@@ -143,8 +143,8 @@ - SCOPED_TRACE("Intersection in front of plane, one contact, rotated plane"); - globalQuat = SurgSim::Math::makeRotationQuaternion(-0.3257, Vector3d(-0.4575,-0.8563,0.63457).normalized()); - double angle = -35.264389682754654315377000330019*(M_PI/180.0); -- boxQuat = globalQuat * Quaterniond(SurgSim::Math::makeRotationMatrix(angle, Vector3d(0.0,1.0,0.0)) * -- SurgSim::Math::makeRotationMatrix(-M_PI_4, Vector3d(0.0,0.0,1.0))); -+ boxQuat = globalQuat * SurgSim::Math::makeRotationQuaternion(angle, Vector3d(0.0,1.0,0.0)) * -+ SurgSim::Math::makeRotationQuaternion(-M_PI_4, Vector3d(0.0,0.0,1.0)); - boxTrans = Vector3d(std::sqrt(0.75),0.0,0.0); - planeQuat = globalQuat * SurgSim::Math::makeRotationQuaternion(-M_PI_2, Vector3d(0.0,0.0,1.0)); - planeTrans = boxTrans + globalQuat * Vector3d(-std::sqrt(0.75),0.0,0.0); -@@ -159,8 +159,8 @@ - SCOPED_TRACE("Intersection inside of plane, one contact, rotated plane"); - globalQuat = SurgSim::Math::makeRotationQuaternion(-0.3257, Vector3d(-0.4575,-0.8563,0.63457).normalized()); - double angle = -35.264389682754654315377000330019*(M_PI/180.0); -- boxQuat = globalQuat * Quaterniond(SurgSim::Math::makeRotationMatrix(angle, Vector3d(0.0,1.0,0.0)) * -- SurgSim::Math::makeRotationMatrix(-M_PI_4, Vector3d(0.0,0.0,1.0))); -+ boxQuat = globalQuat * SurgSim::Math::makeRotationQuaternion(angle, Vector3d(0.0,1.0,0.0)) * -+ SurgSim::Math::makeRotationQuaternion(-M_PI_4, Vector3d(0.0,0.0,1.0)); - boxTrans = Vector3d(std::sqrt(0.75),0.0,0.0); - planeQuat = globalQuat * SurgSim::Math::makeRotationQuaternion(-M_PI_2, Vector3d(0.0,0.0,1.0)); - planeTrans = boxTrans + globalQuat * Vector3d(-std::sqrt(0.74),0.0,0.0); ---- a/SurgSim/Collision/UnitTests/BoxPlaneContactCalculationTests.cpp -+++ b/SurgSim/Collision/UnitTests/BoxPlaneContactCalculationTests.cpp -@@ -131,8 +131,8 @@ - SCOPED_TRACE("Intersection in front of plane, one contact, rotated plane"); - globalQuat = SurgSim::Math::makeRotationQuaternion(-0.3257, Vector3d(-0.4575,-0.8563,0.63457).normalized()); - double angle = -35.264389682754654315377000330019*(M_PI/180.0); -- boxQuat = globalQuat * Quaterniond(SurgSim::Math::makeRotationMatrix(angle, Vector3d(0.0,1.0,0.0)) * -- SurgSim::Math::makeRotationMatrix(-M_PI_4, Vector3d(0.0,0.0,1.0))); -+ boxQuat = globalQuat * SurgSim::Math::makeRotationQuaternion(angle, Vector3d(0.0,1.0,0.0)) * -+ SurgSim::Math::makeRotationQuaternion(-M_PI_4, Vector3d(0.0,0.0,1.0)); - boxTrans = Vector3d(std::sqrt(0.75),0.0,0.0); - planeQuat = globalQuat * SurgSim::Math::makeRotationQuaternion(-M_PI_2, Vector3d(0.0,0.0,1.0)); - planeTrans = boxTrans + globalQuat * Vector3d(-std::sqrt(0.75),0.0,0.0); -@@ -146,8 +146,8 @@ - SCOPED_TRACE("Intersection inside of plane, one contact, rotated plane"); - globalQuat = SurgSim::Math::makeRotationQuaternion(0.3465, Vector3d(54.4575,76.8563,43.63457).normalized()); - double angle = -35.264389682754654315377000330019*(M_PI/180.0); -- boxQuat = globalQuat * Quaterniond(SurgSim::Math::makeRotationMatrix(angle, Vector3d(0.0,1.0,0.0)) * -- SurgSim::Math::makeRotationMatrix(-M_PI_4, Vector3d(0.0,0.0,1.0))); -+ boxQuat = globalQuat * SurgSim::Math::makeRotationQuaternion(angle, Vector3d(0.0,1.0,0.0)) * -+ SurgSim::Math::makeRotationQuaternion(-M_PI_4, Vector3d(0.0,0.0,1.0)); - boxTrans = Vector3d(std::sqrt(0.73),0.0,0.0); - planeQuat = globalQuat * SurgSim::Math::makeRotationQuaternion(-M_PI_2, Vector3d(0.0,0.0,1.0)); - planeTrans = boxTrans + globalQuat * Vector3d(-std::sqrt(0.75),0.0,0.0); --- a/SurgSim/Physics/UnitTests/Fem3DElementCorotationalTetrahedronTests.cpp +++ b/SurgSim/Physics/UnitTests/Fem3DElementCorotationalTetrahedronTests.cpp @@ -30,7 +30,7 @@ @@ -65,14 +15,3 @@ Last-Update: 2015-11-05 const double epsilonAddMatVec = 1e-10; }; ---- a/SurgSim/Physics/UnitTests/RigidRepresentationTest.cpp -+++ b/SurgSim/Physics/UnitTests/RigidRepresentationTest.cpp -@@ -446,7 +446,7 @@ - { - SCOPED_TRACE("Almost Identity pose, limitted development in use"); - -- Eigen::AngleAxisd angleAxis(0.2e-8, Vector3d(1.1, -1.4, 3.23).normalized()); -+ Eigen::AngleAxisd angleAxis(5e-8, Vector3d(1.1, -1.4, 3.23).normalized()); - Vector3d t(1.1, 2.2, 3.3); - RigidTransform3d transform = makeRigidTransform(Quaterniond(angleAxis), t); - diff --git a/debian/patches/fix-epsilon-for-tests.patch b/debian/patches/fix-epsilon-for-tests.patch deleted file mode 100644 index fe97f66..0000000 --- a/debian/patches/fix-epsilon-for-tests.patch +++ /dev/null @@ -1,60 +0,0 @@ -Description: Fixes failing tests due to floating point precision - On arm64, ppc64el, powerpc, and ppc64 the - GeometryTest.SegmentTriangleIntersection, GeometryTest.TrianglePlaneTest and - Fem3DElementTetrahedronTests.ForceAndMatricesTest unit tests were failing due - to floating point precision issues. This loosens the equality epsilon in the - Fem3DElementTetrahedronTests and uses an epsilon when doing floating point - comparisons in doesCollideSegmentTriangle. -Author: Paul Novotny <p...@paulnovo.us> -Bug-Debian: https://bugs.debian.org/798717 -Last-Update: 2015-09-20 - ---- a/SurgSim/Math/Geometry.h -+++ b/SurgSim/Math/Geometry.h -@@ -911,7 +911,7 @@ - // Ray is parallel to triangle plane - if (std::abs(b) <= Geometry::AngularEpsilon) - { -- if (a == 0) -+ if (std::abs(a) <= Geometry::AngularEpsilon) - { - // Ray lies in triangle plane - Eigen::Matrix<T, 3, 1, MOpt> baryCoords; -@@ -960,13 +960,13 @@ - // Get and test parametric coords - T s = (uv * wv - vv * wu) / D; - // I is outside T -- if (s < 0 || s > 1) -+ if (s < -Geometry::DistanceEpsilon || s > 1 + Geometry::DistanceEpsilon) - { - return false; - } - T t = (uv * wu - uu * wv) / D; - // I is outside T -- if (t < 0 || (s + t) > 1) -+ if (t < -Geometry::DistanceEpsilon || (s + t) > 1 + Geometry::DistanceEpsilon) - { - return false; - } ---- a/SurgSim/Physics/UnitTests/Fem3DElementTetrahedronTests.cpp -+++ b/SurgSim/Physics/UnitTests/Fem3DElementTetrahedronTests.cpp -@@ -42,7 +42,7 @@ - return inv6V * (ai[i] + bi[i] * p[0] + ci[i] * p[1] + di[i] * p[2]); - } - --const double epsilon = 1e-9; -+const double epsilon = 1e-8; - }; - - class MockFem3DElementTet : public Fem3DElementTetrahedron ---- a/SurgSim/Math/UnitTests/GeometryTests.cpp -+++ b/SurgSim/Math/UnitTests/GeometryTests.cpp -@@ -1041,7 +1041,7 @@ - - distance = distanceTrianglePlane(tri.v0, tri.v1, tri.v2, n, d, &triangleResultPoint, &planeResultPoint); - EXPECT_NEAR((planeResultPoint - triangleResultPoint).norm(), std::abs(distance), epsilon); -- EXPECT_TRUE(distance * sign > 0 || distance == static_cast<double>(sign)); -+ EXPECT_TRUE((sign == 0 && std::abs(distance) <= epsilon) || (distance * sign > 0)); - EXPECT_TRUE(expectedTrianglePoint.isApprox(triangleResultPoint)); - EXPECT_TRUE(expectedPlanePoint.isApprox(planeResultPoint)); - } diff --git a/debian/patches/fix-fem-ply-reading.patch b/debian/patches/fix-fem-ply-reading.patch deleted file mode 100644 index 94d988a..0000000 --- a/debian/patches/fix-fem-ply-reading.patch +++ /dev/null @@ -1,26 +0,0 @@ -Description: Removes reading memory as size_t when it is unsinged int - In the FEM ply reader, boundary condition indexes were being read from memory - as size_t when they were in fact unsigned int. This caused the values to be - incorrect on 64-bit big endian architectures (s390x and ppc64). -Author: Paul Novotny <p...@paulnovo.us> -Bug-Debian: https://bugs.debian.org/798715 -Last-Update: 2015-09-19 - ---- a/SurgSim/Physics/FemPlyReaderDelegate.h -+++ b/SurgSim/Physics/FemPlyReaderDelegate.h -@@ -109,7 +109,7 @@ - bool m_hasBoundaryConditions; - - /// Internal data to receive the "boundary_condition" element -- size_t m_boundaryConditionData; -+ unsigned int m_boundaryConditionData; - - /// Internal iterator to save the "vertex" element - double* m_vertexIterator; -@@ -146,4 +146,4 @@ - } // namespace Physics - } // namespace SurgSim - --#endif // SURGSIM_PHYSICS_FEMPLYREADERDELEGATE_H -\ No newline at end of file -+#endif // SURGSIM_PHYSICS_FEMPLYREADERDELEGATE_H diff --git a/debian/patches/fix-timer.patch b/debian/patches/fix-timer.patch deleted file mode 100644 index 11634c8..0000000 --- a/debian/patches/fix-timer.patch +++ /dev/null @@ -1,18 +0,0 @@ -Description: Fix Timer that caused test failures on mips, mipsel, and s390x - std::accumulate was given an uninitialized value for its initial value. This - explicitly sets it to zero. -Author: Paul Novotny <p...@paulnovo.us> -Bug-Debian: https://bugs.debian.org/798718 -Last-Update: 2015-09-19 - ---- a/SurgSim/Framework/Timer.cpp -+++ b/SurgSim/Framework/Timer.cpp -@@ -60,7 +60,7 @@ - SURGSIM_ASSERT(m_frameDurations.size() > 0) << - "Attempted to access the frames for a Timer with no frames."; - TimerDuration cumulativeTime = std::accumulate(std::begin(m_frameDurations), std::end(m_frameDurations), -- TimerDuration()); -+ TimerDuration::zero()); - return cumulativeTime.count(); - } - diff --git a/debian/patches/gcc6.patch b/debian/patches/gcc6.patch deleted file mode 100644 index 192cef9..0000000 --- a/debian/patches/gcc6.patch +++ /dev/null @@ -1,16 +0,0 @@ -Description: Fix FTBFS with GCC 6 - See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129 -Bug-Debian: https://bugs.debian.org/831096 -Author: Graham Inggs <gin...@debian.org> -Last-Update: 2016-08-23 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -93,7 +93,7 @@ else(USE_SYSTEM_YAMLCPP) - endif(USE_SYSTEM_YAMLCPP) - - include_directories(${SURGSIM_SOURCE_DIR}) --include_directories(SYSTEM -+include_directories( - ${Boost_INCLUDE_DIR} - ${EIGEN3_INCLUDE_DIR} - ${YAML_CPP_INCLUDE_DIR} diff --git a/debian/patches/series b/debian/patches/series index 549cd0e..9167b36 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,17 +1,2 @@ -backport-03c10f32d.patch -use-debian-yaml-cpp.patch -add-version-to-libs.patch -backport-cb568a34f.patch -backport-e762a2ea9.patch -backport-d0a635981.patch -dont-install-testing-libraries.patch -fix-timer.patch -backport-c7925c91f.patch -backport-7b1d8836f.patch -fix-epsilon-for-tests.patch -fix-fem-ply-reading.patch fix-build-with-eigen-3-3.patch -backport-b9584d8c1.patch disable-sensitive-tests.patch -gcc6.patch -backport-5fa47c607.patch diff --git a/debian/patches/use-debian-yaml-cpp.patch b/debian/patches/use-debian-yaml-cpp.patch deleted file mode 100644 index 1515752..0000000 --- a/debian/patches/use-debian-yaml-cpp.patch +++ /dev/null @@ -1,38 +0,0 @@ -Description: Update yaml-cpp name for Flow Style - In the forked yaml-cpp used in OpenSurgSim, the name to indicate flow style is - FlowStyle. With the latest version of yaml-cpp (0.5.1+hg20150210), this has - been changed to EmitterStyle::Flow. -Author: Paul Novotny <p...@paulnovo.us> -Last-Update: 2015-04-24 - ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -87,7 +87,7 @@ - - option(USE_SYSTEM_YAMLCPP "Should we use the system yaml-cpp?" OFF) - if(USE_SYSTEM_YAMLCPP) -- find_package(yaml-cpp 0.5.1.2 EXACT REQUIRED) -+ find_package(yaml-cpp 0.5.2 REQUIRED) - else(USE_SYSTEM_YAMLCPP) - include(External_yamlcpp) - endif(USE_SYSTEM_YAMLCPP) ---- opensurgsim.orig/SurgSim/Math/MathConvert-inl.h -+++ opensurgsim/SurgSim/Math/MathConvert-inl.h -@@ -33,7 +33,7 @@ - const typename Eigen::Matrix<Type, Rows, 1, MOpt>& rhs) - { - Node node; -- node.SetStyle(YAML::FlowStyle); -+ node.SetStyle(YAML::EmitterStyle::Flow); - for (int i = 0; i < rhs.size(); ++i) - { - node.push_back(rhs[i]); -@@ -75,7 +75,7 @@ - const typename Eigen::Matrix<Type, Rows, Cols, MOpt>& rhs) - { - YAML::Node node; -- node.SetStyle(YAML::FlowStyle); -+ node.SetStyle(YAML::EmitterStyle::Flow); - for (int row = 0; row < Rows; ++row) - { - YAML::Node rowNode; -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/opensurgsim.git _______________________________________________ debian-med-commit mailing list debian-med-commit@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit