diff --git a/cmake/libigl-config.cmake.in b/cmake/libigl-config.cmake.in index 317c745c..f9808e1e 100644 --- a/cmake/libigl-config.cmake.in +++ b/cmake/libigl-config.cmake.in @@ -2,28 +2,28 @@ include(${CMAKE_CURRENT_LIST_DIR}/libigl-export.cmake) -if (TARGET igl::core) - if (NOT TARGET Eigen3::Eigen) - find_package(Eigen3 QUIET) - if (NOT Eigen3_FOUND) - # try with PkgCOnfig - find_package(PkgConfig REQUIRED) - pkg_check_modules(Eigen3 QUIET IMPORTED_TARGET eigen3) - endif() - - if (NOT Eigen3_FOUND) - message(FATAL_ERROR "Could not find required dependency Eigen3") - set(libigl_core_FOUND FALSE) - else() - target_link_libraries(igl::core INTERFACE PkgConfig::Eigen3) - set(libigl_core_FOUND TRUE) - endif() - else() - target_link_libraries(igl::core INTERFACE Eigen3::Eigen) - set(libigl_core_FOUND TRUE) - endif() - -endif() +# if (TARGET igl::core) +# if (NOT TARGET Eigen3::Eigen) +# find_package(Eigen3 QUIET) +# if (NOT Eigen3_FOUND) +# # try with PkgCOnfig +# find_package(PkgConfig REQUIRED) +# pkg_check_modules(Eigen3 QUIET IMPORTED_TARGET eigen3) +# endif() +# +# if (NOT Eigen3_FOUND) +# message(FATAL_ERROR "Could not find required dependency Eigen3") +# set(libigl_core_FOUND FALSE) +# else() +# target_link_libraries(igl::core INTERFACE PkgConfig::Eigen3) +# set(libigl_core_FOUND TRUE) +# endif() +# else() +# target_link_libraries(igl::core INTERFACE Eigen3::Eigen) +# set(libigl_core_FOUND TRUE) +# endif() +# +# endif() check_required_components(libigl) diff --git a/cmake/libigl.cmake b/cmake/libigl.cmake index 4b11007a..47e6c395 100644 --- a/cmake/libigl.cmake +++ b/cmake/libigl.cmake @@ -445,6 +445,7 @@ function(install_dir_files dir_name) if(NOT LIBIGL_USE_STATIC_LIBRARY) file(GLOB public_sources ${CMAKE_CURRENT_SOURCE_DIR}/include/igl${subpath}/*.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/include/igl${subpath}/*.c ) endif() list(APPEND files_to_install ${public_sources}) diff --git a/include/igl/AABB.cpp b/include/igl/AABB.cpp index 09537335..92e90cb7 100644 --- a/include/igl/AABB.cpp +++ b/include/igl/AABB.cpp @@ -1071,5 +1071,11 @@ template void igl::AABB, 3>::init, 2>::init >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&); template double igl::AABB, 3>::squared_distance >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::Matrix const&, double, int&, Eigen::PlainObjectBase >&) const; +template float igl::AABB const, 0, Eigen::Stride<0, 0> >, 3>::squared_distance const, 0, Eigen::Stride<0, 0> > >(Eigen::MatrixBase const, 0, Eigen::Stride<0, 0> > > const&, Eigen::MatrixBase const, 0, Eigen::Stride<0, 0> > > const&, Eigen::Matrix const&, int&, Eigen::PlainObjectBase >&) const; template bool igl::AABB, 3>::intersect_ray >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::Matrix const&, Eigen::Matrix const&, igl::Hit&) const; +template bool igl::AABB, 3>::intersect_ray >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::Matrix const&, Eigen::Matrix const&, std::vector&) const; + +template void igl::AABB const, 0, Eigen::Stride<0, 0> >, 3>::init const, 0, Eigen::Stride<0, 0> > >(Eigen::MatrixBase const, 0, Eigen::Stride<0, 0> > > const&, Eigen::MatrixBase const, 0, Eigen::Stride<0, 0> > > const&); + +template bool igl::AABB const, 0, Eigen::Stride<0, 0> >, 3>::intersect_ray const, 0, Eigen::Stride<0, 0> > >(Eigen::MatrixBase const, 0, Eigen::Stride<0, 0> > > const&, Eigen::MatrixBase const, 0, Eigen::Stride<0, 0> > > const&, Eigen::Matrix const&, Eigen::Matrix const&, std::vector >&) const; #endif diff --git a/include/igl/barycenter.cpp b/include/igl/barycenter.cpp index 065f82aa..ec2d96cd 100644 --- a/include/igl/barycenter.cpp +++ b/include/igl/barycenter.cpp @@ -54,4 +54,6 @@ template void igl::barycenter, Eigen::M template void igl::barycenter, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&); template void igl::barycenter, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&); template void igl::barycenter, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&); + +template void igl::barycenter const, 0, Eigen::Stride<0, 0> >, Eigen::Map const, 0, Eigen::Stride<0, 0> >, Eigen::Matrix >(Eigen::MatrixBase const, 0, Eigen::Stride<0, 0> > > const&, Eigen::MatrixBase const, 0, Eigen::Stride<0, 0> > > const&, Eigen::PlainObjectBase >&); #endif diff --git a/include/igl/point_simplex_squared_distance.cpp b/include/igl/point_simplex_squared_distance.cpp index 2b98bd28..c66d9ae1 100644 --- a/include/igl/point_simplex_squared_distance.cpp +++ b/include/igl/point_simplex_squared_distance.cpp @@ -178,4 +178,6 @@ template void igl::point_simplex_squared_distance<3, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, double, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::Matrix::Index, double&, Eigen::MatrixBase >&, Eigen::PlainObjectBase >&); template void igl::point_simplex_squared_distance<2, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, double, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::Matrix::Index, double&, Eigen::MatrixBase >&, Eigen::PlainObjectBase >&); template void igl::point_simplex_squared_distance<2, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, double, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::Matrix::Index, double&, Eigen::MatrixBase >&, Eigen::PlainObjectBase >&); + +template void igl::point_simplex_squared_distance<3, Eigen::Matrix, Eigen::Map const, 0, Eigen::Stride<0, 0> >, Eigen::Map const, 0, Eigen::Stride<0, 0> >, float, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase const, 0, Eigen::Stride<0, 0> > > const&, Eigen::MatrixBase const, 0, Eigen::Stride<0, 0> > > const&, Eigen::Map const, 0, Eigen::Stride<0, 0> >::Index, float&, Eigen::MatrixBase >&); #endif diff --git a/include/igl/ray_box_intersect.cpp b/include/igl/ray_box_intersect.cpp index 4a88b89e..b547f8f8 100644 --- a/include/igl/ray_box_intersect.cpp +++ b/include/igl/ray_box_intersect.cpp @@ -147,4 +147,6 @@ IGL_INLINE bool igl::ray_box_intersect( #ifdef IGL_STATIC_LIBRARY // Explicit template instantiation template bool igl::ray_box_intersect, Eigen::Matrix, double>(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::AlignedBox const&, double const&, double const&, double&, double&); + +template bool igl::ray_box_intersect, Eigen::Matrix, float>(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::AlignedBox const&, float const&, float const&, float&, float&); #endif diff --git a/include/igl/ray_mesh_intersect.cpp b/include/igl/ray_mesh_intersect.cpp index 9a70a22b..4233e722 100644 --- a/include/igl/ray_mesh_intersect.cpp +++ b/include/igl/ray_mesh_intersect.cpp @@ -83,4 +83,7 @@ IGL_INLINE bool igl::ray_mesh_intersect( template bool igl::ray_mesh_intersect, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, std::vector >&); template bool igl::ray_mesh_intersect, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, igl::Hit&); template bool igl::ray_mesh_intersect, Eigen::Matrix, Eigen::Matrix, Eigen::Block const, 1, -1, false> >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase const, 1, -1, false> > const&, igl::Hit&); +template bool igl::ray_mesh_intersect, Eigen::Matrix, Eigen::Matrix, Eigen::Block const, 1, -1, false> >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase const, 1, -1, false> > const&, std::vector >&); + +template bool igl::ray_mesh_intersect, Eigen::Matrix, Eigen::Map const, 0, Eigen::Stride<0, 0> >, Eigen::Block const, 0, Eigen::Stride<0, 0> > const, 1, -1, true> >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase const, 0, Eigen::Stride<0, 0> > > const&, Eigen::MatrixBase const, 0, Eigen::Stride<0, 0> > const, 1, -1, true> > const&, std::vector >&); #endif