Alec Jacobson (jalec 166ae80c7e strip copyrights il y a 11 ans
..
bbw 8d773485f6 separted bbw as its own extra (mosek optional via IGL_NO_MOSEK), support for mosek 7, better control over verbosity in bbw il y a 11 ans
boost 31685d56d9 openmp for bfs_orient and sparse for components il y a 11 ans
embree a62db17aaf merge il y a 11 ans
matlab 166ae80c7e strip copyrights il y a 11 ans
mosek 8d773485f6 separted bbw as its own extra (mosek optional via IGL_NO_MOSEK), support for mosek 7, better control over verbosity in bbw il y a 11 ans
png 4254525627 better polar decompostion il y a 11 ans
tetgen 4254525627 better polar decompostion il y a 11 ans
xml 8c0fbf8eb8 * Splitted XMLSerializer in multiple header files il y a 11 ans
C_STR.h f361d3afe1 fixed bullshit min/max undef in medit. Hot dog slices work on cap il y a 12 ans
Camera.cpp 9bc7464767 compile on windows with visual studio il y a 12 ans
Camera.h 09ef1c952b camera class, render to png extra, yimg external, more material colors (those used in FAST paper), il y a 12 ans
EPS.cpp 918eb788b0 medit with reantweakbar il y a 12 ans
EPS.h 918eb788b0 medit with reantweakbar il y a 12 ans
IndexComparison.h 1a5dd79889 optimize performance on sorting and unique routines il y a 11 ans
MCTables.hh 9f80dbdd02 minor updates to marching cubes il y a 13 ans
NormalType.h 4c00932f06 normal type il y a 12 ans
ONE.h 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
OpenGL_convenience.h 159d285d8d missing opengl convenience header il y a 11 ans
PI.h bd4d115fea major reorganization of directory structure il y a 13 ans
REDRUM.h 81c3eb0fdd example for render to png il y a 12 ans
ReAntTweakBar.cpp 93eef89048 define enum from string il y a 11 ans
ReAntTweakBar.h 166ae80c7e strip copyrights il y a 11 ans
STR.h 6548d97306 string magic il y a 12 ans
SolverStatus.h 4c419d4ec7 sovler status file il y a 11 ans
SortableRow.h b7fe54e95c higher precision writeoff and writedmat, fixed bug in mat_max, more templates, sort rows, unique rows, double area il y a 12 ans
Timer.h 929bd03e21 * Fixed XMLSerializer to compile with gcc il y a 12 ans
Viewport.h 32a3ea765e namespaces and missing includes in curvature related code il y a 11 ans
ZERO.h bd4d115fea major reorganization of directory structure il y a 13 ans
active_set.cpp 32a3ea765e namespaces and missing includes in curvature related code il y a 11 ans
active_set.h 4c419d4ec7 sovler status file il y a 11 ans
add_barycenter.cpp 32a3ea765e namespaces and missing includes in curvature related code il y a 11 ans
add_barycenter.h 1f9a88dcef committed missing files il y a 11 ans
adjacency_list.cpp 83ab1471cc improved template types il y a 11 ans
adjacency_list.h 83ab1471cc improved template types il y a 11 ans
adjacency_matrix.cpp 7dd2ea26d9 boost extra, connected components in mesh il y a 11 ans
adjacency_matrix.h 0b404948e7 fix bug in reantweakbar, better draw mesh and generalized adjacnecy matrix il y a 12 ans
all_edges.cpp 90c610c06b mv from volume project il y a 12 ans
all_edges.h 90c610c06b mv from volume project il y a 12 ans
all_pairs_distances.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
all_pairs_distances.h bd4d115fea major reorganization of directory structure il y a 13 ans
avg_edge_length.cpp 1f9a88dcef committed missing files il y a 11 ans
avg_edge_length.h 1f9a88dcef committed missing files il y a 11 ans
axis_angle_to_quat.cpp 918eb788b0 medit with reantweakbar il y a 12 ans
axis_angle_to_quat.h 918eb788b0 medit with reantweakbar il y a 12 ans
barycenter.cpp 057290c556 explicit and quite embreeintersector il y a 11 ans
barycenter.h 840830f753 transparency with sorted primitives example, viewport class, lots more explicits il y a 11 ans
basename.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
basename.h bd4d115fea major reorganization of directory structure il y a 13 ans
boundary_conditions.cpp 6095905162 fixed bug in boundary_conditions il y a 12 ans
boundary_conditions.h 62e00dd205 fixed bug in antweakbar il y a 11 ans
boundary_faces.cpp f911a43b02 explicit instances il y a 12 ans
boundary_faces.h f911a43b02 explicit instances il y a 12 ans
bounding_box_diagonal.cpp 027c6c3e0c embree hits il y a 12 ans
bounding_box_diagonal.h 027c6c3e0c embree hits il y a 12 ans
canonical_quaternions.cpp 5f7bb2d694 support for double quats in reanttweakbar and some templates il y a 13 ans
canonical_quaternions.h 840830f753 transparency with sorted primitives example, viewport class, lots more explicits il y a 11 ans
cat.cpp e96173c4f0 template instanciation il y a 11 ans
cat.h bd4d115fea major reorganization of directory structure il y a 13 ans
cocoa_key_to_anttweakbar_key.cpp 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
cocoa_key_to_anttweakbar_key.h 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
colon.cpp 64b2825610 better asserts and output il y a 11 ans
colon.h bd4d115fea major reorganization of directory structure il y a 13 ans
concat.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
concat.h bd4d115fea major reorganization of directory structure il y a 13 ans
cotangent.cpp a1b5fdeea3 explicit instanciation il y a 11 ans
cotangent.h fd0b8cc729 * Added embree2.0 support il y a 11 ans
cotmatrix.cpp 13020d0872 libigl.a and mosek/tetgen extras compile on redhat (with some warnings and removed deprecations), static library makefile for anttweakbar il y a 13 ans
cotmatrix.h 020369bc7e write TGF graphs, mesh with sampled skeleton edges, tiny xml il y a 12 ans
create_index_vbo.cpp 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
create_index_vbo.h 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
create_mesh_vbo.cpp 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
create_mesh_vbo.h 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
create_shader_program.cpp 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
create_shader_program.h 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
create_vector_vbo.cpp 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
create_vector_vbo.h 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
cross.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
cross.h bd4d115fea major reorganization of directory structure il y a 13 ans
destroy_shader_program.cpp 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
destroy_shader_program.h 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
diag.cpp 3723471c36 better assertions, diag is obsolete, min_quad_with_fixed supports linearly dependent Aeq constraints, but Eigen's sparseQR is not giving a sparse Q so this is a huge bottleneck (dense) il y a 11 ans
diag.h 3723471c36 better assertions, diag is obsolete, min_quad_with_fixed supports linearly dependent Aeq constraints, but Eigen's sparseQR is not giving a sparse Q so this is a huge bottleneck (dense) il y a 11 ans
dirname.cpp 9e49a8d87b fixed verbose and merged il y a 13 ans
dirname.h bd4d115fea major reorganization of directory structure il y a 13 ans
dot.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
dot.h bd4d115fea major reorganization of directory structure il y a 13 ans
doublearea.cpp 524e9d2c7f doublearea now more robust il y a 11 ans
doublearea.h d0b39290b1 bug fixes per il y a 12 ans
draw_beach_ball.cpp 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
draw_beach_ball.h 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
draw_floor.cpp 440670b2ac fixed bug in per_corner_normals, separated draw_Floor_outline from draw_floor il y a 11 ans
draw_floor.h de5bb8e10c draw mesh with TC, lens flare had weird stray line il y a 11 ans
draw_mesh.cpp 9c2c147b2a more friendly draw_mesh, templates il y a 11 ans
draw_mesh.h de5bb8e10c draw mesh with TC, lens flare had weird stray line il y a 11 ans
draw_point.cpp 07fb81e068 better mem management in embreeintersector and corerct unporject in mesh il y a 11 ans
draw_point.h 07fb81e068 better mem management in embreeintersector and corerct unporject in mesh il y a 11 ans
edge_lengths.cpp a1b5fdeea3 explicit instanciation il y a 11 ans
edge_lengths.h bd4d115fea major reorganization of directory structure il y a 13 ans
edges.cpp 0232b4419d updated bbw demo (need to test again il y a 12 ans
edges.h bd4d115fea major reorganization of directory structure il y a 13 ans
edgetopology.cpp 9a5a4b544a edge topology clean up and mexErrMsgTxt il y a 11 ans
edgetopology.h 9a5a4b544a edge topology clean up and mexErrMsgTxt il y a 11 ans
example_fun.cpp 2a4bcd5c5a more documentation, fixed bug in reanttweakbar il y a 12 ans
example_fun.h bd4d115fea major reorganization of directory structure il y a 13 ans
face_occurences.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
face_occurences.h bd4d115fea major reorganization of directory structure il y a 13 ans
faces_first.cpp 1f70076a7a fixed optimization flags in some Makefiles, tetgen wraper, launch medit, mosek wrapper il y a 13 ans
faces_first.h 1a95558933 anttweakbar patch il y a 12 ans
file_contents_as_string.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
file_contents_as_string.h bd4d115fea major reorganization of directory structure il y a 13 ans
file_exists.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
file_exists.h bd4d115fea major reorganization of directory structure il y a 13 ans
find.cpp fb286e6f8f matlab formating for printing il y a 12 ans
find.h 98be5f8569 fixed bug in render to tga il y a 13 ans
flare_textures.h.REMOVED.git-id 1ab13ff6cf lens flares il y a 11 ans
full.cpp 3723471c36 better assertions, diag is obsolete, min_quad_with_fixed supports linearly dependent Aeq constraints, but Eigen's sparseQR is not giving a sparse Q so this is a huge bottleneck (dense) il y a 11 ans
full.h 9e0f5c7a15 active set works but is a little slow, full() is obsolete, explicits il y a 11 ans
get_seconds.cpp 13020d0872 libigl.a and mosek/tetgen extras compile on redhat (with some warnings and removed deprecations), static library makefile for anttweakbar il y a 13 ans
get_seconds.h bd4d115fea major reorganization of directory structure il y a 13 ans
get_seconds_hires.cpp 9bc7464767 compile on windows with visual studio il y a 12 ans
get_seconds_hires.h bd4d115fea major reorganization of directory structure il y a 13 ans
gl_type_size.cpp 3723471c36 better assertions, diag is obsolete, min_quad_with_fixed supports linearly dependent Aeq constraints, but Eigen's sparseQR is not giving a sparse Q so this is a huge bottleneck (dense) il y a 11 ans
gl_type_size.h 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
grad.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
grad.h 166a191467 clean up some headers, auto doc and todos il y a 12 ans
gradMat.cpp 7838aaf443 added missing includes in gradmat il y a 12 ans
gradMat.h 7838aaf443 added missing includes in gradmat il y a 12 ans
harwell_boeing.cpp 98be5f8569 fixed bug in render to tga il y a 13 ans
harwell_boeing.h 98be5f8569 fixed bug in render to tga il y a 13 ans
hsv_to_rgb.cpp f6d07e01d1 * fixed bug in hsv_to_rgb function il y a 12 ans
hsv_to_rgb.h 2355a62a2d oops, missing rgb2fromhsv il y a 12 ans
igl_inline.h bd4d115fea major reorganization of directory structure il y a 13 ans
invert_diag.cpp 3ac7c1ed69 missing vector include in matlabworksapce il y a 11 ans
invert_diag.h 15ccf65951 invert diag il y a 13 ans
is_border_vertex.cpp f7d4aaeaf3 make is_border_vertex() + tt() work for general face matrix types il y a 12 ans
is_border_vertex.h 166ae80c7e strip copyrights il y a 11 ans
is_dir.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
is_dir.h bd4d115fea major reorganization of directory structure il y a 13 ans
is_file.cpp 9bc7464767 compile on windows with visual studio il y a 12 ans
is_file.h bd4d115fea major reorganization of directory structure il y a 13 ans
is_manifold.cpp a1b5fdeea3 explicit instanciation il y a 11 ans
is_manifold.h 166ae80c7e strip copyrights il y a 11 ans
is_readable.cpp 88ab84a1d9 readDMAT binary il y a 13 ans
is_readable.h bd4d115fea major reorganization of directory structure il y a 13 ans
is_sparse.cpp dd6d4ac69b is sparse and full templtated to work even if already full il y a 12 ans
is_sparse.h dd6d4ac69b is sparse and full templtated to work even if already full il y a 12 ans
is_symmetric.cpp f64f623a31 more explicits, transitioning min_quad_with_fixed (sparse), lu lagrange is broken for constraints, is_symmetric with threshold, full from sparse il y a 11 ans
is_symmetric.h f64f623a31 more explicits, transitioning min_quad_with_fixed (sparse), lu lagrange is broken for constraints, is_symmetric with threshold, full from sparse il y a 11 ans
is_writable.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
is_writable.h bd4d115fea major reorganization of directory structure il y a 13 ans
jet.cpp 7dd2ea26d9 boost extra, connected components in mesh il y a 11 ans
jet.h 2355a62a2d oops, missing rgb2fromhsv il y a 12 ans
launch_medit.cpp 6b9a74a8e3 bug fix in readDMAT il y a 12 ans
launch_medit.h 6b9a74a8e3 bug fix in readDMAT il y a 12 ans
lens_flare.cpp de5bb8e10c draw mesh with TC, lens flare had weird stray line il y a 11 ans
lens_flare.h f92bae1b4f missing igl_no_opengl s il y a 11 ans
limit_faces.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
limit_faces.h bd4d115fea major reorganization of directory structure il y a 13 ans
list_to_matrix.cpp 41fdc8f8ba fixed examples and ambient occlusion to compile and run with embree 2.0 il y a 11 ans
list_to_matrix.h 166a191467 clean up some headers, auto doc and todos il y a 12 ans
load_shader.cpp 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
load_shader.h 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
lu_lagrange.cpp f64f623a31 more explicits, transitioning min_quad_with_fixed (sparse), lu lagrange is broken for constraints, is_symmetric with threshold, full from sparse il y a 11 ans
lu_lagrange.h f64f623a31 more explicits, transitioning min_quad_with_fixed (sparse), lu lagrange is broken for constraints, is_symmetric with threshold, full from sparse il y a 11 ans
marching_cubes.cpp 9f80dbdd02 minor updates to marching cubes il y a 13 ans
marching_cubes.h 166a191467 clean up some headers, auto doc and todos il y a 12 ans
massmatrix.cpp 3723471c36 better assertions, diag is obsolete, min_quad_with_fixed supports linearly dependent Aeq constraints, but Eigen's sparseQR is not giving a sparse Q so this is a huge bottleneck (dense) il y a 11 ans
massmatrix.h 020369bc7e write TGF graphs, mesh with sampled skeleton edges, tiny xml il y a 12 ans
mat_max.cpp b7fe54e95c higher precision writeoff and writedmat, fixed bug in mat_max, more templates, sort rows, unique rows, double area il y a 12 ans
mat_max.h dd34e4f144 quiter qp solves, mat3_to_quat, more matlabworkspace saves, polar svd il y a 11 ans
mat_min.cpp f911a43b02 explicit instances il y a 12 ans
mat_min.h f911a43b02 explicit instances il y a 12 ans
mat_to_quat.cpp dd34e4f144 quiter qp solves, mat3_to_quat, more matlabworkspace saves, polar svd il y a 11 ans
mat_to_quat.h dd34e4f144 quiter qp solves, mat3_to_quat, more matlabworkspace saves, polar svd il y a 11 ans
material_colors.h b2673a24de embree il y a 12 ans
matlab_format.cpp 091070b9c8 default parameters shoudn't be defined more than once il y a 11 ans
matlab_format.h c6d497be0b missing include il y a 12 ans
matrix_to_list.cpp 5af95b7828 merge il y a 12 ans
matrix_to_list.h 98be5f8569 fixed bug in render to tga il y a 13 ans
max_size.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
max_size.h bd4d115fea major reorganization of directory structure il y a 13 ans
median.cpp 90c610c06b mv from volume project il y a 12 ans
median.h 90c610c06b mv from volume project il y a 12 ans
min_quad_dense.cpp 13020d0872 libigl.a and mosek/tetgen extras compile on redhat (with some warnings and removed deprecations), static library makefile for anttweakbar il y a 13 ans
min_quad_dense.h 97e8cb20bd add use_lu as parameter to min_quad_dense il y a 13 ans
min_quad_with_fixed.cpp 8d773485f6 separted bbw as its own extra (mosek optional via IGL_NO_MOSEK), support for mosek 7, better control over verbosity in bbw il y a 11 ans
min_quad_with_fixed.h 3723471c36 better assertions, diag is obsolete, min_quad_with_fixed supports linearly dependent Aeq constraints, but Eigen's sparseQR is not giving a sparse Q so this is a huge bottleneck (dense) il y a 11 ans
min_size.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
min_size.h bd4d115fea major reorganization of directory structure il y a 13 ans
mode.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
mode.h bd4d115fea major reorganization of directory structure il y a 13 ans
moveFV.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
moveFV.h 166a191467 clean up some headers, auto doc and todos il y a 12 ans
moveVF.cpp 8ec78b3edb added curvature estimator il y a 11 ans
moveVF.h 8ec78b3edb added curvature estimator il y a 11 ans
mvc.cpp 96f38d6247 missing cpp files il y a 12 ans
mvc.h 166a191467 clean up some headers, auto doc and todos il y a 12 ans
normalize_quat.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
normalize_quat.h bd4d115fea major reorganization of directory structure il y a 13 ans
normalize_row_lengths.cpp e96173c4f0 template instanciation il y a 11 ans
normalize_row_lengths.h 20641d7778 normalize rows disambiguation il y a 13 ans
normalize_row_sums.cpp 98be5f8569 fixed bug in render to tga il y a 13 ans
normalize_row_sums.h 98be5f8569 fixed bug in render to tga il y a 13 ans
on_boundary.cpp 0232b4419d updated bbw demo (need to test again il y a 12 ans
on_boundary.h bd4d115fea major reorganization of directory structure il y a 13 ans
orient_outward.cpp 5a2fc109ed refactored per_face_normals with option for degenerate fill in. Fixed compile issue with orient_outward_ao il y a 11 ans
orient_outward.h 5f982bef4b merge orient outward heuristic, bfs orient patches, patch example il y a 11 ans
orth.cpp 96f38d6247 missing cpp files il y a 12 ans
orth.h 166a191467 clean up some headers, auto doc and todos il y a 12 ans
pathinfo.cpp 13020d0872 libigl.a and mosek/tetgen extras compile on redhat (with some warnings and removed deprecations), static library makefile for anttweakbar il y a 13 ans
pathinfo.h bd4d115fea major reorganization of directory structure il y a 13 ans
per_corner_normals.cpp 440670b2ac fixed bug in per_corner_normals, separated draw_Floor_outline from draw_floor il y a 11 ans
per_corner_normals.h 166a191467 clean up some headers, auto doc and todos il y a 12 ans
per_face_normals.cpp 5a2fc109ed refactored per_face_normals with option for degenerate fill in. Fixed compile issue with orient_outward_ao il y a 11 ans
per_face_normals.h 5a2fc109ed refactored per_face_normals with option for degenerate fill in. Fixed compile issue with orient_outward_ao il y a 11 ans
per_vertex_attribute_smoothing.cpp b0c36fb339 per vertex attribute smoothing il y a 13 ans
per_vertex_attribute_smoothing.h b0c36fb339 per vertex attribute smoothing il y a 13 ans
per_vertex_normals.cpp 29e58000b6 remove lint from per_vertex_normals il y a 11 ans
per_vertex_normals.h 5aaf034493 indentation in per_vertex_normals il y a 13 ans
plot_vector.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
plot_vector.h 166a191467 clean up some headers, auto doc and todos il y a 12 ans
point_in_circle.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
point_in_circle.h bd4d115fea major reorganization of directory structure il y a 13 ans
point_in_poly.cpp ce04f279c6 added point_in_poly il y a 11 ans
point_in_poly.h 57eb03d34b bad include guard in point_in_poly il y a 11 ans
polar_dec.cpp 4254525627 better polar decompostion il y a 11 ans
polar_dec.h 4254525627 better polar decompostion il y a 11 ans
polar_svd.cpp 4254525627 better polar decompostion il y a 11 ans
polar_svd.h 4254525627 better polar decompostion il y a 11 ans
pos.h 166ae80c7e strip copyrights il y a 11 ans
principal_curvature.cpp 54bba0c1bb fixed bug in the curvature directions (principal_curvature.cpp) il y a 11 ans
principal_curvature.h 32a3ea765e namespaces and missing includes in curvature related code il y a 11 ans
print_gl_get.cpp 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
print_gl_get.h 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
print_ijv.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
print_ijv.h bd4d115fea major reorganization of directory structure il y a 13 ans
print_program_info_log.cpp 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
print_program_info_log.h 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
print_shader_info_log.cpp 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
print_shader_info_log.h 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
project.cpp 7dd2ea26d9 boost extra, connected components in mesh il y a 11 ans
project.h 440670b2ac fixed bug in per_corner_normals, separated draw_Floor_outline from draw_floor il y a 11 ans
project_to_line.cpp bb63394f8d project to lines better prototypes il y a 12 ans
project_to_line.h 166ae80c7e strip copyrights il y a 11 ans
quat_conjugate.cpp 09ef1c952b camera class, render to png extra, yimg external, more material colors (those used in FAST paper), il y a 12 ans
quat_conjugate.h bd4d115fea major reorganization of directory structure il y a 13 ans
quat_mult.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
quat_mult.h bd4d115fea major reorganization of directory structure il y a 13 ans
quat_to_axis_angle.cpp 918eb788b0 medit with reantweakbar il y a 12 ans
quat_to_axis_angle.h 918eb788b0 medit with reantweakbar il y a 12 ans
quat_to_mat.cpp 09ef1c952b camera class, render to png extra, yimg external, more material colors (those used in FAST paper), il y a 12 ans
quat_to_mat.h bd4d115fea major reorganization of directory structure il y a 13 ans
random_dir.cpp c3d5b2b5d9 ambient occlusion demo il y a 11 ans
random_dir.h 20fed434f2 missing IGL_HEADER_ONLY switch in random_dir.h il y a 11 ans
randperm.cpp fc8fd874b7 randperm, and manifold patches seemingly working il y a 11 ans
randperm.h fc8fd874b7 randperm, and manifold patches seemingly working il y a 11 ans
read.cpp df3470adb9 read works with vector of vector il y a 13 ans
read.h 166ae80c7e strip copyrights il y a 11 ans
readDMAT.cpp 9c2c147b2a more friendly draw_mesh, templates il y a 11 ans
readDMAT.h d8c6aebae3 readDMAT for vectors of vectors il y a 13 ans
readMESH.cpp 974039f95c faster file formats il y a 12 ans
readMESH.h 974039f95c faster file formats il y a 12 ans
readNODE.cpp 929bd03e21 * Fixed XMLSerializer to compile with gcc il y a 12 ans
readNODE.h dc620a9324 btter file formats, readNODE il y a 12 ans
readOBJ.cpp 524e9d2c7f doublearea now more robust il y a 11 ans
readOBJ.h 166ae80c7e strip copyrights il y a 11 ans
readOFF.cpp 47eca76c0f Fixed bug in readoff that cast input to single precision float il y a 12 ans
readOFF.h 166ae80c7e strip copyrights il y a 11 ans
readTGF.cpp 9bc7464767 compile on windows with visual studio il y a 12 ans
readTGF.h b7c14347a1 sample edges from FAST il y a 12 ans
readWRL.cpp 831cdd3bb8 explicit instanciation for readWRL il y a 11 ans
readWRL.h a1f4cee040 readWRL and triangulate il y a 11 ans
read_eigen_from_CSV.cpp 32a3ea765e namespaces and missing includes in curvature related code il y a 11 ans
read_eigen_from_CSV.h 32a3ea765e namespaces and missing includes in curvature related code il y a 11 ans
removeDuplicates.cpp a3fa057018 templates for removeDuplicates il y a 12 ans
removeDuplicates.h 166ae80c7e strip copyrights il y a 11 ans
removeUnreferenced.cpp dc620a9324 btter file formats, readNODE il y a 12 ans
removeUnreferenced.h dc620a9324 btter file formats, readNODE il y a 12 ans
remove_duplicate_vertices.cpp 5e178e4771 fixed compilation error with clang il y a 11 ans
remove_duplicate_vertices.h 90c610c06b mv from volume project il y a 12 ans
render_to_tga.cpp 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
render_to_tga.h 09ef1c952b camera class, render to png extra, yimg external, more material colors (those used in FAST paper), il y a 12 ans
reorder.cpp 5af95b7828 merge il y a 12 ans
reorder.h 3a23f100c2 merge il y a 12 ans
repdiag.cpp 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
repdiag.h bd4d115fea major reorganization of directory structure il y a 13 ans
repmat.cpp 4254525627 better polar decompostion il y a 11 ans
repmat.h f64f623a31 more explicits, transitioning min_quad_with_fixed (sparse), lu lagrange is broken for constraints, is_symmetric with threshold, full from sparse il y a 11 ans
report_gl_error.cpp 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
report_gl_error.h 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
rgb_to_hsv.cpp 2355a62a2d oops, missing rgb2fromhsv il y a 12 ans
rgb_to_hsv.h 2355a62a2d oops, missing rgb2fromhsv il y a 12 ans
right_axis.cpp 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
right_axis.h e8ea1f9c76 axes from autodof il y a 11 ans
rotate_by_quat.cpp 09ef1c952b camera class, render to png extra, yimg external, more material colors (those used in FAST paper), il y a 12 ans
rotate_by_quat.h bd4d115fea major reorganization of directory structure il y a 13 ans
round.cpp 840830f753 transparency with sorted primitives example, viewport class, lots more explicits il y a 11 ans
round.h 90c610c06b mv from volume project il y a 12 ans
rows_to_matrix.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
rows_to_matrix.h bd4d115fea major reorganization of directory structure il y a 13 ans
sample_edges.cpp b7c14347a1 sample edges from FAST il y a 12 ans
sample_edges.h b7c14347a1 sample edges from FAST il y a 12 ans
shine_textures.h.REMOVED.git-id 1ab13ff6cf lens flares il y a 11 ans
slice.cpp e96173c4f0 template instanciation il y a 11 ans
slice.h e96173c4f0 template instanciation il y a 11 ans
slice_into.cpp 13020d0872 libigl.a and mosek/tetgen extras compile on redhat (with some warnings and removed deprecations), static library makefile for anttweakbar il y a 13 ans
slice_into.h bd4d115fea major reorganization of directory structure il y a 13 ans
snap_to_canonical_view_quat.cpp 09ef1c952b camera class, render to png extra, yimg external, more material colors (those used in FAST paper), il y a 12 ans
snap_to_canonical_view_quat.h bd4d115fea major reorganization of directory structure il y a 13 ans
sort.cpp 5f982bef4b merge orient outward heuristic, bfs orient patches, patch example il y a 11 ans
sort.h 1a5dd79889 optimize performance on sorting and unique routines il y a 11 ans
sort_triangles.cpp f92bae1b4f missing igl_no_opengl s il y a 11 ans
sort_triangles.h f92bae1b4f missing igl_no_opengl s il y a 11 ans
sortrows.cpp fc8fd874b7 randperm, and manifold patches seemingly working il y a 11 ans
sortrows.h 1a5dd79889 optimize performance on sorting and unique routines il y a 11 ans
sparse.cpp e96173c4f0 template instanciation il y a 11 ans
sparse.h 8b9b21e163 added warning in sparse il y a 11 ans
speye.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
speye.h bd4d115fea major reorganization of directory structure il y a 13 ans
stdin_to_temp.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
stdin_to_temp.h bd4d115fea major reorganization of directory structure il y a 13 ans
sum.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
sum.h bd4d115fea major reorganization of directory structure il y a 13 ans
svd.cpp 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
svd.h 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
texture_from_tga.cpp 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
texture_from_tga.h 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
tga.cpp 5e178e4771 fixed compilation error with clang il y a 11 ans
tga.h 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
trackball.cpp cd699ac561 matrix to quaternion converter and draw beach ball glyph from anttweakbar il y a 12 ans
trackball.h cd699ac561 matrix to quaternion converter and draw beach ball glyph from anttweakbar il y a 12 ans
transpose_blocks.cpp 0c24b8bf32 fixed size_t il y a 12 ans
transpose_blocks.h bd4d115fea major reorganization of directory structure il y a 13 ans
triangulate.cpp a1f4cee040 readWRL and triangulate il y a 11 ans
triangulate.h a1f4cee040 readWRL and triangulate il y a 11 ans
tt.cpp 83ab1471cc improved template types il y a 11 ans
tt.h 166ae80c7e strip copyrights il y a 11 ans
uniform_type_to_string.cpp 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
uniform_type_to_string.h 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
unique.cpp fc8fd874b7 randperm, and manifold patches seemingly working il y a 11 ans
unique.h 7dd2ea26d9 boost extra, connected components in mesh il y a 11 ans
unique_simplices.cpp 90c610c06b mv from volume project il y a 12 ans
unique_simplices.h 90c610c06b mv from volume project il y a 12 ans
unproject.cpp bc940b6418 removed templates from EmbreeINtersector il y a 11 ans
unproject.h bd42504bec flare eyes example working il y a 11 ans
unproject_to_zero_plane.cpp bc93395f68 eigen unproject to plane, draw floor with lines il y a 11 ans
unproject_to_zero_plane.h bc93395f68 eigen unproject to plane, draw floor with lines il y a 11 ans
up_axis.cpp 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
up_axis.h e8ea1f9c76 axes from autodof il y a 11 ans
upsample.cpp 42942b051b parallel upsample il y a 12 ans
upsample.h 42942b051b parallel upsample il y a 12 ans
verbose.h 64cc763dd8 compiles on mac (bug fix in upsample) il y a 13 ans
vf.cpp 21f9758feb added a few specializations il y a 13 ans
vf.h bd4d115fea major reorganization of directory structure il y a 13 ans
view_axis.cpp 79341b5bd6 compress in tutorial, better header in compress, ifndef IGL_NO_OPENGL and IGL_NO_ANTTWEAKBAR guards, compress compiles without these, undo svd il y a 11 ans
view_axis.h e8ea1f9c76 axes from autodof il y a 11 ans
write.cpp bd4d115fea major reorganization of directory structure il y a 13 ans
write.h 166ae80c7e strip copyrights il y a 11 ans
writeDMAT.cpp 96227047f8 performance tuning and explicits il y a 11 ans
writeDMAT.h 974039f95c faster file formats il y a 12 ans
writeMESH.cpp 974039f95c faster file formats il y a 12 ans
writeMESH.h 974039f95c faster file formats il y a 12 ans
writeOBJ.cpp 6de18dc9df more explicits il y a 11 ans
writeOBJ.h 166ae80c7e strip copyrights il y a 11 ans
writeOFF.cpp 6de18dc9df more explicits il y a 11 ans
writeOFF.h 166ae80c7e strip copyrights il y a 11 ans
writeTGF.cpp 52e50cdba2 clean up tinyxml make il y a 12 ans
writeTGF.h 020369bc7e write TGF graphs, mesh with sampled skeleton edges, tiny xml il y a 12 ans

readMESH.cpp

#include "readMESH.h"

#include
#include "verbose.h"

template
IGL_INLINE bool igl::readMESH(
const std::string mesh_file_name,
std::vector > & V,
std::vector > & T,
std::vector > & F)
{
using namespace std;
using namespace igl;
FILE * mesh_file = fopen(mesh_file_name.c_str(),"r");
if(NULL==mesh_file)
{
fprintf(stderr,"IOError: %s could not be opened...",mesh_file_name.c_str());
return false;
}
#ifndef LINE_MAX
# define LINE_MAX 2048
#endif
char line[LINE_MAX];
bool still_comments;
V.clear();
T.clear();
F.clear();

// eat comments at beginning of file
still_comments= true;
while(still_comments)
{
fgets(line,LINE_MAX,mesh_file);
still_comments = (line[0] == '#' || line[0] == '\n');
}

char str[LINE_MAX];
sscanf(line," %s",str);
// check that first word is MeshVersionFormatted
if(0!=strcmp(str,"MeshVersionFormatted"))
{
fprintf(stderr,
"Error: first word should be MeshVersionFormatted not %s\n",str);
fclose(mesh_file);
return false;
}
int one = -1;
if(2 != sscanf(line,"%s %d",str,&one))
{
// 1 appears on next line?
fscanf(mesh_file," %d",&one);
}
if(one != 1)
{
fprintf(stderr,"Error: second word should be 1 not %d\n",one);
fclose(mesh_file);
return false;
}

// eat comments
still_comments= true;
while(still_comments)
{
fgets(line,LINE_MAX,mesh_file);
still_comments = (line[0] == '#' || line[0] == '\n');
}

sscanf(line," %s",str);
// check that third word is Dimension
if(0!=strcmp(str,"Dimension"))
{
fprintf(stderr,"Error: third word should be Dimension not %s\n",str);
fclose(mesh_file);
return false;
}
int three = -1;
if(2 != sscanf(line,"%s %d",str,&three))
{
// 1 appears on next line?
fscanf(mesh_file," %d",&three);
}
if(three != 3)
{
fprintf(stderr,"Error: only Dimension 3 supported not %d\n",three);
fclose(mesh_file);
return false;
}

// eat comments
still_comments= true;
while(still_comments)
{
fgets(line,LINE_MAX,mesh_file);
still_comments = (line[0] == '#' || line[0] == '\n');
}

sscanf(line," %s",str);
// check that fifth word is Vertices
if(0!=strcmp(str,"Vertices"))
{
fprintf(stderr,"Error: fifth word should be Vertices not %s\n",str);
fclose(mesh_file);
return false;
}

//fgets(line,LINE_MAX,mesh_file);

int number_of_vertices;
if(1 != fscanf(mesh_file," %d",&number_of_vertices) || number_of_vertices > 1000000000)
{
fprintf(stderr,"Error: expecting number of vertices less than 10^9...\n");
fclose(mesh_file);
return false;
}
// allocate space for vertices
V.resize(number_of_vertices,vector(3,0));
int extra;
for(int i = 0;i {
double x,y,z;
if(4 != fscanf(mesh_file," %lg %lg %lg %d",&x,&y,&z,&extra))
{
fprintf(stderr,"Error: expecting vertex position...\n");
fclose(mesh_file);
return false;
}
V[i][0] = x;
V[i][1] = y;
V[i][2] = z;
}

// eat comments
still_comments= true;
while(still_comments)
{
fgets(line,LINE_MAX,mesh_file);
still_comments = (line[0] == '#' || line[0] == '\n');
}

sscanf(line," %s",str);
// check that sixth word is Triangles
if(0!=strcmp(str,"Triangles"))
{
fprintf(stderr,"Error: sixth word should be Triangles not %s\n",str);
fclose(mesh_file);
return false;
}
int number_of_triangles;
if(1 != fscanf(mesh_file," %d",&number_of_triangles))
{
fprintf(stderr,"Error: expecting number of triangles...\n");
fclose(mesh_file);
return false;
}
// allocate space for triangles
F.resize(number_of_triangles,vector(3));
// triangle indices
int tri[3];
for(int i = 0;i {
if(4 != fscanf(mesh_file," %d %d %d %d",&tri[0],&tri[1],&tri[2],&extra))
{
printf("Error: expecting triangle indices...\n");
return false;
}
for(int j = 0;j<3;j++)
{
F[i][j] = tri[j]-1;
}
}

// eat comments
still_comments= true;
while(still_comments)
{
fgets(line,LINE_MAX,mesh_file);
still_comments = (line[0] == '#' || line[0] == '\n');
}

sscanf(line," %s",str);
// check that sixth word is Triangles
if(0!=strcmp(str,"Tetrahedra"))
{
fprintf(stderr,"Error: seventh word should be Tetrahedra not %s\n",str);
fclose(mesh_file);
return false;
}
int number_of_tetrahedra;
if(1 != fscanf(mesh_file," %d",&number_of_tetrahedra))
{
fprintf(stderr,"Error: expecting number of tetrahedra...\n");
fclose(mesh_file);
return false;
}
// allocate space for tetrahedra
T.resize(number_of_tetrahedra,vector(4));
// tet indices
int a,b,c,d;
for(int i = 0;i {
if(5 != fscanf(mesh_file," %d %d %d %d %d",&a,&b,&c,&d,&extra))
{
fprintf(stderr,"Error: expecting tetrahedra indices...\n");
fclose(mesh_file);
return false;
}
T[i][0] = a-1;
T[i][1] = b-1;
T[i][2] = c-1;
T[i][3] = d-1;
}
fclose(mesh_file);
return true;
}

#include
#include "list_to_matrix.h"


template
IGL_INLINE bool igl::readMESH(
const std::string mesh_file_name,
Eigen::PlainObjectBase& V,
Eigen::PlainObjectBase& T,
Eigen::PlainObjectBase& F)
{
using namespace std;
using namespace igl;
FILE * mesh_file = fopen(mesh_file_name.c_str(),"r");
if(NULL==mesh_file)
{
fprintf(stderr,"IOError: %s could not be opened...",mesh_file_name.c_str());
return false;
}
#ifndef LINE_MAX
# define LINE_MAX 2048
#endif
char line[LINE_MAX];
bool still_comments;

// eat comments at beginning of file
still_comments= true;
while(still_comments)
{
fgets(line,LINE_MAX,mesh_file);
still_comments = (line[0] == '#' || line[0] == '\n');
}

char str[LINE_MAX];
sscanf(line," %s",str);
// check that first word is MeshVersionFormatted
if(0!=strcmp(str,"MeshVersionFormatted"))
{
fprintf(stderr,
"Error: first word should be MeshVersionFormatted not %s\n",str);
fclose(mesh_file);
return false;
}
int one = -1;
if(2 != sscanf(line,"%s %d",str,&one))
{
// 1 appears on next line?
fscanf(mesh_file," %d",&one);
}
if(one != 1)
{
fprintf(stderr,"Error: second word should be 1 not %d\n",one);
fclose(mesh_file);
return false;
}

// eat comments
still_comments= true;
while(still_comments)
{
fgets(line,LINE_MAX,mesh_file);
still_comments = (line[0] == '#' || line[0] == '\n');
}

sscanf(line," %s",str);
// check that third word is Dimension
if(0!=strcmp(str,"Dimension"))
{
fprintf(stderr,"Error: third word should be Dimension not %s\n",str);
fclose(mesh_file);
return false;
}
int three = -1;
if(2 != sscanf(line,"%s %d",str,&three))
{
// 1 appears on next line?
fscanf(mesh_file," %d",&three);
}
if(three != 3)
{
fprintf(stderr,"Error: only Dimension 3 supported not %d\n",three);
fclose(mesh_file);
return false;
}

// eat comments
still_comments= true;
while(still_comments)
{
fgets(line,LINE_MAX,mesh_file);
still_comments = (line[0] == '#' || line[0] == '\n');
}

sscanf(line," %s",str);
// check that fifth word is Vertices
if(0!=strcmp(str,"Vertices"))
{
fprintf(stderr,"Error: fifth word should be Vertices not %s\n",str);
fclose(mesh_file);
return false;
}

//fgets(line,LINE_MAX,mesh_file);

int number_of_vertices;
if(1 != fscanf(mesh_file," %d",&number_of_vertices) || number_of_vertices > 1000000000)
{
fprintf(stderr,"Error: expecting number of vertices less than 10^9...\n");
fclose(mesh_file);
return false;
}
// allocate space for vertices
V.resize(number_of_vertices,3);
int extra;
for(int i = 0;i {
double x,y,z;
if(4 != fscanf(mesh_file," %lg %lg %lg %d",&x,&y,&z,&extra))
{
fprintf(stderr,"Error: expecting vertex position...\n");
fclose(mesh_file);
return false;
}
V(i,0) = x;
V(i,1) = y;
V(i,2) = z;
}

// eat comments
still_comments= true;
while(still_comments)
{
fgets(line,LINE_MAX,mesh_file);
still_comments = (line[0] == '#' || line[0] == '\n');
}

sscanf(line," %s",str);
// check that sixth word is Triangles
if(0!=strcmp(str,"Triangles"))
{
fprintf(stderr,"Error: sixth word should be Triangles not %s\n",str);
fclose(mesh_file);
return false;
}
int number_of_triangles;
if(1 != fscanf(mesh_file," %d",&number_of_triangles))
{
fprintf(stderr,"Error: expecting number of triangles...\n");
fclose(mesh_file);
return false;
}
// allocate space for triangles
F.resize(number_of_triangles,3);
// triangle indices
int tri[3];
for(int i = 0;i {
if(4 != fscanf(mesh_file," %d %d %d %d",&tri[0],&tri[1],&tri[2],&extra))
{
printf("Error: expecting triangle indices...\n");
return false;
}
for(int j = 0;j<3;j++)
{
F(i,j) = tri[j]-1;
}
}

// eat comments
still_comments= true;
while(still_comments)
{
fgets(line,LINE_MAX,mesh_file);
still_comments = (line[0] == '#' || line[0] == '\n');
}

sscanf(line," %s",str);
// check that sixth word is Triangles
if(0!=strcmp(str,"Tetrahedra"))
{
fprintf(stderr,"Error: seventh word should be Tetrahedra not %s\n",str);
fclose(mesh_file);
return false;
}
int number_of_tetrahedra;
if(1 != fscanf(mesh_file," %d",&number_of_tetrahedra))
{
fprintf(stderr,"Error: expecting number of tetrahedra...\n");
fclose(mesh_file);
return false;
}
// allocate space for tetrahedra
T.resize(number_of_tetrahedra,4);
// tet indices
int a,b,c,d;
for(int i = 0;i {
if(5 != fscanf(mesh_file," %d %d %d %d %d",&a,&b,&c,&d,&extra))
{
fprintf(stderr,"Error: expecting tetrahedra indices...\n");
fclose(mesh_file);
return false;
}
T(i,0) = a-1;
T(i,1) = b-1;
T(i,2) = c-1;
T(i,3) = d-1;
}
fclose(mesh_file);
return true;
}
//{
// std::vector > vV,vT,vF;
// bool success = igl::readMESH(mesh_file_name,vV,vT,vF);
// if(!success)
// {
// // readMESH already printed error message to std err
// return false;
// }
// bool V_rect = igl::list_to_matrix(vV,V);
// if(!V_rect)
// {
// // igl::list_to_matrix(vV,V) already printed error message to std err
// return false;
// }
// bool T_rect = igl::list_to_matrix(vT,T);
// if(!T_rect)
// {
// // igl::list_to_matrix(vT,T) already printed error message to std err
// return false;
// }
// bool F_rect = igl::list_to_matrix(vF,F);
// if(!F_rect)
// {
// // igl::list_to_matrix(vF,F) already printed error message to std err
// return false;
// }
// assert(V.cols() == 3);
// assert(T.cols() == 4);
// assert(F.cols() == 3);
// return true;
//}

#ifndef IGL_HEADER_ONLY
// Explicit template specialization
// generated by autoexplicit.sh
template bool igl::readMESH, Eigen::Matrix, Eigen::Matrix >(std::basic_string, std::allocator >, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
#endif