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

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