From 1bf9b51ab1a487d6e396e12bc3287eb5e8fd42f7 Mon Sep 17 00:00:00 2001 From: Antoine Hoarau Date: Sun, 4 Sep 2016 22:37:26 +0200 Subject: [PATCH] add use case to show eigen3.3 bug #2 --- test/CMakeLists.txt | 14 +++++-- test/cmake/FindEigen.cmake | 81 -------------------------------------- test/test_lgsm.cpp | 22 +++++++++-- 3 files changed, 29 insertions(+), 88 deletions(-) delete mode 100644 test/cmake/FindEigen.cmake diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index caa8ddf..003a458 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,11 +1,17 @@ -set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) +set(CMAKE_CXX_FLAGS "-std=c++11 -Wall") -find_package(Eigen REQUIRED) +find_package(Eigen3 REQUIRED) + +message(" + +Eigen dir : ${EIGEN3_INCLUDE_DIRS} + +") include_directories( - ${Eigen_INCLUDE_DIRS} + ${EIGEN3_INCLUDE_DIRS} ${PROJECT_SOURCE_DIR}/unsupported/ ) -add_executable(lgsm test_lgsm.cpp) +add_executable(lgsm test_lgsm.cpp) diff --git a/test/cmake/FindEigen.cmake b/test/cmake/FindEigen.cmake deleted file mode 100644 index 8587367..0000000 --- a/test/cmake/FindEigen.cmake +++ /dev/null @@ -1,81 +0,0 @@ -############################################################################### -# -# CMake script for finding the Eigen library. -# -# http://eigen.tuxfamily.org/index.php?title=Main_Page -# -# Copyright (c) 2006, 2007 Montel Laurent, -# Copyright (c) 2008, 2009 Gael Guennebaud, -# Copyright (c) 2009 Benoit Jacob -# Redistribution and use is allowed according to the terms of the 2-clause BSD -# license. -# -# -# Input variables: -# -# - Eigen_ROOT_DIR (optional): When specified, header files and libraries -# will be searched for in `${Eigen_ROOT_DIR}/include` and -# `${Eigen_ROOT_DIR}/libs` respectively, and the default CMake search order -# will be ignored. When unspecified, the default CMake search order is used. -# This variable can be specified either as a CMake or environment variable. -# If both are set, preference is given to the CMake variable. -# Use this variable for finding packages installed in a nonstandard location, -# or for enforcing that one of multiple package installations is picked up. -# -# Cache variables (not intended to be used in CMakeLists.txt files) -# -# - Eigen_INCLUDE_DIR: Absolute path to package headers. -# -# -# Output variables: -# -# - Eigen_FOUND: Boolean that indicates if the package was found -# - Eigen_INCLUDE_DIRS: Paths to the necessary header files -# - Eigen_VERSION: Version of Eigen library found -# - Eigen_DEFINITIONS: Definitions to be passed on behalf of eigen -# -# -# Example usage: -# -# # Passing the version means Eigen_FOUND will only be TRUE if a -# # version >= the provided version is found. -# find_package(Eigen 3.1.2) -# if(NOT Eigen_FOUND) -# # Error handling -# endif() -# ... -# add_definitions(${Eigen_DEFINITIONS}) -# ... -# include_directories(${Eigen_INCLUDE_DIRS} ...) -# -############################################################################### - -find_package(PkgConfig) -pkg_check_modules(PC_EIGEN eigen3) -set(EIGEN_DEFINITIONS ${PC_EIGEN_CFLAGS_OTHER}) - - -find_path(EIGEN_INCLUDE_DIR Eigen/Core - HINTS ${PC_EIGEN_INCLUDEDIR} ${PC_EIGEN_INCLUDE_DIRS} - "${Eigen_ROOT_DIR}" "$ENV{EIGEN_ROOT_DIR}" - "${EIGEN_ROOT}" "$ENV{EIGEN_ROOT}" # Backwards Compatibility - PATHS "$ENV{PROGRAMFILES}/Eigen" "$ENV{PROGRAMW6432}/Eigen" - "$ENV{PROGRAMFILES}/Eigen 3.0.0" "$ENV{PROGRAMW6432}/Eigen 3.0.0" - PATH_SUFFIXES eigen3 include/eigen3 include) - -set(EIGEN_INCLUDE_DIRS ${EIGEN_INCLUDE_DIR}) - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(Eigen DEFAULT_MSG EIGEN_INCLUDE_DIR) - -mark_as_advanced(EIGEN_INCLUDE_DIR) - -if(EIGEN_FOUND) - message(STATUS "Eigen found (include: ${EIGEN_INCLUDE_DIRS})") -endif(EIGEN_FOUND) - - -set(Eigen_INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS}) -set(Eigen_FOUND ${EIGEN_FOUND}) -set(Eigen_VERSION ${EIGEN_VERSION}) -set(Eigen_DEFINITIONS ${EIGEN_DEFINITIONS}) diff --git a/test/test_lgsm.cpp b/test/test_lgsm.cpp index 7676376..8fdab0c 100644 --- a/test/test_lgsm.cpp +++ b/test/test_lgsm.cpp @@ -1,7 +1,23 @@ -#include #include +#include int main(int argc, char ** argv) { - return 0; -} \ No newline at end of file + // Eigen::Displacementd a,b; + Eigen::Twistd c; + Eigen::Wrenchd d; + // + //Eigen::Vector3d test = d.getTorque(); + std::cout << c.getAngularVelocity() << std::endl; + // // std::cout << d.getTorque() << std::endl; + // // std::cout << d.getForce() << std::endl; + // // + // // std::cout << a.adjoint() << std::endl; + // auto e = a*b; + // + // std::cout << "a : " << a << std::endl; + // std::cout << "b : " << b << std::endl; + // std::cout << "a*b : " << e << std::endl; + + return 0; +}