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

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);

}