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

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