Alec Jacobson fdaac01bcc Fix AABB::find to not try to run 2D code on 3D input and vice versa (#2294) [ci skip] %!s(int64=2) %!d(string=hai) anos
..
copyleft 1b07ebcf9e rm vector overloads and simplify api (#2290) [ci skip] %!s(int64=2) %!d(string=hai) anos
embree 321d0d8ed0 Fix most floating point exceptions (#2266) %!s(int64=2) %!d(string=hai) anos
mosek a69c8c96f3 Adjust igl::boundary_conditions(...) to support 3D cages (#2229) %!s(int64=2) %!d(string=hai) anos
opengl cb111f6838 Bump to OpenGL version 4.1 (#2277) %!s(int64=2) %!d(string=hai) anos
predicates dd38f82afd Ear clipping function fix (#1565) [ci skip] %!s(int64=2) %!d(string=hai) anos
spectra b1bd5b1216 spectra module (#2216) %!s(int64=2) %!d(string=hai) anos
stb 02e0a1ba83 Separated png module from opengl, added unit test for png (#1693) [ci skip] %!s(int64=2) %!d(string=hai) anos
triangle e19a68cfa6 Bug fix flip_avoiding_line_search.h (#1968) %!s(int64=4) %!d(string=hai) anos
AABB.cpp fdaac01bcc Fix AABB::find to not try to run 2D code on 3D input and vice versa (#2294) [ci skip] %!s(int64=2) %!d(string=hai) anos
MshLoader.cpp 8c95d1044e Added improved .msh reader/writer + tests + example (#1578) %!s(int64=5) %!d(string=hai) anos
MshSaver.cpp 8c95d1044e Added improved .msh reader/writer + tests + example (#1578) %!s(int64=5) %!d(string=hai) anos
accumarray.cpp 1deb471727 extra boundary_facets outputs; better sort prototypes; templates; cleanup %!s(int64=7) %!d(string=hai) anos
adjacency_list.cpp 68684132e5 adj list fix unref; manifold doc; icosa; tests (#2276) [ci skip] %!s(int64=2) %!d(string=hai) anos
avg_edge_length.cpp 6a7428694f rm load_mesh %!s(int64=6) %!d(string=hai) anos
barycentric_interpolation.cpp 1de2627280 tests %!s(int64=5) %!d(string=hai) anos
bbw.cpp a69c8c96f3 Adjust igl::boundary_conditions(...) to support 3D cages (#2229) %!s(int64=2) %!d(string=hai) anos
bezier.cpp 4ab389d462 bezier eval and fit cubic bezier splin %!s(int64=5) %!d(string=hai) anos
blkdiag.cpp 775f2354fa blkdiag function %!s(int64=5) %!d(string=hai) anos
blue_noise.cpp 62fe771ae1 Fix blue_noise and random_points_on_mesh reproducibility (#2235) %!s(int64=2) %!d(string=hai) anos
boundary_facets.cpp 1c3d487d8e rm printing from some tests %!s(int64=3) %!d(string=hai) anos
boundary_loop.cpp d3052ef4c7 Replace IGL_DEBUG_OFF with a [slow] tag for now. %!s(int64=6) %!d(string=hai) anos
cat.cpp 450935874f Extending igl::cat to work with std::vectors AND Allowing N-gons in writeOBJ (#1108) %!s(int64=6) %!d(string=hai) anos
circulation.cpp 1c3c7c7b6f ported new tests to catch2 %!s(int64=7) %!d(string=hai) anos
cotmatrix.cpp ad54f2dfe2 int->Index; depreacted pinv; trivial unit test %!s(int64=5) %!d(string=hai) anos
cotmatrix_entries.cpp 6a7428694f rm load_mesh %!s(int64=6) %!d(string=hai) anos
cotmatrix_intrinsic.cpp d3052ef4c7 Replace IGL_DEBUG_OFF with a [slow] tag for now. %!s(int64=6) %!d(string=hai) anos
cr_vector_curvature_correction.cpp 8ea0b8c6dc Added vector Dirichlet and curved Hessian functionality (#1560) %!s(int64=5) %!d(string=hai) anos
cr_vector_laplacian.cpp 687530283c Fix a bunch of warnings (#2254) %!s(int64=2) %!d(string=hai) anos
cumprod.cpp 1c3c7c7b6f ported new tests to catch2 %!s(int64=7) %!d(string=hai) anos
cumsum.cpp 1c3c7c7b6f ported new tests to catch2 %!s(int64=7) %!d(string=hai) anos
curved_hessian_energy.cpp 8ea0b8c6dc Added vector Dirichlet and curved Hessian functionality (#1560) %!s(int64=5) %!d(string=hai) anos
cut_mesh.cpp f4d14cc7d1 change cut mask %!s(int64=6) %!d(string=hai) anos
cut_to_disk.cpp 6a7428694f rm load_mesh %!s(int64=6) %!d(string=hai) anos
decimate.cpp b774e1b31c Phase out slice for dense matrices (#2259) %!s(int64=2) %!d(string=hai) anos
delaunay_triangulation.cpp 4ce917d424 Issue 521 (#1327) %!s(int64=6) %!d(string=hai) anos
dijkstra.cpp 1df0987271 Fix issue with dijkstra algorithm (#1497) %!s(int64=5) %!d(string=hai) anos
direct_delta_mush.cpp a3c3ef1572 update test too %!s(int64=5) %!d(string=hai) anos
dirname.cpp aa40b908c9 updated gtest to catch %!s(int64=7) %!d(string=hai) anos
doublearea.cpp d3052ef4c7 Replace IGL_DEBUG_OFF with a [slow] tag for now. %!s(int64=6) %!d(string=hai) anos
ears.cpp b774e1b31c Phase out slice for dense matrices (#2259) %!s(int64=2) %!d(string=hai) anos
edge_exists_near.cpp 1c3c7c7b6f ported new tests to catch2 %!s(int64=7) %!d(string=hai) anos
edge_flaps.cpp d3052ef4c7 Replace IGL_DEBUG_OFF with a [slow] tag for now. %!s(int64=6) %!d(string=hai) anos
edge_lengths.cpp 6a7428694f rm load_mesh %!s(int64=6) %!d(string=hai) anos
edges_to_path.cpp b774e1b31c Phase out slice for dense matrices (#2259) %!s(int64=2) %!d(string=hai) anos
euler_characteristic.cpp ab6229c77a Euler Characteristic tests (#2250) %!s(int64=2) %!d(string=hai) anos
exact_geodesic.cpp 30019acb17 exact_geodesic: fix bugs, clean up asserts, allow 2D (#2046) %!s(int64=3) %!d(string=hai) anos
facet_components.cpp 1aa35de249 passing facet_components unit test %!s(int64=5) %!d(string=hai) anos
fast_find_intersections.cpp 1d007f4252 Fast mesh-to-mesh intersection and mesh self intersection without CGAL (#2109) %!s(int64=2) %!d(string=hai) anos
fast_winding_number.cpp d3052ef4c7 Replace IGL_DEBUG_OFF with a [slow] tag for now. %!s(int64=6) %!d(string=hai) anos
fit_cubic_bezier.cpp 4ab389d462 bezier eval and fit cubic bezier splin %!s(int64=5) %!d(string=hai) anos
grad.cpp 607148cf72 Misc compilation fixes for Eigen 3.3 compatibility. %!s(int64=7) %!d(string=hai) anos
grad_intrinsic.cpp 607148cf72 Misc compilation fixes for Eigen 3.3 compatibility. %!s(int64=7) %!d(string=hai) anos
grid.cpp 1c3c7c7b6f ported new tests to catch2 %!s(int64=7) %!d(string=hai) anos
guess_extension.cpp 49a74590d4 cleand cmake and added INSTANTIATE_TEST_CASE_P %!s(int64=7) %!d(string=hai) anos
heat_geodesics.cpp f3a201f1e1 Update heat_geodesics.cpp (#1512) %!s(int64=5) %!d(string=hai) anos
icosahedron.cpp 68684132e5 adj list fix unref; manifold doc; icosa; tests (#2276) [ci skip] %!s(int64=2) %!d(string=hai) anos
increment_ulp.cpp d154f0587c Add test for issue/2270 and a fix (#2271) %!s(int64=2) %!d(string=hai) anos
internal_angles.cpp 7547801f58 use unit vector atan formula; split intrinsic version (#2285) [ci skip] %!s(int64=2) %!d(string=hai) anos
intrinsic_delaunay_cotmatrix.cpp d3052ef4c7 Replace IGL_DEBUG_OFF with a [slow] tag for now. %!s(int64=6) %!d(string=hai) anos
intrinsic_delaunay_triangulation.cpp 1c3c7c7b6f ported new tests to catch2 %!s(int64=7) %!d(string=hai) anos
is_delaunay.cpp 1c3c7c7b6f ported new tests to catch2 %!s(int64=7) %!d(string=hai) anos
is_edge_manifold.cpp d3052ef4c7 Replace IGL_DEBUG_OFF with a [slow] tag for now. %!s(int64=6) %!d(string=hai) anos
is_intrinsic_delaunay.cpp 1c3c7c7b6f ported new tests to catch2 %!s(int64=7) %!d(string=hai) anos
is_irregular_vertex.cpp 687530283c Fix a bunch of warnings (#2254) %!s(int64=2) %!d(string=hai) anos
is_symmetric.cpp aa40b908c9 updated gtest to catch %!s(int64=7) %!d(string=hai) anos
ismember.cpp aa40b908c9 updated gtest to catch %!s(int64=7) %!d(string=hai) anos
isolines.cpp 75209c5d6c Robust isolines (#2251) %!s(int64=2) %!d(string=hai) anos
iterative_closest_point.cpp d3052ef4c7 Replace IGL_DEBUG_OFF with a [slow] tag for now. %!s(int64=6) %!d(string=hai) anos
knn.cpp 21acee15fe making knn and octree work on more types than double, allowing knn to do nearest neighbor searches between two different point clouds (#1313) %!s(int64=5) %!d(string=hai) anos
linprog.cpp b319a97447 Fix 1913; initialization bug; dimension bug; templates (#1914) %!s(int64=4) %!d(string=hai) anos
list_to_matrix.cpp 49a74590d4 cleand cmake and added INSTANTIATE_TEST_CASE_P %!s(int64=7) %!d(string=hai) anos
lscm.cpp 574ab1a3a8 test needs to be less strict %!s(int64=3) %!d(string=hai) anos
massmatrix.cpp 514271af51 Implement full type mass matrix (#2193) %!s(int64=2) %!d(string=hai) anos
min_quad_with_fixed.cpp e2a345a43d Alecjacobson/fix mqwf ldlt (#2239) %!s(int64=2) %!d(string=hai) anos
moments.cpp 238a607032 moments of mass (#2027) %!s(int64=3) %!d(string=hai) anos
orient_halfedges.cpp b774e1b31c Phase out slice for dense matrices (#2259) %!s(int64=2) %!d(string=hai) anos
path_to_edges.cpp 1c3d487d8e rm printing from some tests %!s(int64=3) %!d(string=hai) anos
path_to_executable.cpp b0fd49d598 CMake refactor (#1805) %!s(int64=4) %!d(string=hai) anos
pathinfo.cpp aa40b908c9 updated gtest to catch %!s(int64=7) %!d(string=hai) anos
per_face_normals.cpp d3052ef4c7 Replace IGL_DEBUG_OFF with a [slow] tag for now. %!s(int64=6) %!d(string=hai) anos
polygon_corners.cpp 5a68b6e924 polygon corners test %!s(int64=5) %!d(string=hai) anos
principal_curvature.cpp aaa89ffcbb Fix the order of principal curvature (#1767) %!s(int64=4) %!d(string=hai) anos
procrustes.cpp a183e28109 Fix scale and reflections in Procrustes solver (#2226) [ci skip] %!s(int64=2) %!d(string=hai) anos
qslim.cpp d3052ef4c7 Replace IGL_DEBUG_OFF with a [slow] tag for now. %!s(int64=6) %!d(string=hai) anos
quadprog.cpp 2e988bec2e more explicit template args for win %!s(int64=5) %!d(string=hai) anos
random_points_on_mesh.cpp 62fe771ae1 Fix blue_noise and random_points_on_mesh reproducibility (#2235) %!s(int64=2) %!d(string=hai) anos
randperm.cpp 62fe771ae1 Fix blue_noise and random_points_on_mesh reproducibility (#2235) %!s(int64=2) %!d(string=hai) anos
ray_mesh_intersect.cpp d154f0587c Add test for issue/2270 and a fix (#2271) %!s(int64=2) %!d(string=hai) anos
readDMAT.cpp 46a8dd2fd4 rm load_matrix %!s(int64=6) %!d(string=hai) anos
readMESH.cpp 7a3af9c851 Use unique filename for unit tests to avoid filesystem race conditions + update github actions for nightly job. %!s(int64=5) %!d(string=hai) anos
readMSH.cpp 8d940367bf support rowmajor (#2246) [ci skip] %!s(int64=2) %!d(string=hai) anos
readOBJ.cpp 1c3d487d8e rm printing from some tests %!s(int64=3) %!d(string=hai) anos
readOFF.cpp 6a7428694f rm load_mesh %!s(int64=6) %!d(string=hai) anos
readPLY.cpp 28a811da5d Fixed incorrect reading of per-face data (#1881) %!s(int64=4) %!d(string=hai) anos
remesh_along_isoline.cpp 3150c23b62 RM load_mesh and use igl::read_triangle_mesh() and test_common::data_path() in test for remesh_along_isoline as per https://github.com/libigl/libigl/pull/1365 %!s(int64=5) %!d(string=hai) anos
repmat.cpp d444bb173f Rework sparse repmat (#1819) %!s(int64=3) %!d(string=hai) anos
rigid_alignment.cpp 88e3dd1e3e iterative closest point alg, tutoiral, test %!s(int64=6) %!d(string=hai) anos
seam_edges.cpp aa40b908c9 updated gtest to catch %!s(int64=7) %!d(string=hai) anos
segment_segment_intersect.cpp 16ce83c381 rename test %!s(int64=6) %!d(string=hai) anos
setdiff.cpp aa40b908c9 updated gtest to catch %!s(int64=7) %!d(string=hai) anos
signed_distance.cpp f5702f63e7 Fully avoid conflicting template parameters in AABB/signed_distance (#2257) [ci skip] %!s(int64=2) %!d(string=hai) anos
slice.cpp b774e1b31c Phase out slice for dense matrices (#2259) %!s(int64=2) %!d(string=hai) anos
slice_into.cpp b774e1b31c Phase out slice for dense matrices (#2259) %!s(int64=2) %!d(string=hai) anos
slice_mask.cpp b774e1b31c Phase out slice for dense matrices (#2259) %!s(int64=2) %!d(string=hai) anos
slice_sorted.cpp 26053f696c Avoid involving Eigen/SparseExtra in slice. (#1370) %!s(int64=6) %!d(string=hai) anos
sort.cpp 49a74590d4 cleand cmake and added INSTANTIATE_TEST_CASE_P %!s(int64=7) %!d(string=hai) anos
sparse_voxel_grid.cpp 4d628e75fe sparse_voxel_grid test %!s(int64=5) %!d(string=hai) anos
split_nonmanifold.cpp 33ed4e010b Split mesh non-manifold (and non-orientable) edges and non-manifold vertices (#2047) %!s(int64=3) %!d(string=hai) anos
squared_edge_lengths.cpp 6a7428694f rm load_mesh %!s(int64=6) %!d(string=hai) anos
tet_tet_adjacency.cpp 49a74590d4 cleand cmake and added INSTANTIATE_TEST_CASE_P %!s(int64=7) %!d(string=hai) anos
triangle_triangle_adjacency.cpp d3052ef4c7 Replace IGL_DEBUG_OFF with a [slow] tag for now. %!s(int64=6) %!d(string=hai) anos
triangulated_grid.cpp 1c3c7c7b6f ported new tests to catch2 %!s(int64=7) %!d(string=hai) anos
turning_number.cpp e45a7e0868 missing PI on windows ❄️ %!s(int64=2) %!d(string=hai) anos
unique.cpp aa40b908c9 updated gtest to catch %!s(int64=7) %!d(string=hai) anos
unique_simplices.cpp 1c3c7c7b6f ported new tests to catch2 %!s(int64=7) %!d(string=hai) anos
upsample.cpp d3052ef4c7 Replace IGL_DEBUG_OFF with a [slow] tag for now. %!s(int64=6) %!d(string=hai) anos
writeMSH.cpp 8c95d1044e Added improved .msh reader/writer + tests + example (#1578) %!s(int64=5) %!d(string=hai) anos
writeOFF.cpp e139702373 writeOFF for quads etc. (#2283) [ci skip] %!s(int64=2) %!d(string=hai) anos
writePLY.cpp e91fb2b9e0 Fixes a bug in writePLY introduced in dfda6de04ee733a7b00b1edc57051d1fee78b219 (#1867) %!s(int64=4) %!d(string=hai) anos

readMESH.cpp

#include

#include

#include
#include

TEST_CASE("readMESH: single-tet","[igl]")
{
const std::string filename = "readMESH_single-tet.mesh";
std::ofstream(filename)<< R"(MeshVersionFormatted 1
Dimension 3
Vertices
4
0 0 0 0
0 0 1 0
0 1 0 0
1 0 0 0
Triangles
0
Tetrahedra
1
1 2 3 4 0
End
)";

Eigen::MatrixXd V;
Eigen::MatrixXi T,F;
igl::readMESH(filename,V,T,F);
REQUIRE(V.rows() == 4);
REQUIRE(T.rows() == 1);
REQUIRE(T(0,0) == 0);
REQUIRE(F.rows() == 0);

}


TEST_CASE("readMESH: no-triangles-line","[igl]")
{
const std::string filename = "readMESH_no-triangles-line.mesh";
std::ofstream(filename)<< R"(MeshVersionFormatted 1
Dimension 3
Vertices
4
0 0 0 0
0 0 1 0
0 1 0 0
1 0 0 0
Tetrahedra
1
1 2 3 4 0
)";

Eigen::MatrixXd V;
Eigen::MatrixXi T,F;
igl::readMESH(filename,V,T,F);
REQUIRE(V.rows() == 4);
REQUIRE(T.rows() == 1);
REQUIRE(T(0,0) == 0);
REQUIRE(F.rows() == 0);

}


TEST_CASE("readMESH: mesh-version-formatted-2","[igl]")
{
const std::string filename = "readMESH_mesh-version-formatted-2.mesh";
std::ofstream(filename)<< R"(MeshVersionFormatted 2
Dimension 3
Vertices
4
0 0 0 0
0 0 1 0
0 1 0 0
1 0 0 0
Triangles
0
Tetrahedra
1
1 2 3 4 0
End
)";

Eigen::MatrixXd V;
Eigen::MatrixXi T,F;
igl::readMESH(filename,V,T,F);
REQUIRE(V.rows() == 4);
REQUIRE(T.rows() == 1);
REQUIRE(T(0,0) == 0);
REQUIRE(F.rows() == 0);

}