Alec Jacobson 7528f7ed1f MERGE %!s(int64=8) %!d(string=hai) anos
..
anttweakbar e2d2e0dbea namespace in include guards %!s(int64=10) %!d(string=hai) anos
copyleft 7528f7ed1f MERGE %!s(int64=8) %!d(string=hai) anos
embree 164943c767 flags were still wrong ... %!s(int64=9) %!d(string=hai) anos
lim 09ef0d3eb0 namespace issues %!s(int64=9) %!d(string=hai) anos
matlab 41096114f7 variadic booleans abstracted for matlab interface %!s(int64=9) %!d(string=hai) anos
mosek c76993c791 move bbw with active set to main lib, rm bbw extra, create mosek::bbw %!s(int64=8) %!d(string=hai) anos
opengl 4ede7d905f clean up %!s(int64=9) %!d(string=hai) anos
opengl2 417501ef15 templates and __1 %!s(int64=9) %!d(string=hai) anos
png a9ba6a1083 [bug] fix size of data %!s(int64=9) %!d(string=hai) anos
triangle c84d2e1d45 Fixed indentation; cleaned up memory for markers %!s(int64=9) %!d(string=hai) anos
viewer e452ad7419 Merge branch 'master' of github.com:libigl/libigl into alecjacobson %!s(int64=8) %!d(string=hai) anos
xml c41b1527f4 Minor update to tinyxml2 enum. %!s(int64=9) %!d(string=hai) anos
AABB.cpp 9a6a7d6423 fixed Hausdorff distance to converge to bounds on exact value %!s(int64=8) %!d(string=hai) anos
AABB.h 4c271ff5cf better documentation %!s(int64=8) %!d(string=hai) anos
ARAPEnergyType.h f318d4eed6 arap dynamics, better parameters %!s(int64=10) %!d(string=hai) anos
C_STR.h 3005b455e7 fix for windows %!s(int64=10) %!d(string=hai) anos
Camera.h d55869971f comments %!s(int64=9) %!d(string=hai) anos
ConjugateFFSolverData.h 9a7c121ba6 conjugate tutorial seems to be broken, made some changes but not fixed yet %!s(int64=9) %!d(string=hai) anos
EPS.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
EPS.h 20e0e9a082 comments %!s(int64=10) %!d(string=hai) anos
HalfEdgeIterator.h 20e0e9a082 comments %!s(int64=10) %!d(string=hai) anos
Hit.h a1e8235f15 expose unproject_in_mesh to main library with default brute force option %!s(int64=9) %!d(string=hai) anos
IO 78edcb4470 triangle_wrapper -> triangulate %!s(int64=11) %!d(string=hai) anos
IndexComparison.h 20e0e9a082 comments %!s(int64=10) %!d(string=hai) anos
MeshBooleanType.h dab8fad5dd separate boolean code to cgal and cork, fix cmake for lib and tutorial %!s(int64=9) %!d(string=hai) anos
NormalType.h 20e0e9a082 comments %!s(int64=10) %!d(string=hai) anos
ONE.h 20e0e9a082 comments %!s(int64=10) %!d(string=hai) anos
PI.h b473232452 preprend license header to every file %!s(int64=11) %!d(string=hai) anos
REDRUM.h b473232452 preprend license header to every file %!s(int64=11) %!d(string=hai) anos
STR.h 3005b455e7 fix for windows %!s(int64=10) %!d(string=hai) anos
Singular_Value_Decomposition_Givens_QR_Factorization_Kernel.hpp cce7d90d92 mv SVD to main lib %!s(int64=10) %!d(string=hai) anos
Singular_Value_Decomposition_Jacobi_Conjugation_Kernel.hpp cce7d90d92 mv SVD to main lib %!s(int64=10) %!d(string=hai) anos
Singular_Value_Decomposition_Kernel_Declarations.hpp cce7d90d92 mv SVD to main lib %!s(int64=10) %!d(string=hai) anos
Singular_Value_Decomposition_Main_Kernel_Body.hpp.REMOVED.git-id cce7d90d92 mv SVD to main lib %!s(int64=10) %!d(string=hai) anos
Singular_Value_Decomposition_Preamble.hpp 57b3f492ff warnings %!s(int64=9) %!d(string=hai) anos
SolverStatus.h b473232452 preprend license header to every file %!s(int64=11) %!d(string=hai) anos
SortableRow.h c39ca7747a fixed many style issues, missing copyrights, inlines %!s(int64=11) %!d(string=hai) anos
Timer.h f6dd78f80f Bugfix: NULL not declared %!s(int64=8) %!d(string=hai) anos
Viewport.h 20e0e9a082 comments %!s(int64=10) %!d(string=hai) anos
WindingNumberAABB.h e18ec0daed bug fix, wasn't reseting when growing on a new mesh %!s(int64=9) %!d(string=hai) anos
WindingNumberMethod.h 20e0e9a082 comments %!s(int64=10) %!d(string=hai) anos
WindingNumberTree.h 5b15bc74dd far --> is_far for desperate windows compiler %!s(int64=9) %!d(string=hai) anos
ZERO.h 20e0e9a082 comments %!s(int64=10) %!d(string=hai) anos
active_set.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared %!s(int64=8) %!d(string=hai) anos
active_set.h 20e0e9a082 comments %!s(int64=10) %!d(string=hai) anos
adjacency_list.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
adjacency_list.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
adjacency_matrix.cpp 59899eb247 templates %!s(int64=9) %!d(string=hai) anos
adjacency_matrix.h 69520fbf2e templated %!s(int64=9) %!d(string=hai) anos
all_edges.cpp b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
all_edges.h af6efe2123 is vertex manifold %!s(int64=10) %!d(string=hai) anos
all_pairs_distances.cpp 4a382e039a some performance optimization %!s(int64=10) %!d(string=hai) anos
all_pairs_distances.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
ambient_occlusion.cpp 328682a5eb templated parallel for %!s(int64=9) %!d(string=hai) anos
ambient_occlusion.h ef75655a3b expose ambient occlusion without embree %!s(int64=9) %!d(string=hai) anos
angle_bound_frame_fields.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared %!s(int64=8) %!d(string=hai) anos
angle_bound_frame_fields.h 24b4807c23 missing _H in two header files %!s(int64=9) %!d(string=hai) anos
angular_distance.cpp 1b254f02a1 rm using namespace igl %!s(int64=10) %!d(string=hai) anos
angular_distance.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
any_of.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
any_of.h f0b9c018f1 slice tets and tempaltes %!s(int64=10) %!d(string=hai) anos
arap.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared %!s(int64=8) %!d(string=hai) anos
arap.h f318d4eed6 arap dynamics, better parameters %!s(int64=10) %!d(string=hai) anos
arap_dof.cpp 9202f71067 change comment in templates so that autoexplicit works better %!s(int64=8) %!d(string=hai) anos
arap_dof.h cce7d90d92 mv SVD to main lib %!s(int64=10) %!d(string=hai) anos
arap_linear_block.cpp 1b254f02a1 rm using namespace igl %!s(int64=10) %!d(string=hai) anos
arap_linear_block.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
arap_rhs.cpp 1b254f02a1 rm using namespace igl %!s(int64=10) %!d(string=hai) anos
arap_rhs.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
average_onto_faces.cpp 62a1fc9819 moveVF --> average_onto_faces %!s(int64=11) %!d(string=hai) anos
average_onto_faces.h 62a1fc9819 moveVF --> average_onto_faces %!s(int64=11) %!d(string=hai) anos
average_onto_vertices.cpp 6f3f5bdabe Merge branch 'master' of https://github.com/schuellc/libigl %!s(int64=9) %!d(string=hai) anos
average_onto_vertices.h 0ea2eca5d4 Add RowMajor storage order support %!s(int64=9) %!d(string=hai) anos
avg_edge_length.cpp 869d6a284b instantiations %!s(int64=11) %!d(string=hai) anos
avg_edge_length.h 344cb9eea3 -Changes to header files to support parsing %!s(int64=9) %!d(string=hai) anos
axis_angle_to_quat.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
axis_angle_to_quat.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
barycenter.cpp 9202f71067 change comment in templates so that autoexplicit works better %!s(int64=8) %!d(string=hai) anos
barycenter.h 0f5aabeca2 tutorial compiling %!s(int64=9) %!d(string=hai) anos
barycentric_coordinates.cpp 5e0d6b3aff Fixed various minor bugs, added explicit template specifications %!s(int64=9) %!d(string=hai) anos
barycentric_coordinates.h eee3a7413f extract point-simplex distance and triangle barycentric coordinates from AABB, use MatrixBase for const input params %!s(int64=9) %!d(string=hai) anos
barycentric_to_global.cpp 5db529c861 mostly template instantiations %!s(int64=10) %!d(string=hai) anos
barycentric_to_global.h 3cfd194147 barycentric2global --> barycentric_to_global %!s(int64=11) %!d(string=hai) anos
basename.cpp b473232452 preprend license header to every file %!s(int64=11) %!d(string=hai) anos
basename.h 18bd747cb4 example in header %!s(int64=10) %!d(string=hai) anos
bbw.cpp f0f0f1b30b missing mutex include %!s(int64=8) %!d(string=hai) anos
bbw.h c76993c791 move bbw with active set to main lib, rm bbw extra, create mosek::bbw %!s(int64=8) %!d(string=hai) anos
bfs_orient.cpp dec1ddc168 rm using namespace igl %!s(int64=9) %!d(string=hai) anos
bfs_orient.h 98540fdb74 rm boost dependency extra, absorb functions into main library %!s(int64=10) %!d(string=hai) anos
biharmonic_coordinates.cpp f21ee225a2 Visual studio can't handle {} %!s(int64=10) %!d(string=hai) anos
biharmonic_coordinates.h 4100b31d41 support for higher-order biharmonic coords %!s(int64=10) %!d(string=hai) anos
bone_parents.cpp 53c2b9e8fa missing copyrights %!s(int64=10) %!d(string=hai) anos
bone_parents.h 5e41228487 skeleton building and posing examples %!s(int64=11) %!d(string=hai) anos
boundary_conditions.cpp b27fa2707b better assertion %!s(int64=9) %!d(string=hai) anos
boundary_conditions.h b82ea91d7d better doc %!s(int64=8) %!d(string=hai) anos
boundary_facets.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared %!s(int64=8) %!d(string=hai) anos
boundary_facets.h 24b4807c23 missing _H in two header files %!s(int64=9) %!d(string=hai) anos
boundary_loop.cpp 3cf86f1a78 Bugfix: boundary_loop crash %!s(int64=8) %!d(string=hai) anos
boundary_loop.h 90b8ac464c Replaced boundary_loop by outline_ordered implementation %!s(int64=10) %!d(string=hai) anos
bounding_box.cpp c975b8f076 templates %!s(int64=9) %!d(string=hai) anos
bounding_box.h 7f360c14cf bounding box and cdt %!s(int64=11) %!d(string=hai) anos
bounding_box_diagonal.cpp 945ca3ac82 move opengl functions to separate directories, lots of new templates %!s(int64=10) %!d(string=hai) anos
bounding_box_diagonal.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
canonical_quaternions.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
canonical_quaternions.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
cat.cpp bc475a7c64 fixed compilation bug in cat %!s(int64=9) %!d(string=hai) anos
cat.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
ceil.cpp 9202f71067 change comment in templates so that autoexplicit works better %!s(int64=8) %!d(string=hai) anos
ceil.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
centroid.cpp 5e41228487 skeleton building and posing examples %!s(int64=11) %!d(string=hai) anos
centroid.h 5e41228487 skeleton building and posing examples %!s(int64=11) %!d(string=hai) anos
circulation.cpp 6fad412558 decimate with finite cost %!s(int64=9) %!d(string=hai) anos
circulation.h ef5029045e comment about order %!s(int64=8) %!d(string=hai) anos
circumradius.cpp c330b9a5ec compute per triangle circum- and in- radii %!s(int64=8) %!d(string=hai) anos
circumradius.h c330b9a5ec compute per triangle circum- and in- radii %!s(int64=8) %!d(string=hai) anos
collapse_edge.cpp 42d48d7457 ack, pre_/-post_ collapse needs full state %!s(int64=8) %!d(string=hai) anos
collapse_edge.h 42d48d7457 ack, pre_/-post_ collapse needs full state %!s(int64=8) %!d(string=hai) anos
collapse_small_triangles.cpp 53c2b9e8fa missing copyrights %!s(int64=10) %!d(string=hai) anos
collapse_small_triangles.h 6737f53ebc collapse small triangles %!s(int64=10) %!d(string=hai) anos
colon.cpp 547f858b3a Merge branch 'master' of https://github.com/libigl/libigl %!s(int64=9) %!d(string=hai) anos
colon.h f976e38f91 faster tri tri adj, unique simplices %!s(int64=10) %!d(string=hai) anos
column_to_quats.cpp 3ee6fa10ec mouse controller and quaternion io %!s(int64=11) %!d(string=hai) anos
column_to_quats.h b84e4e375d extra eigen stdvector includes %!s(int64=8) %!d(string=hai) anos
columnize.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
columnize.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
comb_cross_field.cpp e4886b577c replaced constructors of the form Eigen::PlainObjectBase<Derived*> with Derived* %!s(int64=9) %!d(string=hai) anos
comb_cross_field.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
comb_frame_field.cpp 72eb3ef51a missing namespaces/includes %!s(int64=8) %!d(string=hai) anos
comb_frame_field.h 344cb9eea3 -Changes to header files to support parsing %!s(int64=9) %!d(string=hai) anos
comb_line_field.cpp e4886b577c replaced constructors of the form Eigen::PlainObjectBase<Derived*> with Derived* %!s(int64=9) %!d(string=hai) anos
comb_line_field.h c7f6cff1db fixes from Nico Pietroni on the MIQ pipeline and examples %!s(int64=10) %!d(string=hai) anos
combine.cpp 5a32da8c9d combine two meshes %!s(int64=8) %!d(string=hai) anos
combine.h 5a32da8c9d combine two meshes %!s(int64=8) %!d(string=hai) anos
components.cpp 7c626a1824 * integrate code for scalable locally injective maps %!s(int64=8) %!d(string=hai) anos
components.h 98540fdb74 rm boost dependency extra, absorb functions into main library %!s(int64=10) %!d(string=hai) anos
compute_frame_field_bisectors.cpp 72eb3ef51a missing namespaces/includes %!s(int64=8) %!d(string=hai) anos
compute_frame_field_bisectors.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
conjugate_frame_fields.cpp 9a7c121ba6 conjugate tutorial seems to be broken, made some changes but not fixed yet %!s(int64=9) %!d(string=hai) anos
conjugate_frame_fields.h 9a7c121ba6 conjugate tutorial seems to be broken, made some changes but not fixed yet %!s(int64=9) %!d(string=hai) anos
connect_boundary_to_infinity.cpp 1caf839744 missing templates %!s(int64=9) %!d(string=hai) anos
connect_boundary_to_infinity.h 0411fb9508 boundary edges now work with default decimate %!s(int64=9) %!d(string=hai) anos
cotmatrix.cpp 8fd80c7bc0 biharmonic coordinates, impl of 'linear subspace design...', templates, overloads %!s(int64=10) %!d(string=hai) anos
cotmatrix.h 749dd2c873 squared_edge_lengths (clean) %!s(int64=8) %!d(string=hai) anos
cotmatrix_entries.cpp 749dd2c873 squared_edge_lengths (clean) %!s(int64=8) %!d(string=hai) anos
cotmatrix_entries.h 7f360c14cf bounding box and cdt %!s(int64=11) %!d(string=hai) anos
covariance_scatter_matrix.cpp 1b254f02a1 rm using namespace igl %!s(int64=10) %!d(string=hai) anos
covariance_scatter_matrix.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
cross.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
cross.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
cross_field_missmatch.cpp 2eccd0612a Merge branch 'master' of https://github.com/libigl/libigl %!s(int64=9) %!d(string=hai) anos
cross_field_missmatch.h fb819ab4f7 fixed python compilation error %!s(int64=9) %!d(string=hai) anos
crouzeix_raviart_massmatrix.cpp 9202f71067 change comment in templates so that autoexplicit works better %!s(int64=8) %!d(string=hai) anos
crouzeix_raviart_massmatrix.h 5ad035de72 boundaryedges and CR mass matrix %!s(int64=10) %!d(string=hai) anos
cumsum.cpp 4f99fc5ddd variadic boolean ops %!s(int64=9) %!d(string=hai) anos
cumsum.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
cut_mesh.cpp b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
cut_mesh.h d32071235f note %!s(int64=9) %!d(string=hai) anos
cut_mesh_from_singularities.cpp e4886b577c replaced constructors of the form Eigen::PlainObjectBase<Derived*> with Derived* %!s(int64=9) %!d(string=hai) anos
cut_mesh_from_singularities.h 2254bf5990 style %!s(int64=9) %!d(string=hai) anos
cylinder.cpp df801345c1 copyright/license headers %!s(int64=8) %!d(string=hai) anos
cylinder.h df801345c1 copyright/license headers %!s(int64=8) %!d(string=hai) anos
dated_copy.cpp 6f8f988fa5 fixed various windows issues with static library %!s(int64=10) %!d(string=hai) anos
dated_copy.h 6f8f988fa5 fixed various windows issues with static library %!s(int64=10) %!d(string=hai) anos
decimate.cpp 42d48d7457 ack, pre_/-post_ collapse needs full state %!s(int64=8) %!d(string=hai) anos
decimate.h 42d48d7457 ack, pre_/-post_ collapse needs full state %!s(int64=8) %!d(string=hai) anos
deform_skeleton.cpp 53c2b9e8fa missing copyrights %!s(int64=10) %!d(string=hai) anos
deform_skeleton.h b84e4e375d extra eigen stdvector includes %!s(int64=8) %!d(string=hai) anos
delaunay_triangulation.cpp 87fbb8ec7d Refactor exact predicates class into functions. %!s(int64=8) %!d(string=hai) anos
delaunay_triangulation.h d8848b2a9a Update doc. %!s(int64=8) %!d(string=hai) anos
deprecated.h 53c2b9e8fa missing copyrights %!s(int64=10) %!d(string=hai) anos
diag.cpp ded77a69ca bug %!s(int64=9) %!d(string=hai) anos
diag.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
dihedral_angles.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
dihedral_angles.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
dijkstra.cpp b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
dijkstra.h 5f795771d7 implementation of integrable polyvector fields (+some templates) %!s(int64=10) %!d(string=hai) anos
directed_edge_orientations.cpp 945ca3ac82 move opengl functions to separate directories, lots of new templates %!s(int64=10) %!d(string=hai) anos
directed_edge_orientations.h b84e4e375d extra eigen stdvector includes %!s(int64=8) %!d(string=hai) anos
directed_edge_parents.cpp 945ca3ac82 move opengl functions to separate directories, lots of new templates %!s(int64=10) %!d(string=hai) anos
directed_edge_parents.h 76a662d23f missing directed edge parents file %!s(int64=11) %!d(string=hai) anos
dirname.cpp b473232452 preprend license header to every file %!s(int64=11) %!d(string=hai) anos
dirname.h 18bd747cb4 example in header %!s(int64=10) %!d(string=hai) anos
dot.cpp b473232452 preprend license header to every file %!s(int64=11) %!d(string=hai) anos
dot.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
dot_row.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared %!s(int64=8) %!d(string=hai) anos
dot_row.h 97bf3c6fb5 PlainObjectBase objects should not be declared %!s(int64=8) %!d(string=hai) anos
doublearea.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared %!s(int64=8) %!d(string=hai) anos
doublearea.h 8eee88cd05 handle streams of arbitrary dimension triangles %!s(int64=9) %!d(string=hai) anos
dqs.cpp 945ca3ac82 move opengl functions to separate directories, lots of new templates %!s(int64=10) %!d(string=hai) anos
dqs.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
edge_collapse_is_valid.cpp 1b254f02a1 rm using namespace igl %!s(int64=10) %!d(string=hai) anos
edge_collapse_is_valid.h 7ce75d2528 edge collapsing and linear programs %!s(int64=10) %!d(string=hai) anos
edge_flaps.cpp 148c4a067f handle boundary edges %!s(int64=8) %!d(string=hai) anos
edge_flaps.h 3e94e154ea comments about duplicity %!s(int64=8) %!d(string=hai) anos
edge_lengths.cpp 749dd2c873 squared_edge_lengths (clean) %!s(int64=8) %!d(string=hai) anos
edge_lengths.h a7c4fe3b1c fix documentation %!s(int64=9) %!d(string=hai) anos
edge_topology.cpp d1c389e964 is_edge_manifold should not depend on V %!s(int64=8) %!d(string=hai) anos
edge_topology.h 87ca4a7e25 edge_topology should be made obsolete (edge_flaps is superior in a few ways) %!s(int64=8) %!d(string=hai) anos
edges.cpp 69520fbf2e templated %!s(int64=9) %!d(string=hai) anos
edges.h 69520fbf2e templated %!s(int64=9) %!d(string=hai) anos
eigs.cpp b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
eigs.h b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
euler_characteristic.cpp 7c626a1824 * integrate code for scalable locally injective maps %!s(int64=8) %!d(string=hai) anos
euler_characteristic.h d1c389e964 is_edge_manifold should not depend on V %!s(int64=8) %!d(string=hai) anos
example_fun.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
example_fun.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
exterior_edges.cpp 2282d71554 cleanup warnings %!s(int64=9) %!d(string=hai) anos
exterior_edges.h 53c2b9e8fa missing copyrights %!s(int64=10) %!d(string=hai) anos
extract_manifold_patches.cpp b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
extract_manifold_patches.h b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
extract_non_manifold_edge_curves.cpp b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
extract_non_manifold_edge_curves.h b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
face_areas.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared %!s(int64=8) %!d(string=hai) anos
face_areas.h a7c4fe3b1c fix documentation %!s(int64=9) %!d(string=hai) anos
face_occurrences.cpp 8fd80c7bc0 biharmonic coordinates, impl of 'linear subspace design...', templates, overloads %!s(int64=10) %!d(string=hai) anos
face_occurrences.h 2c75b2cf21 typo in face_occurrences name %!s(int64=10) %!d(string=hai) anos
faces_first.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
faces_first.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
facet_components.cpp 0d158b969a templates %!s(int64=9) %!d(string=hai) anos
facet_components.h da91e1ba44 Minor update documentation of facet_components(). %!s(int64=10) %!d(string=hai) anos
false_barycentric_subdivision.cpp 38328367b6 reorganize tutorial cmake, bug fix in static ver. of npoly demo %!s(int64=10) %!d(string=hai) anos
false_barycentric_subdivision.h 3b3eddd9a0 fixed template madness in tri_tri %!s(int64=10) %!d(string=hai) anos
field_local_global_conversions.cpp b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
field_local_global_conversions.h 5f795771d7 implementation of integrable polyvector fields (+some templates) %!s(int64=10) %!d(string=hai) anos
file_contents_as_string.cpp 909c4a05ff return overload %!s(int64=9) %!d(string=hai) anos
file_contents_as_string.h 909c4a05ff return overload %!s(int64=9) %!d(string=hai) anos
file_dialog_open.cpp 69f1c5f112 fixed a bug concerning load mesh from dialog %!s(int64=10) %!d(string=hai) anos
file_dialog_open.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
file_dialog_save.cpp 6f8f988fa5 fixed various windows issues with static library %!s(int64=10) %!d(string=hai) anos
file_dialog_save.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
file_exists.cpp a60d9c69a1 get modifiers, fit rigid 2d, templates %!s(int64=10) %!d(string=hai) anos
file_exists.h a60d9c69a1 get modifiers, fit rigid 2d, templates %!s(int64=10) %!d(string=hai) anos
find.cpp 55f21e8673 template %!s(int64=8) %!d(string=hai) anos
find.h 1618c18430 more overloads %!s(int64=10) %!d(string=hai) anos
find_cross_field_singularities.cpp c3599de866 fixes for python static build %!s(int64=9) %!d(string=hai) anos
find_cross_field_singularities.h 580c57ed4f Merge branch 'master' of https://github.com/libigl/libigl %!s(int64=10) %!d(string=hai) anos
fit_plane.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
fit_plane.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
fit_rotations.cpp c21aa6e542 templates %!s(int64=9) %!d(string=hai) anos
fit_rotations.h 36a1006438 note that fit_rotations may be obsolete %!s(int64=10) %!d(string=hai) anos
flip_avoiding_line_search.cpp a26275254d * added missing IGL_INLINE %!s(int64=8) %!d(string=hai) anos
flip_avoiding_line_search.h ac38aede79 * removed defines and namespaces from flip_avoiding_line_search %!s(int64=8) %!d(string=hai) anos
flip_edge.cpp 0660c9c01c Avoid coeff and coeffRef. %!s(int64=8) %!d(string=hai) anos
flip_edge.h 34b56ae109 Minor update to get window compilation pass. %!s(int64=8) %!d(string=hai) anos
flipped_triangles.cpp 7c626a1824 * integrate code for scalable locally injective maps %!s(int64=8) %!d(string=hai) anos
flipped_triangles.h 4ebf2b20ef fixed up style and compilation errors in flipped_triangles %!s(int64=9) %!d(string=hai) anos
flood_fill.cpp b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
flood_fill.h b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
floor.cpp 9202f71067 change comment in templates so that autoexplicit works better %!s(int64=8) %!d(string=hai) anos
floor.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
forward_kinematics.cpp b7157c2898 translation widget %!s(int64=9) %!d(string=hai) anos
forward_kinematics.h b84e4e375d extra eigen stdvector includes %!s(int64=8) %!d(string=hai) anos
frame_field_deformer.cpp e7af0097b7 cotangent --> cotmatrix_entries %!s(int64=11) %!d(string=hai) anos
frame_field_deformer.h b1ea555f41 bad path %!s(int64=10) %!d(string=hai) anos
frame_to_cross_field.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
frame_to_cross_field.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
frustum.cpp ed64cad992 Merge branch 'master' of https://github.com/libigl/libigl %!s(int64=10) %!d(string=hai) anos
frustum.h a1c8fcb85c templates, viewer opengl code extraction %!s(int64=10) %!d(string=hai) anos
gaussian_curvature.cpp 5a5ec9adf9 all tutorial examples compile with static lib %!s(int64=11) %!d(string=hai) anos
gaussian_curvature.h bd57fc27aa no division by area %!s(int64=9) %!d(string=hai) anos
get_seconds.cpp 3224534a03 C++11 get seconds %!s(int64=9) %!d(string=hai) anos
get_seconds.h f976e38f91 faster tri tri adj, unique simplices %!s(int64=10) %!d(string=hai) anos
get_seconds_hires.cpp b473232452 preprend license header to every file %!s(int64=11) %!d(string=hai) anos
get_seconds_hires.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
grad.cpp 48787fd172 consolidated igl::grad %!s(int64=8) %!d(string=hai) anos
grad.h 48787fd172 consolidated igl::grad %!s(int64=8) %!d(string=hai) anos
grid.cpp b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
grid.h b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
group_sum_matrix.cpp 945ca3ac82 move opengl functions to separate directories, lots of new templates %!s(int64=10) %!d(string=hai) anos
group_sum_matrix.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
guess_extension.cpp be1bbf6fde templates and output parameter overload %!s(int64=8) %!d(string=hai) anos
guess_extension.h be1bbf6fde templates and output parameter overload %!s(int64=8) %!d(string=hai) anos
harmonic.cpp 9a67d8dc36 templates %!s(int64=8) %!d(string=hai) anos
harmonic.h c76993c791 move bbw with active set to main lib, rm bbw extra, create mosek::bbw %!s(int64=8) %!d(string=hai) anos
harwell_boeing.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
harwell_boeing.h bdeb592dc8 rm unneeded define %!s(int64=10) %!d(string=hai) anos
hausdorff.cpp 795638c80d revert hausdorff %!s(int64=8) %!d(string=hai) anos
hausdorff.h 795638c80d revert hausdorff %!s(int64=8) %!d(string=hai) anos
histc.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
histc.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
hsv_to_rgb.cpp 029ca814bf Merge branch 'master' of https://github.com/libigl/libigl %!s(int64=9) %!d(string=hai) anos
hsv_to_rgb.h 20a3ad28f1 eigen types %!s(int64=10) %!d(string=hai) anos
igl_inline.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
in_element.cpp 92b29eb15f templates %!s(int64=9) %!d(string=hai) anos
in_element.h 5e0d6b3aff Fixed various minor bugs, added explicit template specifications %!s(int64=9) %!d(string=hai) anos
infinite_cost_stopping_condition.cpp ad917ffc5e Fixed namespace problem %!s(int64=9) %!d(string=hai) anos
infinite_cost_stopping_condition.h 6fad412558 decimate with finite cost %!s(int64=9) %!d(string=hai) anos
inradius.cpp c330b9a5ec compute per triangle circum- and in- radii %!s(int64=8) %!d(string=hai) anos
inradius.h c330b9a5ec compute per triangle circum- and in- radii %!s(int64=8) %!d(string=hai) anos
integrable_polyvector_fields.cpp f72ff756ac olga's recent changes %!s(int64=9) %!d(string=hai) anos
integrable_polyvector_fields.h e4886b577c replaced constructors of the form Eigen::PlainObjectBase<Derived*> with Derived* %!s(int64=9) %!d(string=hai) anos
internal_angles.cpp 749dd2c873 squared_edge_lengths (clean) %!s(int64=8) %!d(string=hai) anos
internal_angles.h 749dd2c873 squared_edge_lengths (clean) %!s(int64=8) %!d(string=hai) anos
intersect.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
intersect.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
invert_diag.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
invert_diag.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
is_border_vertex.cpp 6f3f5bdabe Merge branch 'master' of https://github.com/schuellc/libigl %!s(int64=9) %!d(string=hai) anos
is_border_vertex.h ba963582da improved doc %!s(int64=10) %!d(string=hai) anos
is_boundary_edge.cpp 9202f71067 change comment in templates so that autoexplicit works better %!s(int64=8) %!d(string=hai) anos
is_boundary_edge.h 5ad035de72 boundaryedges and CR mass matrix %!s(int64=10) %!d(string=hai) anos
is_dir.cpp b473232452 preprend license header to every file %!s(int64=11) %!d(string=hai) anos
is_dir.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
is_edge_manifold.cpp d1c389e964 is_edge_manifold should not depend on V %!s(int64=8) %!d(string=hai) anos
is_edge_manifold.h 68ceab903d extra template in header %!s(int64=8) %!d(string=hai) anos
is_file.cpp b473232452 preprend license header to every file %!s(int64=11) %!d(string=hai) anos
is_file.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
is_irregular_vertex.cpp 51d92e724a templates, tutorial missing libs %!s(int64=10) %!d(string=hai) anos
is_irregular_vertex.h 442c8d908c added mesh statistics functions and updated tutorial %!s(int64=10) %!d(string=hai) anos
is_planar.cpp c39ca7747a fixed many style issues, missing copyrights, inlines %!s(int64=11) %!d(string=hai) anos
is_planar.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
is_readable.cpp b473232452 preprend license header to every file %!s(int64=11) %!d(string=hai) anos
is_readable.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
is_sparse.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
is_sparse.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
is_stl.cpp b6e3b252af read directly from file pointer %!s(int64=8) %!d(string=hai) anos
is_stl.h b6e3b252af read directly from file pointer %!s(int64=8) %!d(string=hai) anos
is_symmetric.cpp 1b254f02a1 rm using namespace igl %!s(int64=10) %!d(string=hai) anos
is_symmetric.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
is_vertex_manifold.cpp 9a67d8dc36 templates %!s(int64=8) %!d(string=hai) anos
is_vertex_manifold.h 9f0396b085 Update the documentation of is_vertex_manifold. %!s(int64=10) %!d(string=hai) anos
is_writable.cpp b473232452 preprend license header to every file %!s(int64=11) %!d(string=hai) anos
is_writable.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
isdiag.cpp 9a62ff9d34 missing template, why did only AppVeyor catch this? and not Trevor? %!s(int64=9) %!d(string=hai) anos
isdiag.h 8dc2514633 isdiagonal test, harmonic abstracted away from laplacian %!s(int64=9) %!d(string=hai) anos
ismember.cpp 7bc5649629 is member %!s(int64=8) %!d(string=hai) anos
ismember.h 7bc5649629 is member %!s(int64=8) %!d(string=hai) anos
jet.cpp 36c5ec93f3 cast so that inputs can be float %!s(int64=8) %!d(string=hai) anos
jet.h 36c5ec93f3 cast so that inputs can be float %!s(int64=8) %!d(string=hai) anos
launch_medit.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
launch_medit.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
lbs_matrix.cpp c39ca7747a fixed many style issues, missing copyrights, inlines %!s(int64=11) %!d(string=hai) anos
lbs_matrix.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
lexicographic_triangulation.cpp e4583a8683 Minor update to avoid compiler warning. %!s(int64=8) %!d(string=hai) anos
lexicographic_triangulation.h 87fbb8ec7d Refactor exact predicates class into functions. %!s(int64=8) %!d(string=hai) anos
limit_faces.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
limit_faces.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
line_field_missmatch.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared %!s(int64=8) %!d(string=hai) anos
line_field_missmatch.h c7f6cff1db fixes from Nico Pietroni on the MIQ pipeline and examples %!s(int64=10) %!d(string=hai) anos
line_search.cpp a26275254d * added missing IGL_INLINE %!s(int64=8) %!d(string=hai) anos
line_search.h ac38aede79 * removed defines and namespaces from flip_avoiding_line_search %!s(int64=8) %!d(string=hai) anos
line_segment_in_rectangle.cpp 1b254f02a1 rm using namespace igl %!s(int64=10) %!d(string=hai) anos
line_segment_in_rectangle.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
linprog.cpp 1b254f02a1 rm using namespace igl %!s(int64=10) %!d(string=hai) anos
linprog.h 7ce75d2528 edge collapsing and linear programs %!s(int64=10) %!d(string=hai) anos
list_to_matrix.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared %!s(int64=8) %!d(string=hai) anos
list_to_matrix.h 6f3f5bdabe Merge branch 'master' of https://github.com/schuellc/libigl %!s(int64=9) %!d(string=hai) anos
local_basis.cpp 679512e971 templates %!s(int64=10) %!d(string=hai) anos
local_basis.h 344cb9eea3 -Changes to header files to support parsing %!s(int64=9) %!d(string=hai) anos
look_at.cpp 53c2b9e8fa missing copyrights %!s(int64=10) %!d(string=hai) anos
look_at.h a1c8fcb85c templates, viewer opengl code extraction %!s(int64=10) %!d(string=hai) anos
loop.cpp e650edcc01 templates %!s(int64=8) %!d(string=hai) anos
loop.h 19bc318c12 loop, upsample, bug fix + tutorial %!s(int64=8) %!d(string=hai) anos
lscm.cpp e4876bd595 Fix mesh orientation flip error %!s(int64=9) %!d(string=hai) anos
lscm.h 3a82db0c88 clarify ref %!s(int64=10) %!d(string=hai) anos
map_vertices_to_circle.cpp 1d76192dc3 removed unused include %!s(int64=10) %!d(string=hai) anos
map_vertices_to_circle.h 344cb9eea3 -Changes to header files to support parsing %!s(int64=9) %!d(string=hai) anos
massmatrix.cpp 14cba5359b templates %!s(int64=9) %!d(string=hai) anos
massmatrix.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
mat_max.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
mat_max.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
mat_min.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
mat_min.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
mat_to_quat.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
mat_to_quat.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
material_colors.h ae29184e91 draw skeleton with colors %!s(int64=11) %!d(string=hai) anos
matlab_format.cpp 701da3ed59 templates and a small update to polyvector_field_singularities_from_matchings (since one-ring tracing is now done with a slightly different prototype) %!s(int64=9) %!d(string=hai) anos
matlab_format.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
matrix_to_list.cpp b19775bd34 __1 %!s(int64=8) %!d(string=hai) anos
matrix_to_list.h 4f644e3eac comments on vector output %!s(int64=8) %!d(string=hai) anos
max_faces_stopping_condition.cpp df801345c1 copyright/license headers %!s(int64=8) %!d(string=hai) anos
max_faces_stopping_condition.h 4deb79d564 pull out shortest_edge_... and max_faces... functions %!s(int64=8) %!d(string=hai) anos
max_size.cpp 0199faeaa7 templates %!s(int64=10) %!d(string=hai) anos
max_size.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
median.cpp 1b254f02a1 rm using namespace igl %!s(int64=10) %!d(string=hai) anos
median.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
min_quad_dense.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
min_quad_dense.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
min_quad_with_fixed.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared %!s(int64=8) %!d(string=hai) anos
min_quad_with_fixed.h 8fd80c7bc0 biharmonic coordinates, impl of 'linear subspace design...', templates, overloads %!s(int64=10) %!d(string=hai) anos
min_size.cpp 0199faeaa7 templates %!s(int64=10) %!d(string=hai) anos
min_size.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
mod.cpp c9be59b49f fix some bad uses of Eigen::PlainObjectBase %!s(int64=9) %!d(string=hai) anos
mod.h c9be59b49f fix some bad uses of Eigen::PlainObjectBase %!s(int64=9) %!d(string=hai) anos
mode.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
mode.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
mvc.cpp ed153a8b84 abs warning %!s(int64=10) %!d(string=hai) anos
mvc.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
n_polyvector.cpp e4886b577c replaced constructors of the form Eigen::PlainObjectBase<Derived*> with Derived* %!s(int64=9) %!d(string=hai) anos
n_polyvector.h 81238fbfd2 - cleaned up polyvector field example %!s(int64=11) %!d(string=hai) anos
n_polyvector_general.cpp b922f9c558 restored one more function from n_polyvector_general.cpp %!s(int64=9) %!d(string=hai) anos
n_polyvector_general.h fc424b9b5c general polyvector field %!s(int64=11) %!d(string=hai) anos
nchoosek.cpp 4f99fc5ddd variadic boolean ops %!s(int64=9) %!d(string=hai) anos
nchoosek.h 4f99fc5ddd variadic boolean ops %!s(int64=9) %!d(string=hai) anos
next_filename.cpp 3afe7f3444 templates %!s(int64=10) %!d(string=hai) anos
next_filename.h 8e6f510b7b next filename, draw quad meshes, template specializations, %!s(int64=11) %!d(string=hai) anos
normal_derivative.cpp 1b63927478 bug resize/reserve %!s(int64=10) %!d(string=hai) anos
normal_derivative.h 8fd80c7bc0 biharmonic coordinates, impl of 'linear subspace design...', templates, overloads %!s(int64=10) %!d(string=hai) anos
normalize_quat.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
normalize_quat.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
normalize_row_lengths.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
normalize_row_lengths.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
normalize_row_sums.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
normalize_row_sums.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
null.cpp 9354cc1124 null space %!s(int64=10) %!d(string=hai) anos
null.h 9354cc1124 null space %!s(int64=10) %!d(string=hai) anos
on_boundary.cpp c2f0df93dd remove NO_EIGEN %!s(int64=8) %!d(string=hai) anos
on_boundary.h 88c67e8714 remove NO_EIGEN %!s(int64=8) %!d(string=hai) anos
orient_outward.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared %!s(int64=8) %!d(string=hai) anos
orient_outward.h 63e134577a manifold_patches --> orientable_patches %!s(int64=11) %!d(string=hai) anos
orientable_patches.cpp 2dfdea1a3b templates %!s(int64=9) %!d(string=hai) anos
orientable_patches.h 2dfdea1a3b templates %!s(int64=9) %!d(string=hai) anos
orth.cpp b473232452 preprend license header to every file %!s(int64=11) %!d(string=hai) anos
orth.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
ortho.cpp 53c2b9e8fa missing copyrights %!s(int64=10) %!d(string=hai) anos
ortho.h a1c8fcb85c templates, viewer opengl code extraction %!s(int64=10) %!d(string=hai) anos
outer_element.cpp 2d7ac4173d Merge remote-tracking branch 'upstream/master' %!s(int64=9) %!d(string=hai) anos
outer_element.h 05cf35b4d6 Minor update to documentation and rename exterior* to outer*. %!s(int64=10) %!d(string=hai) anos
parallel_for.h d449dd19c3 force serial macro %!s(int64=9) %!d(string=hai) anos
parallel_transport_angles.cpp b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
parallel_transport_angles.h 5f795771d7 implementation of integrable polyvector fields (+some templates) %!s(int64=10) %!d(string=hai) anos
partition.cpp c39ca7747a fixed many style issues, missing copyrights, inlines %!s(int64=11) %!d(string=hai) anos
partition.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
parula.cpp 36c5ec93f3 cast so that inputs can be float %!s(int64=8) %!d(string=hai) anos
parula.h 5e0d6b3aff Fixed various minor bugs, added explicit template specifications %!s(int64=9) %!d(string=hai) anos
path_to_executable.cpp 6f8f988fa5 fixed various windows issues with static library %!s(int64=10) %!d(string=hai) anos
path_to_executable.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
pathinfo.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
pathinfo.h 8e2e36c12a examples %!s(int64=10) %!d(string=hai) anos
per_corner_normals.cpp f4ab9d2cd1 compiles after rm PlainObjectBase uses %!s(int64=9) %!d(string=hai) anos
per_corner_normals.h f4ab9d2cd1 compiles after rm PlainObjectBase uses %!s(int64=9) %!d(string=hai) anos
per_edge_normals.cpp 5e0d6b3aff Fixed various minor bugs, added explicit template specifications %!s(int64=9) %!d(string=hai) anos
per_edge_normals.h 5e0d6b3aff Fixed various minor bugs, added explicit template specifications %!s(int64=9) %!d(string=hai) anos
per_face_normals.cpp 1678470800 fixes for VS2015 %!s(int64=8) %!d(string=hai) anos
per_face_normals.h 02ab01c0ac stable face normals %!s(int64=10) %!d(string=hai) anos
per_vertex_attribute_smoothing.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared %!s(int64=8) %!d(string=hai) anos
per_vertex_attribute_smoothing.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
per_vertex_normals.cpp 8533e77538 missing template functions %!s(int64=9) %!d(string=hai) anos
per_vertex_normals.h af6efe2123 is vertex manifold %!s(int64=10) %!d(string=hai) anos
per_vertex_point_to_plane_quadrics.cpp df801345c1 copyright/license headers %!s(int64=8) %!d(string=hai) anos
per_vertex_point_to_plane_quadrics.h df801345c1 copyright/license headers %!s(int64=8) %!d(string=hai) anos
piecewise_constant_winding_number.cpp 737ec00d49 __1 in templates %!s(int64=9) %!d(string=hai) anos
piecewise_constant_winding_number.h e6536d3355 boolean input validation as stand-alone functions %!s(int64=9) %!d(string=hai) anos
planarize_quad_mesh.cpp 945ca3ac82 move opengl functions to separate directories, lots of new templates %!s(int64=10) %!d(string=hai) anos
planarize_quad_mesh.h 53c2b9e8fa missing copyrights %!s(int64=10) %!d(string=hai) anos
ply.h.REMOVED.git-id b6e3b252af read directly from file pointer %!s(int64=8) %!d(string=hai) anos
point_in_circle.cpp b473232452 preprend license header to every file %!s(int64=11) %!d(string=hai) anos
point_in_circle.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
point_in_poly.cpp b473232452 preprend license header to every file %!s(int64=11) %!d(string=hai) anos
point_in_poly.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
point_mesh_squared_distance.cpp abb5062d19 templates %!s(int64=8) %!d(string=hai) anos
point_mesh_squared_distance.h 5e0d6b3aff Fixed various minor bugs, added explicit template specifications %!s(int64=9) %!d(string=hai) anos
point_simplex_squared_distance.cpp 7528f7ed1f MERGE %!s(int64=8) %!d(string=hai) anos
point_simplex_squared_distance.h 7528f7ed1f MERGE %!s(int64=8) %!d(string=hai) anos
polar_dec.cpp e5b99abdfa deprecated PlainObjectBase types %!s(int64=9) %!d(string=hai) anos
polar_dec.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
polar_svd.cpp 5e0d6b3aff Fixed various minor bugs, added explicit template specifications %!s(int64=9) %!d(string=hai) anos
polar_svd.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
polar_svd3x3.cpp 4d773331ee warnings %!s(int64=9) %!d(string=hai) anos
polar_svd3x3.h cce7d90d92 mv SVD to main lib %!s(int64=10) %!d(string=hai) anos
polygon_mesh_to_triangle_mesh.cpp 8533e77538 missing template functions %!s(int64=9) %!d(string=hai) anos
polygon_mesh_to_triangle_mesh.h 8e6f510b7b next filename, draw quad meshes, template specializations, %!s(int64=11) %!d(string=hai) anos
polyroots.cpp 38328367b6 reorganize tutorial cmake, bug fix in static ver. of npoly demo %!s(int64=10) %!d(string=hai) anos
polyroots.h 34d4f8e5aa conjugate example, fixed some #HEADER_ONLY errors %!s(int64=11) %!d(string=hai) anos
polyvector_field_comb_from_matchings_and_cuts.cpp b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
polyvector_field_comb_from_matchings_and_cuts.h 5f795771d7 implementation of integrable polyvector fields (+some templates) %!s(int64=10) %!d(string=hai) anos
polyvector_field_cut_mesh_with_singularities.cpp b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
polyvector_field_cut_mesh_with_singularities.h 5f795771d7 implementation of integrable polyvector fields (+some templates) %!s(int64=10) %!d(string=hai) anos
polyvector_field_matchings.cpp b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
polyvector_field_matchings.h f72ff756ac olga's recent changes %!s(int64=9) %!d(string=hai) anos
polyvector_field_poisson_reconstruction.cpp b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
polyvector_field_poisson_reconstruction.h f72ff756ac olga's recent changes %!s(int64=9) %!d(string=hai) anos
polyvector_field_singularities_from_matchings.cpp b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
polyvector_field_singularities_from_matchings.h cd067ff5c8 changed order of neighborhood traversal for singularity calculation %!s(int64=9) %!d(string=hai) anos
principal_curvature.cpp c3599de866 fixes for python static build %!s(int64=9) %!d(string=hai) anos
principal_curvature.h 344cb9eea3 -Changes to header files to support parsing %!s(int64=9) %!d(string=hai) anos
print_ijv.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
print_ijv.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
print_vector.cpp 4372f57c55 plot_vector --> print_vector %!s(int64=11) %!d(string=hai) anos
print_vector.h 4372f57c55 plot_vector --> print_vector %!s(int64=11) %!d(string=hai) anos
procrustes.cpp 72eb3ef51a missing namespaces/includes %!s(int64=8) %!d(string=hai) anos
procrustes.h 6e2c0ff218 bug in procrustes templating %!s(int64=10) %!d(string=hai) anos
project.cpp 347ec4e8e8 fixed template specialization %!s(int64=8) %!d(string=hai) anos
project.h 10999766a2 project() is now templated more generally %!s(int64=8) %!d(string=hai) anos
project_isometrically_to_plane.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared %!s(int64=8) %!d(string=hai) anos
project_isometrically_to_plane.h e7f4b0154a plane_project --> project_isometrically_to_plane %!s(int64=11) %!d(string=hai) anos
project_to_line.cpp c21aa6e542 templates %!s(int64=9) %!d(string=hai) anos
project_to_line.h 70693a85ba small speed up and code reogranization for point/mesh squared distance %!s(int64=9) %!d(string=hai) anos
project_to_line_segment.cpp c21aa6e542 templates %!s(int64=9) %!d(string=hai) anos
project_to_line_segment.h 70693a85ba small speed up and code reogranization for point/mesh squared distance %!s(int64=9) %!d(string=hai) anos
pseudonormal_test.cpp eee3a7413f extract point-simplex distance and triangle barycentric coordinates from AABB, use MatrixBase for const input params %!s(int64=9) %!d(string=hai) anos
pseudonormal_test.h 7af1fa6964 pseudonormal test and signed distance in 2D %!s(int64=10) %!d(string=hai) anos
qslim.cpp df801345c1 copyright/license headers %!s(int64=8) %!d(string=hai) anos
qslim.h df801345c1 copyright/license headers %!s(int64=8) %!d(string=hai) anos
qslim_optimal_collapse_edge_callbacks.cpp e2f6f2c24c std isinf %!s(int64=8) %!d(string=hai) anos
qslim_optimal_collapse_edge_callbacks.h df801345c1 copyright/license headers %!s(int64=8) %!d(string=hai) anos
quad_planarity.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared %!s(int64=8) %!d(string=hai) anos
quad_planarity.h 53c2b9e8fa missing copyrights %!s(int64=10) %!d(string=hai) anos
quadric_binary_plus_operator.cpp df801345c1 copyright/license headers %!s(int64=8) %!d(string=hai) anos
quadric_binary_plus_operator.h df801345c1 copyright/license headers %!s(int64=8) %!d(string=hai) anos
quat_conjugate.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
quat_conjugate.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
quat_mult.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
quat_mult.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
quat_to_axis_angle.cpp 46c56ae75a fixing IGL_NO_HEADER %!s(int64=9) %!d(string=hai) anos
quat_to_axis_angle.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
quat_to_mat.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
quat_to_mat.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
quats_to_column.cpp 3ee6fa10ec mouse controller and quaternion io %!s(int64=11) %!d(string=hai) anos
quats_to_column.h b84e4e375d extra eigen stdvector includes %!s(int64=8) %!d(string=hai) anos
random_dir.cpp 62521f0d2c fix for clang, enabled embree build by default for python bindings %!s(int64=9) %!d(string=hai) anos
random_dir.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
random_points_on_mesh.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
random_points_on_mesh.h 52eabdec3e documentation %!s(int64=8) %!d(string=hai) anos
random_quaternion.cpp 772efbdbf9 use shoemake algorithm %!s(int64=9) %!d(string=hai) anos
random_quaternion.h 53c2b9e8fa missing copyrights %!s(int64=10) %!d(string=hai) anos
randperm.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared %!s(int64=8) %!d(string=hai) anos
randperm.h 97bf3c6fb5 PlainObjectBase objects should not be declared %!s(int64=8) %!d(string=hai) anos
ray_box_intersect.cpp b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
ray_box_intersect.h 0cc5a8ed69 minor changes with no effect to AABB ray %!s(int64=9) %!d(string=hai) anos
ray_mesh_intersect.cpp 9202f71067 change comment in templates so that autoexplicit works better %!s(int64=8) %!d(string=hai) anos
ray_mesh_intersect.h b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
ray_sphere_intersect.cpp 945ca3ac82 move opengl functions to separate directories, lots of new templates %!s(int64=10) %!d(string=hai) anos
ray_sphere_intersect.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
raytri.c 73745b8713 note about public domain-ness %!s(int64=8) %!d(string=hai) anos
readBF.cpp b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
readBF.h b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
readCSV.cpp 77b87e622a rm using namespace igl %!s(int64=10) %!d(string=hai) anos
readCSV.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
readDMAT.cpp ecfe38cc57 undo templates %!s(int64=8) %!d(string=hai) anos
readDMAT.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
readMESH.cpp b6e3b252af read directly from file pointer %!s(int64=8) %!d(string=hai) anos
readMESH.h b6e3b252af read directly from file pointer %!s(int64=8) %!d(string=hai) anos
readNODE.cpp 77b87e622a rm using namespace igl %!s(int64=10) %!d(string=hai) anos
readNODE.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
readOBJ.cpp b6e3b252af read directly from file pointer %!s(int64=8) %!d(string=hai) anos
readOBJ.h b6e3b252af read directly from file pointer %!s(int64=8) %!d(string=hai) anos
readOFF.cpp b6e3b252af read directly from file pointer %!s(int64=8) %!d(string=hai) anos
readOFF.h b6e3b252af read directly from file pointer %!s(int64=8) %!d(string=hai) anos
readPLY.cpp b6e3b252af read directly from file pointer %!s(int64=8) %!d(string=hai) anos
readPLY.h b6e3b252af read directly from file pointer %!s(int64=8) %!d(string=hai) anos
readSTL.cpp b6e3b252af read directly from file pointer %!s(int64=8) %!d(string=hai) anos
readSTL.h b6e3b252af read directly from file pointer %!s(int64=8) %!d(string=hai) anos
readTGF.cpp 77b87e622a rm using namespace igl %!s(int64=10) %!d(string=hai) anos
readTGF.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
readWRL.cpp b6e3b252af read directly from file pointer %!s(int64=8) %!d(string=hai) anos
readWRL.h b6e3b252af read directly from file pointer %!s(int64=8) %!d(string=hai) anos
read_triangle_mesh.cpp b6e3b252af read directly from file pointer %!s(int64=8) %!d(string=hai) anos
read_triangle_mesh.h b6e3b252af read directly from file pointer %!s(int64=8) %!d(string=hai) anos
remove_duplicate_vertices.cpp 9202f71067 change comment in templates so that autoexplicit works better %!s(int64=8) %!d(string=hai) anos
remove_duplicate_vertices.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
remove_duplicates.cpp 8cfc133385 missing template functions %!s(int64=8) %!d(string=hai) anos
remove_duplicates.h 69808310c1 removeDuplicates --> remove_duplicates %!s(int64=11) %!d(string=hai) anos
remove_unreferenced.cpp 9a6a7d6423 fixed Hausdorff distance to converge to bounds on exact value %!s(int64=8) %!d(string=hai) anos
remove_unreferenced.h ef69b90899 better overloads %!s(int64=10) %!d(string=hai) anos
reorder.cpp 439cc69864 templates %!s(int64=10) %!d(string=hai) anos
reorder.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
repdiag.cpp eac13b6110 faster repdiag %!s(int64=9) %!d(string=hai) anos
repdiag.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
repmat.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
repmat.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
resolve_duplicated_faces.cpp f687064342 Added missing templates %!s(int64=9) %!d(string=hai) anos
resolve_duplicated_faces.h f9ced09c24 merge %!s(int64=9) %!d(string=hai) anos
rgb_to_hsv.cpp 9202f71067 change comment in templates so that autoexplicit works better %!s(int64=8) %!d(string=hai) anos
rgb_to_hsv.h 20a3ad28f1 eigen types %!s(int64=10) %!d(string=hai) anos
rotate_by_quat.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
rotate_by_quat.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
rotate_vectors.cpp 52ba9e6fd8 rotate_vectors keeps the magnitude intact instead of changing it to 1 %!s(int64=9) %!d(string=hai) anos
rotate_vectors.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
rotation_matrix_from_directions.cpp 2d42198b19 fix style, rm unused parameter %!s(int64=9) %!d(string=hai) anos
rotation_matrix_from_directions.h 2d42198b19 fix style, rm unused parameter %!s(int64=9) %!d(string=hai) anos
round.cpp 9202f71067 change comment in templates so that autoexplicit works better %!s(int64=8) %!d(string=hai) anos
round.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
rows_to_matrix.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
rows_to_matrix.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
sample_edges.cpp b473232452 preprend license header to every file %!s(int64=11) %!d(string=hai) anos
sample_edges.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
seam_edges.cpp af2594ad1c cosmetic reformatting and templates %!s(int64=8) %!d(string=hai) anos
seam_edges.h af2594ad1c cosmetic reformatting and templates %!s(int64=8) %!d(string=hai) anos
segment_segment_intersect.cpp abd2f01b80 completing the merge %!s(int64=9) %!d(string=hai) anos
segment_segment_intersect.h abd2f01b80 completing the merge %!s(int64=9) %!d(string=hai) anos
serialize.h 892496b73c Merge current master %!s(int64=8) %!d(string=hai) anos
setdiff.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared %!s(int64=8) %!d(string=hai) anos
setdiff.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
shortest_edge_and_midpoint.cpp df801345c1 copyright/license headers %!s(int64=8) %!d(string=hai) anos
shortest_edge_and_midpoint.h 4deb79d564 pull out shortest_edge_... and max_faces... functions %!s(int64=8) %!d(string=hai) anos
signed_distance.cpp 6baa0bef57 SIGN CHANGE: use right hand rule, -1 on inside of CCW polygons %!s(int64=8) %!d(string=hai) anos
signed_distance.h 7af1fa6964 pseudonormal test and signed distance in 2D %!s(int64=10) %!d(string=hai) anos
simplify_polyhedron.cpp 42d48d7457 ack, pre_/-post_ collapse needs full state %!s(int64=8) %!d(string=hai) anos
simplify_polyhedron.h 4123794f61 simplify polyhedron %!s(int64=9) %!d(string=hai) anos
slice.cpp 9a6a7d6423 fixed Hausdorff distance to converge to bounds on exact value %!s(int64=8) %!d(string=hai) anos
slice.h c9be59b49f fix some bad uses of Eigen::PlainObjectBase %!s(int64=9) %!d(string=hai) anos
slice_into.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared %!s(int64=8) %!d(string=hai) anos
slice_into.h 97bf3c6fb5 PlainObjectBase objects should not be declared %!s(int64=8) %!d(string=hai) anos
slice_mask.cpp 1caf839744 missing templates %!s(int64=9) %!d(string=hai) anos
slice_mask.h c9be59b49f fix some bad uses of Eigen::PlainObjectBase %!s(int64=9) %!d(string=hai) anos
slice_tets.cpp 5e0d6b3aff Fixed various minor bugs, added explicit template specifications %!s(int64=9) %!d(string=hai) anos
slice_tets.h f0b9c018f1 slice tets and tempaltes %!s(int64=10) %!d(string=hai) anos
slim.cpp a26275254d * added missing IGL_INLINE %!s(int64=8) %!d(string=hai) anos
slim.h 1bdecb9e93 removed global namespaces %!s(int64=8) %!d(string=hai) anos
snap_points.cpp 2dfdea1a3b templates %!s(int64=9) %!d(string=hai) anos
snap_points.h 2dfdea1a3b templates %!s(int64=9) %!d(string=hai) anos
snap_to_canonical_view_quat.cpp 945ca3ac82 move opengl functions to separate directories, lots of new templates %!s(int64=10) %!d(string=hai) anos
snap_to_canonical_view_quat.h 8c809663c2 better tempaltes %!s(int64=10) %!d(string=hai) anos
snap_to_fixed_up.cpp 9202f71067 change comment in templates so that autoexplicit works better %!s(int64=8) %!d(string=hai) anos
snap_to_fixed_up.h 6d578a7133 key usage in viewer %!s(int64=9) %!d(string=hai) anos
sort.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared %!s(int64=8) %!d(string=hai) anos
sort.h 58f09a919c missing sort header %!s(int64=9) %!d(string=hai) anos
sort_angles.cpp 72c6004123 merge: %!s(int64=10) %!d(string=hai) anos
sort_angles.h 53c2b9e8fa missing copyrights %!s(int64=10) %!d(string=hai) anos
sort_triangles.cpp 945ca3ac82 move opengl functions to separate directories, lots of new templates %!s(int64=10) %!d(string=hai) anos
sort_triangles.h 945ca3ac82 move opengl functions to separate directories, lots of new templates %!s(int64=10) %!d(string=hai) anos
sort_vectors_ccw.cpp b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
sort_vectors_ccw.h f72ff756ac olga's recent changes %!s(int64=9) %!d(string=hai) anos
sortrows.cpp a194d8ab77 Minor update and style fix. %!s(int64=9) %!d(string=hai) anos
sortrows.h c980d09b99 bug fix in boolean, first attempt to handle co-planar facets correctly %!s(int64=10) %!d(string=hai) anos
sparse.cpp 3705ff1959 small mac fixes for the static build %!s(int64=10) %!d(string=hai) anos
sparse.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
speye.cpp 38328367b6 reorganize tutorial cmake, bug fix in static ver. of npoly demo %!s(int64=10) %!d(string=hai) anos
speye.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
squared_edge_lengths.cpp 749dd2c873 squared_edge_lengths (clean) %!s(int64=8) %!d(string=hai) anos
squared_edge_lengths.h 749dd2c873 squared_edge_lengths (clean) %!s(int64=8) %!d(string=hai) anos
stdin_to_temp.cpp b473232452 preprend license header to every file %!s(int64=11) %!d(string=hai) anos
stdin_to_temp.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
streamlines.cpp e52b3a9ca9 streamlines.cpp: updated to use new matchings code (which has an option for treating the field as symmetric/non-symmetric) %!s(int64=9) %!d(string=hai) anos
streamlines.h abd2f01b80 completing the merge %!s(int64=9) %!d(string=hai) anos
sum.cpp c3745c0f63 added functions definitions %!s(int64=10) %!d(string=hai) anos
sum.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
svd3x3.cpp cce7d90d92 mv SVD to main lib %!s(int64=10) %!d(string=hai) anos
svd3x3.h cce7d90d92 mv SVD to main lib %!s(int64=10) %!d(string=hai) anos
svd3x3_avx.cpp b068e63d4f removed double instantiation %!s(int64=10) %!d(string=hai) anos
svd3x3_avx.h cce7d90d92 mv SVD to main lib %!s(int64=10) %!d(string=hai) anos
svd3x3_sse.cpp cce7d90d92 mv SVD to main lib %!s(int64=10) %!d(string=hai) anos
svd3x3_sse.h cce7d90d92 mv SVD to main lib %!s(int64=10) %!d(string=hai) anos
swept_volume_bounding_box.cpp b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
swept_volume_bounding_box.h b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
swept_volume_signed_distance.cpp b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
swept_volume_signed_distance.h b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
trackball.cpp 945ca3ac82 move opengl functions to separate directories, lots of new templates %!s(int64=10) %!d(string=hai) anos
trackball.h 8c809663c2 better tempaltes %!s(int64=10) %!d(string=hai) anos
transpose_blocks.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
transpose_blocks.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
triangle_fan.cpp 53c2b9e8fa missing copyrights %!s(int64=10) %!d(string=hai) anos
triangle_fan.h 53c2b9e8fa missing copyrights %!s(int64=10) %!d(string=hai) anos
triangle_triangle_adjacency.cpp fe5c0e5eda rm strange template %!s(int64=8) %!d(string=hai) anos
triangle_triangle_adjacency.h 7dd7f6e50b Regenerate docstrings and update documentation. Fix include problem with triangle_triangle_adjacency.h %!s(int64=8) %!d(string=hai) anos
triangles_from_strip.cpp 53c2b9e8fa missing copyrights %!s(int64=10) %!d(string=hai) anos
triangles_from_strip.h 9522dfd77e generate triangles from a points streaming triangle strip %!s(int64=10) %!d(string=hai) anos
two_axis_valuator_fixed_up.cpp 945ca3ac82 move opengl functions to separate directories, lots of new templates %!s(int64=10) %!d(string=hai) anos
two_axis_valuator_fixed_up.h 8c809663c2 better tempaltes %!s(int64=10) %!d(string=hai) anos
uniformly_sample_two_manifold.cpp 77b87e622a rm using namespace igl %!s(int64=10) %!d(string=hai) anos
uniformly_sample_two_manifold.h d06b90a231 comments %!s(int64=9) %!d(string=hai) anos
unique.cpp e650edcc01 templates %!s(int64=8) %!d(string=hai) anos
unique.h cda229c05b added 303 LaplaceEquation %!s(int64=10) %!d(string=hai) anos
unique_edge_map.cpp 7b2b1e86f0 rm ::__1 %!s(int64=8) %!d(string=hai) anos
unique_edge_map.h 53c2b9e8fa missing copyrights %!s(int64=10) %!d(string=hai) anos
unique_simplices.cpp 328682a5eb templated parallel for %!s(int64=9) %!d(string=hai) anos
unique_simplices.h bae1c9582d per edge normals %!s(int64=11) %!d(string=hai) anos
unproject.cpp 2dfdea1a3b templates %!s(int64=9) %!d(string=hai) anos
unproject.h 2dfdea1a3b templates %!s(int64=9) %!d(string=hai) anos
unproject_in_mesh.cpp 417501ef15 templates and __1 %!s(int64=9) %!d(string=hai) anos
unproject_in_mesh.h 81d3908f7b unproject onto mesh abstracted away from embree %!s(int64=9) %!d(string=hai) anos
unproject_onto_mesh.cpp c5e77fa5d7 Added multiple tutorials %!s(int64=9) %!d(string=hai) anos
unproject_onto_mesh.h 81d3908f7b unproject onto mesh abstracted away from embree %!s(int64=9) %!d(string=hai) anos
unproject_ray.cpp dec1ddc168 rm using namespace igl %!s(int64=9) %!d(string=hai) anos
unproject_ray.h a1e8235f15 expose unproject_in_mesh to main library with default brute force option %!s(int64=9) %!d(string=hai) anos
unzip_corners.cpp b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
unzip_corners.h e287df11ba unzip corners (of an obj-style mesh with attributes) %!s(int64=9) %!d(string=hai) anos
upsample.cpp e650edcc01 templates %!s(int64=8) %!d(string=hai) anos
upsample.h 19bc318c12 loop, upsample, bug fix + tutorial %!s(int64=8) %!d(string=hai) anos
vector_area_matrix.cpp 54df8bc1df boundary_vertices_sorted --> boundary_loop %!s(int64=11) %!d(string=hai) anos
vector_area_matrix.h 77260d4aac areamatrix --> vector_area_matrix %!s(int64=11) %!d(string=hai) anos
verbose.h b473232452 preprend license header to every file %!s(int64=11) %!d(string=hai) anos
vertex_triangle_adjacency.cpp 6f3f5bdabe Merge branch 'master' of https://github.com/schuellc/libigl %!s(int64=9) %!d(string=hai) anos
vertex_triangle_adjacency.h af6efe2123 is vertex manifold %!s(int64=10) %!d(string=hai) anos
volume.cpp 1678470800 fixes for VS2015 %!s(int64=8) %!d(string=hai) anos
volume.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
voxel_grid.cpp b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
voxel_grid.h b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
winding_number.cpp b3880a36d7 SIGN CHANGE: use right hand rule, positive wn on inside of CCW polygons %!s(int64=8) %!d(string=hai) anos
winding_number.h 53c2b9e8fa missing copyrights %!s(int64=10) %!d(string=hai) anos
writeBF.cpp b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
writeBF.h b00e745985 adding missing copyright/license headers %!s(int64=8) %!d(string=hai) anos
writeDMAT.cpp abb5062d19 templates %!s(int64=8) %!d(string=hai) anos
writeDMAT.h 8a2fb2a3ec unify code for vectors %!s(int64=8) %!d(string=hai) anos
writeMESH.cpp 0a1685f564 __1 removal %!s(int64=9) %!d(string=hai) anos
writeMESH.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
writeOBJ.cpp 53d0af95c3 removed __cxx11 %!s(int64=9) %!d(string=hai) anos
writeOBJ.h 2de83c371d improved doc and simpler code %!s(int64=10) %!d(string=hai) anos
writeOFF.cpp 33c27124bf OFF color-per-vertex %!s(int64=8) %!d(string=hai) anos
writeOFF.h 33c27124bf OFF color-per-vertex %!s(int64=8) %!d(string=hai) anos
writePLY.cpp 53d0af95c3 removed __cxx11 %!s(int64=9) %!d(string=hai) anos
writePLY.h 8692dd8258 ply duplicate symbol issues %!s(int64=10) %!d(string=hai) anos
writeSTL.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared %!s(int64=8) %!d(string=hai) anos
writeSTL.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
writeTGF.cpp 77b87e622a rm using namespace igl %!s(int64=10) %!d(string=hai) anos
writeTGF.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY %!s(int64=11) %!d(string=hai) anos
writeWRL.cpp 0a1685f564 __1 removal %!s(int64=9) %!d(string=hai) anos
writeWRL.h 53c2b9e8fa missing copyrights %!s(int64=10) %!d(string=hai) anos
write_triangle_mesh.cpp 0a1685f564 __1 removal %!s(int64=9) %!d(string=hai) anos
write_triangle_mesh.h d13d3163e1 universal write, tempaltes %!s(int64=10) %!d(string=hai) anos

readMESH.cpp

// This file is part of libigl, a simple c++ geometry processing library.
//
// Copyright (C) 2013 Alec Jacobson
//
// This Source Code Form is subject to the terms of the Mozilla Public License
// v. 2.0. If a copy of the MPL was not distributed with this file, You can
// obtain one at http://mozilla.org/MPL/2.0/.
#include "readMESH.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;
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;
}
return igl::readMESH(mesh_file,V,T,F);
}

template
IGL_INLINE bool igl::readMESH(
FILE * mesh_file,
std::vector > & V,
std::vector > & T,
std::vector > & F)
{
using namespace std;
#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)
{
if(fgets(line,LINE_MAX,mesh_file) == NULL)
{
fprintf(stderr, "Error: couldn't find start of .mesh file");
fclose(mesh_file);
return false;
}
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;
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;
}
return readMESH(mesh_file,V,T,F);
}

template
IGL_INLINE bool igl::readMESH(
FILE * mesh_file,
Eigen::PlainObjectBase& V,
Eigen::PlainObjectBase& T,
Eigen::PlainObjectBase& F)
{
using namespace std;
#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;
//}

#ifdef IGL_STATIC_LIBRARY
// 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 >&);
// generated by autoexplicit.sh
template bool igl::readMESH, Eigen::Matrix, Eigen::Matrix >(std::basic_string, std::allocator >, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
// generated by autoexplicit.sh
template bool igl::readMESH, Eigen::Matrix, Eigen::Matrix >(std::basic_string, std::allocator >, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
// generated by autoexplicit.sh
template bool igl::readMESH, Eigen::Matrix, Eigen::Matrix >(std::basic_string, std::allocator >, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
template bool igl::readMESH, Eigen::Matrix, Eigen::Matrix >(std::basic_string, std::allocator >, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
template bool igl::readMESH(std::basic_string, std::allocator >, std::vector >, std::allocator > > >&, std::vector >, std::allocator > > >&, std::vector >, std::allocator > > >&);
template bool igl::readMESH, Eigen::Matrix, Eigen::Matrix >(std::basic_string, std::allocator >, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
#endif