Alec Jacobson 3b961894f7 Merge branch 'master' of github.com:libigl/libigl into alecjacobson 7 年之前
..
anttweakbar e2d2e0dbea namespace in include guards 10 年之前
copyleft 2e79bd99de templates 8 年之前
embree 4aa52c43d7 bug fix from https://github.com/libigl/libigl/pull/477/commits/6c45eb0ca1f1f9581bb6bf6d437d6a08c4c1373c [formerly cbf3c982d84cb466c828bd0d3a91379cf0d8f438] 8 年之前
lim b6c6db1279 specialization --> instantiation 8 年之前
matlab 7ba1392b2b templates 8 年之前
mosek 77905ede1b mosek 8 8 年之前
opengl f067e97ad1 Merge branch 'alecjacobson' of github.com:libigl/libigl into alecjacobson 8 年之前
opengl2 ad4d7ce6d4 unnecessary matlab format includes 8 年之前
png 0663d656eb attempt to clean up opengl mess 8 年之前
triangle 444174e11c Bug fix on incorrect malloc(0) of pointmarkerlist struct when VM.size()=0 8 年之前
viewer d1a2c4e2e8 templates 8 年之前
xml b6c6db1279 specialization --> instantiation 8 年之前
AABB.cpp 2e79bd99de templates 8 年之前
AABB.h 606a4a0c88 clean up winding number code. templates 8 年之前
ARAPEnergyType.h f318d4eed6 arap dynamics, better parameters 10 年之前
C_STR.h 3005b455e7 fix for windows 10 年之前
Camera.h d55869971f comments 9 年之前
ConjugateFFSolverData.h ad4d7ce6d4 unnecessary matlab format includes 8 年之前
EPS.cpp b6c6db1279 specialization --> instantiation 8 年之前
EPS.h 20e0e9a082 comments 9 年之前
HalfEdgeIterator.cpp a152a2648e fix templating 8 年之前
HalfEdgeIterator.h 8aaab1ecd9 fixed memory error hidden by const& in miq-related functions 8 年之前
Hit.h a1e8235f15 expose unproject_in_mesh to main library with default brute force option 9 年之前
IO 78edcb4470 triangle_wrapper -> triangulate 11 年之前
IndexComparison.h 20e0e9a082 comments 9 年之前
LinSpaced.h 2955adeb5e tutorial and unit tests compile and run with Eigen 3.3.1; Eigen's LinSpaced had yet another bug 8 年之前
MeshBooleanType.h dab8fad5dd separate boolean code to cgal and cork, fix cmake for lib and tutorial 9 年之前
NormalType.h 20e0e9a082 comments 9 年之前
ONE.h 20e0e9a082 comments 9 年之前
PI.h b473232452 preprend license header to every file 11 年之前
REDRUM.h b473232452 preprend license header to every file 11 年之前
STR.h 3005b455e7 fix for windows 10 年之前
Singular_Value_Decomposition_Givens_QR_Factorization_Kernel.hpp cce7d90d92 mv SVD to main lib 10 年之前
Singular_Value_Decomposition_Jacobi_Conjugation_Kernel.hpp cce7d90d92 mv SVD to main lib 10 年之前
Singular_Value_Decomposition_Kernel_Declarations.hpp cce7d90d92 mv SVD to main lib 10 年之前
Singular_Value_Decomposition_Main_Kernel_Body.hpp.REMOVED.git-id cce7d90d92 mv SVD to main lib 10 年之前
Singular_Value_Decomposition_Preamble.hpp 57b3f492ff warnings 9 年之前
SolverStatus.h b473232452 preprend license header to every file 11 年之前
SortableRow.h c39ca7747a fixed many style issues, missing copyrights, inlines 11 年之前
Timer.h f6dd78f80f Bugfix: NULL not declared 8 年之前
Viewport.h 20e0e9a082 comments 9 年之前
WindingNumberAABB.h 606a4a0c88 clean up winding number code. templates 8 年之前
WindingNumberMethod.h 20e0e9a082 comments 9 年之前
WindingNumberTree.h 606a4a0c88 clean up winding number code. templates 8 年之前
ZERO.h 20e0e9a082 comments 9 年之前
active_set.cpp 0667cbcb2a fix namespace/include order errors 8 年之前
active_set.h 20e0e9a082 comments 9 年之前
adjacency_list.cpp b6c6db1279 specialization --> instantiation 8 年之前
adjacency_list.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
adjacency_matrix.cpp b6c6db1279 specialization --> instantiation 8 年之前
adjacency_matrix.h 9df7d65b44 better templates 8 年之前
all.cpp b6c6db1279 specialization --> instantiation 8 年之前
all.h 5e5d11c49f reductions for sparse matrices 8 年之前
all_edges.cpp 7b82a08e5b all_edges --> oriented_facets 8 年之前
all_edges.h 7b82a08e5b all_edges --> oriented_facets 8 年之前
all_pairs_distances.cpp b6c6db1279 specialization --> instantiation 8 年之前
all_pairs_distances.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
ambient_occlusion.cpp def56b2aad delete unnecessary line 8 年之前
ambient_occlusion.h ef75655a3b expose ambient occlusion without embree 9 年之前
angle_bound_frame_fields.cpp 09177b3bac Compatibility with Eigen 3.3.4 8 年之前
angle_bound_frame_fields.h 24b4807c23 missing _H in two header files 9 年之前
angular_distance.cpp 1b254f02a1 rm using namespace igl 10 年之前
angular_distance.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
any.cpp b6c6db1279 specialization --> instantiation 8 年之前
any.h 5e5d11c49f reductions for sparse matrices 8 年之前
any_of.cpp b6c6db1279 specialization --> instantiation 8 年之前
any_of.h f0b9c018f1 slice tets and tempaltes 10 年之前
arap.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared 8 年之前
arap.h f318d4eed6 arap dynamics, better parameters 10 年之前
arap_dof.cpp b6c6db1279 specialization --> instantiation 8 年之前
arap_dof.h cce7d90d92 mv SVD to main lib 10 年之前
arap_linear_block.cpp b6c6db1279 specialization --> instantiation 8 年之前
arap_linear_block.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
arap_rhs.cpp 1b254f02a1 rm using namespace igl 10 年之前
arap_rhs.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
average_onto_faces.cpp b6c6db1279 specialization --> instantiation 8 年之前
average_onto_faces.h 62a1fc9819 moveVF --> average_onto_faces 11 年之前
average_onto_vertices.cpp b6c6db1279 specialization --> instantiation 8 年之前
average_onto_vertices.h 0ea2eca5d4 Add RowMajor storage order support 9 年之前
avg_edge_length.cpp b504c61714 templates and prototypes 8 年之前
avg_edge_length.h b504c61714 templates and prototypes 8 年之前
axis_angle_to_quat.cpp b6c6db1279 specialization --> instantiation 8 年之前
axis_angle_to_quat.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
barycenter.cpp 2e79bd99de templates 8 年之前
barycenter.h 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 年之前
barycentric_coordinates.cpp 7feec96c29 some strange compilation issues, templates 8 年之前
barycentric_coordinates.h 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 年之前
barycentric_to_global.cpp 5db529c861 mostly template instantiations 10 年之前
barycentric_to_global.h 3cfd194147 barycentric2global --> barycentric_to_global 11 年之前
basename.cpp b473232452 preprend license header to every file 11 年之前
basename.h 18bd747cb4 example in header 10 年之前
bbw.cpp b6c6db1279 specialization --> instantiation 8 年之前
bbw.h c76993c791 move bbw with active set to main lib, rm bbw extra, create mosek::bbw 8 年之前
bfs.cpp ce0c1eb7c7 dfs and bfs 8 年之前
bfs.h ce0c1eb7c7 dfs and bfs 8 年之前
bfs_orient.cpp b6c6db1279 specialization --> instantiation 8 年之前
bfs_orient.h 98540fdb74 rm boost dependency extra, absorb functions into main library 10 年之前
biharmonic_coordinates.cpp d4ec2b0a2d biharmonic coordiantes fixed to reflect erratum 8 年之前
biharmonic_coordinates.h 4100b31d41 support for higher-order biharmonic coords 10 年之前
bijective_composite_harmonic_mapping.cpp e5d51c1db0 wrapper with iteration parameters 8 年之前
bijective_composite_harmonic_mapping.h e5d51c1db0 wrapper with iteration parameters 8 年之前
bone_parents.cpp 53c2b9e8fa missing copyrights 10 年之前
bone_parents.h 5e41228487 skeleton building and posing examples 11 年之前
boundary_conditions.cpp b27fa2707b better assertion 9 年之前
boundary_conditions.h b82ea91d7d better doc 8 年之前
boundary_facets.cpp b6c6db1279 specialization --> instantiation 8 年之前
boundary_facets.h 24b4807c23 missing _H in two header files 9 年之前
boundary_loop.cpp b6c6db1279 specialization --> instantiation 8 年之前
boundary_loop.h 90b8ac464c Replaced boundary_loop by outline_ordered implementation 10 年之前
bounding_box.cpp 6bdb22dd5f pad parameter 8 年之前
bounding_box.h 6bdb22dd5f pad parameter 8 年之前
bounding_box_diagonal.cpp b6c6db1279 specialization --> instantiation 8 年之前
bounding_box_diagonal.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
canonical_quaternions.cpp b6c6db1279 specialization --> instantiation 8 年之前
canonical_quaternions.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
cat.cpp b6c6db1279 specialization --> instantiation 8 年之前
cat.h 6e780b96eb correct doc 8 年之前
ceil.cpp b6c6db1279 specialization --> instantiation 8 年之前
ceil.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
centroid.cpp 035849c472 templates 8 年之前
centroid.h 035849c472 templates 8 年之前
circulation.cpp 6fad412558 decimate with finite cost 9 年之前
circulation.h ef5029045e comment about order 8 年之前
circumradius.cpp 8943387b53 use nan replacement doublearea 8 年之前
circumradius.h c330b9a5ec compute per triangle circum- and in- radii 8 年之前
collapse_edge.cpp 42d48d7457 ack, pre_/-post_ collapse needs full state 8 年之前
collapse_edge.h 0eda832958 typos in comments 8 年之前
collapse_small_triangles.cpp f3cd179f00 use new doublearea 8 年之前
collapse_small_triangles.h 6737f53ebc collapse small triangles 10 年之前
colon.cpp 689a79b550 Add instantiation 8 年之前
colon.h f976e38f91 faster tri tri adj, unique simplices 10 年之前
colormap.cpp 67731463c4 Explicit cast fix for clang 8 年之前
colormap.h 4d24fab218 Colormap refactoring 8 年之前
column_to_quats.cpp 3ee6fa10ec mouse controller and quaternion io 11 年之前
column_to_quats.h e9d637ef52 - compilation fixes for the tutorials in chapter 4 11 年之前
columnize.cpp b6c6db1279 specialization --> instantiation 8 年之前
columnize.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
comb_cross_field.cpp b6c6db1279 specialization --> instantiation 8 年之前
comb_cross_field.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
comb_frame_field.cpp b6c6db1279 specialization --> instantiation 8 年之前
comb_frame_field.h 344cb9eea3 -Changes to header files to support parsing 9 年之前
comb_line_field.cpp b6c6db1279 specialization --> instantiation 8 年之前
comb_line_field.h c7f6cff1db fixes from Nico Pietroni on the MIQ pipeline and examples 10 年之前
combine.cpp 5a32da8c9d combine two meshes 8 年之前
combine.h 5a32da8c9d combine two meshes 8 年之前
components.cpp b6c6db1279 specialization --> instantiation 8 年之前
components.h 992eeb587a better templating 8 年之前
compute_frame_field_bisectors.cpp b6c6db1279 specialization --> instantiation 8 年之前
compute_frame_field_bisectors.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
conjugate_frame_fields.cpp b6c6db1279 specialization --> instantiation 8 年之前
conjugate_frame_fields.h 9a7c121ba6 conjugate tutorial seems to be broken, made some changes but not fixed yet 9 年之前
connect_boundary_to_infinity.cpp 1caf839744 missing templates 9 年之前
connect_boundary_to_infinity.h 0411fb9508 boundary edges now work with default decimate 9 年之前
cotmatrix.cpp b6c6db1279 specialization --> instantiation 8 年之前
cotmatrix.h 9698061a02 better templating 8 年之前
cotmatrix_entries.cpp b6c6db1279 specialization --> instantiation 8 年之前
cotmatrix_entries.h 9698061a02 better templating 8 年之前
count.cpp b6c6db1279 specialization --> instantiation 8 年之前
count.h 074577bc17 use sparse matrix redux/for each 8 年之前
covariance_scatter_matrix.cpp 1b254f02a1 rm using namespace igl 10 年之前
covariance_scatter_matrix.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
cross.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
cross.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
cross_field_missmatch.cpp b6c6db1279 specialization --> instantiation 8 年之前
cross_field_missmatch.h fb819ab4f7 fixed python compilation error 9 年之前
crouzeix_raviart_cotmatrix.cpp f17f286a0f templates 8 年之前
crouzeix_raviart_cotmatrix.h 7b82a08e5b all_edges --> oriented_facets 8 年之前
crouzeix_raviart_massmatrix.cpp f17f286a0f templates 8 年之前
crouzeix_raviart_massmatrix.h 7b82a08e5b all_edges --> oriented_facets 8 年之前
cumsum.cpp 480f98b127 better templates 8 年之前
cumsum.h 480f98b127 better templates 8 年之前
cut_mesh.cpp 8aaab1ecd9 fixed memory error hidden by const& in miq-related functions 8 年之前
cut_mesh.h a456df913d static library _compiles_ with eigen3.3.1 8 年之前
cut_mesh_from_singularities.cpp 8aaab1ecd9 fixed memory error hidden by const& in miq-related functions 8 年之前
cut_mesh_from_singularities.h 2254bf5990 style 9 年之前
cylinder.cpp df801345c1 copyright/license headers 8 年之前
cylinder.h df801345c1 copyright/license headers 8 年之前
dated_copy.cpp 6f8f988fa5 fixed various windows issues with static library 10 年之前
dated_copy.h 6f8f988fa5 fixed various windows issues with static library 10 年之前
decimate.cpp 5d956357b5 return false on nonmanifold 8 年之前
decimate.h 42d48d7457 ack, pre_/-post_ collapse needs full state 8 年之前
deform_skeleton.cpp 53c2b9e8fa missing copyrights 10 年之前
deform_skeleton.h b84e4e375d extra eigen stdvector includes 8 年之前
delaunay_triangulation.cpp 87fbb8ec7d Refactor exact predicates class into functions. 8 年之前
delaunay_triangulation.h d8848b2a9a Update doc. 8 年之前
deprecated.h 53c2b9e8fa missing copyrights 10 年之前
dfs.cpp 1397a27933 Fix template specializations 8 年之前
dfs.h 2656c6d361 missing eigen include 8 年之前
diag.cpp b6c6db1279 specialization --> instantiation 8 年之前
diag.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
dihedral_angles.cpp b6c6db1279 specialization --> instantiation 8 年之前
dihedral_angles.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
dijkstra.cpp b6c6db1279 specialization --> instantiation 8 年之前
dijkstra.h 5f795771d7 implementation of integrable polyvector fields (+some templates) 10 年之前
directed_edge_orientations.cpp b6c6db1279 specialization --> instantiation 8 年之前
directed_edge_orientations.h b84e4e375d extra eigen stdvector includes 8 年之前
directed_edge_parents.cpp b6c6db1279 specialization --> instantiation 8 年之前
directed_edge_parents.h 76a662d23f missing directed edge parents file 11 年之前
dirname.cpp bfac8198d3 windows delimiter 8 年之前
dirname.h 18bd747cb4 example in header 10 年之前
dot.cpp b473232452 preprend license header to every file 11 年之前
dot.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
dot_row.cpp b6c6db1279 specialization --> instantiation 8 年之前
dot_row.h 97bf3c6fb5 PlainObjectBase objects should not be declared 8 年之前
doublearea.cpp 606a4a0c88 clean up winding number code. templates 8 年之前
doublearea.h 8943387b53 use nan replacement doublearea 8 年之前
dqs.cpp b6c6db1279 specialization --> instantiation 8 年之前
dqs.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
ears.cpp b6c6db1279 specialization --> instantiation 8 年之前
ears.h ec0cb390f5 identify 'ears' on mesh 8 年之前
edge_collapse_is_valid.cpp 1b254f02a1 rm using namespace igl 10 年之前
edge_collapse_is_valid.h 7ce75d2528 edge collapsing and linear programs 10 年之前
edge_flaps.cpp 148c4a067f handle boundary edges 8 年之前
edge_flaps.h 3e94e154ea comments about duplicity 8 年之前
edge_lengths.cpp 606a4a0c88 clean up winding number code. templates 8 年之前
edge_lengths.h 9698061a02 better templating 8 年之前
edge_topology.cpp b6c6db1279 specialization --> instantiation 8 年之前
edge_topology.h 0eda832958 typos in comments 8 年之前
edges.cpp b504c61714 templates and prototypes 8 年之前
edges.h 992eeb587a better templating 8 年之前
edges_to_path.cpp b6c6db1279 specialization --> instantiation 8 年之前
edges_to_path.h 236b440c34 convert list of edges forming chain/loop into path 8 年之前
eigs.cpp 1397a27933 Fix template specializations 8 年之前
eigs.h 78732839e2 better documentation 8 年之前
euler_characteristic.cpp b6c6db1279 specialization --> instantiation 8 年之前
euler_characteristic.h 992eeb587a better templating 8 年之前
example_fun.cpp b6c6db1279 specialization --> instantiation 8 年之前
example_fun.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
exterior_edges.cpp 606a4a0c88 clean up winding number code. templates 8 年之前
exterior_edges.h 53c2b9e8fa missing copyrights 10 年之前
extract_manifold_patches.cpp 606a4a0c88 clean up winding number code. templates 8 年之前
extract_manifold_patches.h b00e745985 adding missing copyright/license headers 8 年之前
extract_non_manifold_edge_curves.cpp b00e745985 adding missing copyright/license headers 8 年之前
extract_non_manifold_edge_curves.h b00e745985 adding missing copyright/license headers 8 年之前
face_areas.cpp c31471f571 unused nan replacement 8 年之前
face_areas.h 8943387b53 use nan replacement doublearea 8 年之前
face_occurrences.cpp b6c6db1279 specialization --> instantiation 8 年之前
face_occurrences.h 2c75b2cf21 typo in face_occurrences name 10 年之前
faces_first.cpp b6c6db1279 specialization --> instantiation 8 年之前
faces_first.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
facet_components.cpp b6c6db1279 specialization --> instantiation 8 年之前
facet_components.h da91e1ba44 Minor update documentation of facet_components(). 10 年之前
false_barycentric_subdivision.cpp b6c6db1279 specialization --> instantiation 8 年之前
false_barycentric_subdivision.h 3b3eddd9a0 fixed template madness in tri_tri 10 年之前
field_local_global_conversions.cpp b6c6db1279 specialization --> instantiation 8 年之前
field_local_global_conversions.h 5f795771d7 implementation of integrable polyvector fields (+some templates) 10 年之前
file_contents_as_string.cpp 909c4a05ff return overload 9 年之前
file_contents_as_string.h 909c4a05ff return overload 9 年之前
file_dialog_open.cpp 69f1c5f112 fixed a bug concerning load mesh from dialog 10 年之前
file_dialog_open.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
file_dialog_save.cpp 6f8f988fa5 fixed various windows issues with static library 10 年之前
file_dialog_save.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
file_exists.cpp a60d9c69a1 get modifiers, fit rigid 2d, templates 10 年之前
file_exists.h a60d9c69a1 get modifiers, fit rigid 2d, templates 10 年之前
find.cpp a456df913d static library _compiles_ with eigen3.3.1 8 年之前
find.h c41afa77ec better templates 8 年之前
find_cross_field_singularities.cpp 8aaab1ecd9 fixed memory error hidden by const& in miq-related functions 8 年之前
find_cross_field_singularities.h 580c57ed4f Merge branch 'master' of https://github.com/libigl/libigl 10 年之前
find_zero.cpp b6c6db1279 specialization --> instantiation 8 年之前
find_zero.h 5e5d11c49f reductions for sparse matrices 8 年之前
fit_plane.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
fit_plane.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
fit_rotations.cpp b6c6db1279 specialization --> instantiation 8 年之前
fit_rotations.h 36a1006438 note that fit_rotations may be obsolete 10 年之前
flip_avoiding_line_search.cpp 8ce767d270 Merge branch 'master' into bugfix-get_smallest_pos_quad_zero 8 年之前
flip_avoiding_line_search.h ac38aede79 * removed defines and namespaces from flip_avoiding_line_search 8 年之前
flip_edge.cpp 0660c9c01c Avoid coeff and coeffRef. 8 年之前
flip_edge.h 34b56ae109 Minor update to get window compilation pass. 8 年之前
flipped_triangles.cpp b6c6db1279 specialization --> instantiation 8 年之前
flipped_triangles.h 4ebf2b20ef fixed up style and compilation errors in flipped_triangles 9 年之前
flood_fill.cpp 4f6e28067c better templating 8 年之前
flood_fill.h 7feec96c29 some strange compilation issues, templates 8 年之前
floor.cpp b6c6db1279 specialization --> instantiation 8 年之前
floor.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
for_each.h 0faf24a294 add svd version 8 年之前
forward_kinematics.cpp b6c6db1279 specialization --> instantiation 8 年之前
forward_kinematics.h b7157c2898 translation widget 9 年之前
frame_field_deformer.cpp b6c6db1279 specialization --> instantiation 8 年之前
frame_field_deformer.h b1ea555f41 bad path 10 年之前
frame_to_cross_field.cpp b6c6db1279 specialization --> instantiation 8 年之前
frame_to_cross_field.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
frustum.cpp b6c6db1279 specialization --> instantiation 8 年之前
frustum.h a1c8fcb85c templates, viewer opengl code extraction 10 年之前
gaussian_curvature.cpp b6c6db1279 specialization --> instantiation 8 年之前
gaussian_curvature.h bd57fc27aa no division by area 9 年之前
get_seconds.cpp 3224534a03 C++11 get seconds 9 年之前
get_seconds.h f976e38f91 faster tri tri adj, unique simplices 10 年之前
get_seconds_hires.cpp b473232452 preprend license header to every file 11 年之前
get_seconds_hires.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
grad.cpp 9d88e2c767 Bug Fix for 2d grad uniform 8 年之前
grad.h 48787fd172 consolidated igl::grad 8 年之前
grid.cpp 4f6e28067c better templating 8 年之前
grid.h 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 年之前
grid_search.cpp 89b6ecee13 some simple global optimization routines 8 年之前
grid_search.h 89b6ecee13 some simple global optimization routines 8 年之前
group_sum_matrix.cpp b6c6db1279 specialization --> instantiation 8 年之前
group_sum_matrix.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
guess_extension.cpp be1bbf6fde templates and output parameter overload 8 年之前
guess_extension.h be1bbf6fde templates and output parameter overload 8 年之前
harmonic.cpp 05f2905655 Update templates 8 年之前
harmonic.h 9698061a02 better templating 8 年之前
harwell_boeing.cpp b6c6db1279 specialization --> instantiation 8 年之前
harwell_boeing.h bdeb592dc8 rm unneeded define 10 年之前
hausdorff.cpp 7d3915762c hausdorff distance from a single triangle 8 年之前
hausdorff.h 7d3915762c hausdorff distance from a single triangle 8 年之前
hessian.cpp 6f754d8075 Changed includes as of Alec's comment 8 年之前
hessian.h 8d398f2306 Enforcing 80 character rule 8 年之前
hessian_energy.cpp 6f754d8075 Changed includes as of Alec's comment 8 年之前
hessian_energy.h 8d398f2306 Enforcing 80 character rule 8 年之前
histc.cpp a456df913d static library _compiles_ with eigen3.3.1 8 年之前
histc.h f6076190a2 use matrixbase for inputs 8 年之前
hsv_to_rgb.cpp 85a56e391b resize(X.rows(),X.cols()) --> resizeLike(X) 8 年之前
hsv_to_rgb.h 20a3ad28f1 eigen types 10 年之前
igl_inline.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
in_element.cpp 92b29eb15f templates 9 年之前
in_element.h 5e0d6b3aff Fixed various minor bugs, added explicit template specifications 9 年之前
infinite_cost_stopping_condition.cpp ad917ffc5e Fixed namespace problem 9 年之前
infinite_cost_stopping_condition.h 6fad412558 decimate with finite cost 9 年之前
inradius.cpp 8943387b53 use nan replacement doublearea 8 年之前
inradius.h c330b9a5ec compute per triangle circum- and in- radii 8 年之前
integrable_polyvector_fields.cpp b6c6db1279 specialization --> instantiation 8 年之前
integrable_polyvector_fields.h e4886b577c replaced constructors of the form Eigen::PlainObjectBase<Derived*> with Derived* 9 年之前
internal_angles.cpp 606a4a0c88 clean up winding number code. templates 8 年之前
internal_angles.h 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 年之前
intersect.cpp b6c6db1279 specialization --> instantiation 8 年之前
intersect.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
invert_diag.cpp b6c6db1279 specialization --> instantiation 8 年之前
invert_diag.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
is_border_vertex.cpp b6c6db1279 specialization --> instantiation 8 年之前
is_border_vertex.h ba963582da improved doc 10 年之前
is_boundary_edge.cpp 606a4a0c88 clean up winding number code. templates 8 年之前
is_boundary_edge.h 5ad035de72 boundaryedges and CR mass matrix 10 年之前
is_dir.cpp b473232452 preprend license header to every file 11 年之前
is_dir.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
is_edge_manifold.cpp 7b82a08e5b all_edges --> oriented_facets 8 年之前
is_edge_manifold.h 01e284b3d7 better templating 8 年之前
is_file.cpp b473232452 preprend license header to every file 11 年之前
is_file.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
is_irregular_vertex.cpp b6c6db1279 specialization --> instantiation 8 年之前
is_irregular_vertex.h 442c8d908c added mesh statistics functions and updated tutorial 10 年之前
is_planar.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 年之前
is_planar.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
is_readable.cpp b473232452 preprend license header to every file 11 年之前
is_readable.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
is_sparse.cpp b6c6db1279 specialization --> instantiation 8 年之前
is_sparse.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
is_stl.cpp b6e3b252af read directly from file pointer 8 年之前
is_stl.h b6e3b252af read directly from file pointer 8 年之前
is_symmetric.cpp a456df913d static library _compiles_ with eigen3.3.1 8 年之前
is_symmetric.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
is_vertex_manifold.cpp 9a67d8dc36 templates 8 年之前
is_vertex_manifold.h 9f0396b085 Update the documentation of is_vertex_manifold. 9 年之前
is_writable.cpp b473232452 preprend license header to every file 11 年之前
is_writable.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
isdiag.cpp b6c6db1279 specialization --> instantiation 8 年之前
isdiag.h 8dc2514633 isdiagonal test, harmonic abstracted away from laplacian 9 年之前
ismember.cpp 606a4a0c88 clean up winding number code. templates 8 年之前
ismember.h b504c61714 templates and prototypes 8 年之前
isolines.cpp da5b824984 Removed superfluous sort 8 年之前
isolines.h d449ba9868 Fixed typo 8 年之前
jet.cpp 4d24fab218 Colormap refactoring 8 年之前
jet.h 4d24fab218 Colormap refactoring 8 年之前
launch_medit.cpp b6c6db1279 specialization --> instantiation 8 年之前
launch_medit.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
lbs_matrix.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 年之前
lbs_matrix.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
lexicographic_triangulation.cpp e4583a8683 Minor update to avoid compiler warning. 8 年之前
lexicographic_triangulation.h 87fbb8ec7d Refactor exact predicates class into functions. 8 年之前
limit_faces.cpp b6c6db1279 specialization --> instantiation 8 年之前
limit_faces.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
line_field_missmatch.cpp b6c6db1279 specialization --> instantiation 8 年之前
line_field_missmatch.h c7f6cff1db fixes from Nico Pietroni on the MIQ pipeline and examples 10 年之前
line_search.cpp a26275254d * added missing IGL_INLINE 8 年之前
line_search.h ac38aede79 * removed defines and namespaces from flip_avoiding_line_search 8 年之前
line_segment_in_rectangle.cpp 0667cbcb2a fix namespace/include order errors 8 年之前
line_segment_in_rectangle.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
linprog.cpp 5a63323d51 unnecessary includes 8 年之前
linprog.h 7ce75d2528 edge collapsing and linear programs 10 年之前
list_to_matrix.cpp 606a4a0c88 clean up winding number code. templates 8 年之前
list_to_matrix.h 6f3f5bdabe Merge branch 'master' of https://github.com/schuellc/libigl 9 年之前
local_basis.cpp b6c6db1279 specialization --> instantiation 8 年之前
local_basis.h 344cb9eea3 -Changes to header files to support parsing 9 年之前
look_at.cpp b6c6db1279 specialization --> instantiation 8 年之前
look_at.h a1c8fcb85c templates, viewer opengl code extraction 10 年之前
loop.cpp e650edcc01 templates 8 年之前
loop.h 19bc318c12 loop, upsample, bug fix + tutorial 8 年之前
lscm.cpp b6c6db1279 specialization --> instantiation 8 年之前
lscm.h 3a82db0c88 clarify ref 10 年之前
map_vertices_to_circle.cpp 1d76192dc3 removed unused include 10 年之前
map_vertices_to_circle.h 344cb9eea3 -Changes to header files to support parsing 9 年之前
massmatrix.cpp b6c6db1279 specialization --> instantiation 8 年之前
massmatrix.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
mat_max.cpp b6c6db1279 specialization --> instantiation 8 年之前
mat_max.h 2c0956abc6 better templating 8 年之前
mat_min.cpp b6c6db1279 specialization --> instantiation 8 年之前
mat_min.h 2c0956abc6 better templating 8 年之前
mat_to_quat.cpp b6c6db1279 specialization --> instantiation 8 年之前
mat_to_quat.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
material_colors.h ae29184e91 draw skeleton with colors 11 年之前
matlab_format.cpp 30fabdc2cb templates 8 年之前
matlab_format.h 30fabdc2cb templates 8 年之前
matrix_to_list.cpp c25e874b18 better templating for WNAABB, and template hell ensuing 8 年之前
matrix_to_list.h 46aa12d3e1 setxor, correct indices assuming colmajor 8 年之前
max.cpp b6c6db1279 specialization --> instantiation 8 年之前
max.h 5e5d11c49f reductions for sparse matrices 8 年之前
max_faces_stopping_condition.cpp df801345c1 copyright/license headers 8 年之前
max_faces_stopping_condition.h 4deb79d564 pull out shortest_edge_... and max_faces... functions 8 年之前
max_size.cpp b504c61714 templates and prototypes 8 年之前
max_size.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
median.cpp c25e874b18 better templating for WNAABB, and template hell ensuing 8 年之前
median.h c25e874b18 better templating for WNAABB, and template hell ensuing 8 年之前
min.cpp 5e5d11c49f reductions for sparse matrices 8 年之前
min.h 5e5d11c49f reductions for sparse matrices 8 年之前
min_quad_dense.cpp b6c6db1279 specialization --> instantiation 8 年之前
min_quad_dense.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
min_quad_with_fixed.cpp 09c724bb35 merge 8 年之前
min_quad_with_fixed.h c2761bcd59 improve documentation, mention trace, num cols 8 年之前
min_size.cpp b504c61714 templates and prototypes 8 年之前
min_size.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
mod.cpp 85a56e391b resize(X.rows(),X.cols()) --> resizeLike(X) 8 年之前
mod.h c9be59b49f fix some bad uses of Eigen::PlainObjectBase 9 年之前
mode.cpp b6c6db1279 specialization --> instantiation 8 年之前
mode.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
mvc.cpp ed153a8b84 abs warning 10 年之前
mvc.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
n_polyvector.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 年之前
n_polyvector.h 81238fbfd2 - cleaned up polyvector field example 11 年之前
n_polyvector_general.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 年之前
n_polyvector_general.h fc424b9b5c general polyvector field 11 年之前
nchoosek.cpp a456df913d static library _compiles_ with eigen3.3.1 8 年之前
nchoosek.h 4f99fc5ddd variadic boolean ops 9 年之前
next_filename.cpp 3afe7f3444 templates 10 年之前
next_filename.h e7dcfe6b19 better doc 8 年之前
normal_derivative.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 年之前
normal_derivative.h 8fd80c7bc0 biharmonic coordinates, impl of 'linear subspace design...', templates, overloads 10 年之前
normalize_quat.cpp b6c6db1279 specialization --> instantiation 8 年之前
normalize_quat.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
normalize_row_lengths.cpp b6c6db1279 specialization --> instantiation 8 年之前
normalize_row_lengths.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
normalize_row_sums.cpp b6c6db1279 specialization --> instantiation 8 年之前
normalize_row_sums.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
null.cpp 9354cc1124 null space 10 年之前
null.h 9354cc1124 null space 10 年之前
on_boundary.cpp b6c6db1279 specialization --> instantiation 8 年之前
on_boundary.h f5b39a8657 better templating 8 年之前
orient_outward.cpp b6c6db1279 specialization --> instantiation 8 年之前
orient_outward.h 63e134577a manifold_patches --> orientable_patches 11 年之前
orientable_patches.cpp 606a4a0c88 clean up winding number code. templates 8 年之前
orientable_patches.h 2dfdea1a3b templates 9 年之前
oriented_facets.cpp c25e874b18 better templating for WNAABB, and template hell ensuing 8 年之前
oriented_facets.h 7b82a08e5b all_edges --> oriented_facets 8 年之前
orth.cpp b473232452 preprend license header to every file 11 年之前
orth.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
ortho.cpp b6c6db1279 specialization --> instantiation 8 年之前
ortho.h a1c8fcb85c templates, viewer opengl code extraction 10 年之前
outer_element.cpp b6c6db1279 specialization --> instantiation 8 年之前
outer_element.h 05cf35b4d6 Minor update to documentation and rename exterior* to outer*. 10 年之前
parallel_for.h 7feec96c29 some strange compilation issues, templates 8 年之前
parallel_transport_angles.cpp b6c6db1279 specialization --> instantiation 8 年之前
parallel_transport_angles.h 5f795771d7 implementation of integrable polyvector fields (+some templates) 10 年之前
partition.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 年之前
partition.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
parula.cpp 4d24fab218 Colormap refactoring 8 年之前
parula.h 4d24fab218 Colormap refactoring 8 年之前
path_to_executable.cpp 6f8f988fa5 fixed various windows issues with static library 10 年之前
path_to_executable.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
pathinfo.cpp b6c6db1279 specialization --> instantiation 8 年之前
pathinfo.h 8e2e36c12a examples 10 年之前
per_corner_normals.cpp b6c6db1279 specialization --> instantiation 8 年之前
per_corner_normals.h f4ab9d2cd1 compiles after rm PlainObjectBase uses 9 年之前
per_edge_normals.cpp 2e79bd99de templates 8 年之前
per_edge_normals.h 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 年之前
per_face_normals.cpp 606a4a0c88 clean up winding number code. templates 8 年之前
per_face_normals.h 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 年之前
per_vertex_attribute_smoothing.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared 8 年之前
per_vertex_attribute_smoothing.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
per_vertex_normals.cpp 2e79bd99de templates 8 年之前
per_vertex_normals.h 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 年之前
per_vertex_point_to_plane_quadrics.cpp df801345c1 copyright/license headers 8 年之前
per_vertex_point_to_plane_quadrics.h df801345c1 copyright/license headers 8 年之前
piecewise_constant_winding_number.cpp 606a4a0c88 clean up winding number code. templates 8 年之前
piecewise_constant_winding_number.h 606a4a0c88 clean up winding number code. templates 8 年之前
pinv.cpp 6f47da1700 pseudoinverse 8 年之前
pinv.h 6f47da1700 pseudoinverse 8 年之前
planarize_quad_mesh.cpp b6c6db1279 specialization --> instantiation 8 年之前
planarize_quad_mesh.h 53c2b9e8fa missing copyrights 10 年之前
ply.h.REMOVED.git-id ae4e417d37 Fix #573. Removing global variables - making 'readPLY' and 'writePLY' threadsafe. 8 年之前
point_in_circle.cpp b473232452 preprend license header to every file 11 年之前
point_in_circle.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
point_in_poly.cpp b473232452 preprend license header to every file 11 年之前
point_in_poly.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
point_mesh_squared_distance.cpp abb5062d19 templates 8 年之前
point_mesh_squared_distance.h 5e0d6b3aff Fixed various minor bugs, added explicit template specifications 9 年之前
point_simplex_squared_distance.cpp 2e79bd99de templates 8 年之前
point_simplex_squared_distance.h 36f3f666e9 fix template to match explicits 8 年之前
polar_dec.cpp b6c6db1279 specialization --> instantiation 8 年之前
polar_dec.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
polar_svd.cpp b6c6db1279 specialization --> instantiation 8 年之前
polar_svd.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
polar_svd3x3.cpp b6c6db1279 specialization --> instantiation 8 年之前
polar_svd3x3.h cce7d90d92 mv SVD to main lib 10 年之前
polygon_mesh_to_triangle_mesh.cpp b6c6db1279 specialization --> instantiation 8 年之前
polygon_mesh_to_triangle_mesh.h 8e6f510b7b next filename, draw quad meshes, template specializations, 11 年之前
polyroots.cpp b6c6db1279 specialization --> instantiation 8 年之前
polyroots.h 34d4f8e5aa conjugate example, fixed some #HEADER_ONLY errors 11 年之前
polyvector_field_comb_from_matchings_and_cuts.cpp b6c6db1279 specialization --> instantiation 8 年之前
polyvector_field_comb_from_matchings_and_cuts.h 5f795771d7 implementation of integrable polyvector fields (+some templates) 10 年之前
polyvector_field_cut_mesh_with_singularities.cpp b6c6db1279 specialization --> instantiation 8 年之前
polyvector_field_cut_mesh_with_singularities.h 5f795771d7 implementation of integrable polyvector fields (+some templates) 10 年之前
polyvector_field_matchings.cpp b6c6db1279 specialization --> instantiation 8 年之前
polyvector_field_matchings.h f72ff756ac olga's recent changes 9 年之前
polyvector_field_poisson_reconstruction.cpp b6c6db1279 specialization --> instantiation 8 年之前
polyvector_field_poisson_reconstruction.h f72ff756ac olga's recent changes 9 年之前
polyvector_field_singularities_from_matchings.cpp b6c6db1279 specialization --> instantiation 8 年之前
polyvector_field_singularities_from_matchings.h cd067ff5c8 changed order of neighborhood traversal for singularity calculation 9 年之前
principal_curvature.cpp b6c6db1279 specialization --> instantiation 8 年之前
principal_curvature.h 344cb9eea3 -Changes to header files to support parsing 9 年之前
print_ijv.cpp b6c6db1279 specialization --> instantiation 8 年之前
print_ijv.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
print_vector.cpp b6c6db1279 specialization --> instantiation 8 年之前
print_vector.h 4372f57c55 plot_vector --> print_vector 11 年之前
procrustes.cpp 72eb3ef51a missing namespaces/includes 8 年之前
procrustes.h 6e2c0ff218 bug in procrustes templating 10 年之前
project.cpp b6c6db1279 specialization --> instantiation 8 年之前
project.h 10999766a2 project() is now templated more generally 8 年之前
project_isometrically_to_plane.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared 8 年之前
project_isometrically_to_plane.h e7f4b0154a plane_project --> project_isometrically_to_plane 11 年之前
project_to_line.cpp 7feec96c29 some strange compilation issues, templates 8 年之前
project_to_line.h 408c23ebc7 another typo in doc 8 年之前
project_to_line_segment.cpp 7feec96c29 some strange compilation issues, templates 8 年之前
project_to_line_segment.h 70693a85ba small speed up and code reogranization for point/mesh squared distance 9 年之前
pseudonormal_test.cpp 2e79bd99de templates 8 年之前
pseudonormal_test.h 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 年之前
pso.cpp 89b6ecee13 some simple global optimization routines 8 年之前
pso.h 89b6ecee13 some simple global optimization routines 8 年之前
qslim.cpp 5d956357b5 return false on nonmanifold 8 年之前
qslim.h df801345c1 copyright/license headers 8 年之前
qslim_optimal_collapse_edge_callbacks.cpp e2f6f2c24c std isinf 8 年之前
qslim_optimal_collapse_edge_callbacks.h df801345c1 copyright/license headers 8 年之前
quad_planarity.cpp b6c6db1279 specialization --> instantiation 8 年之前
quad_planarity.h 53c2b9e8fa missing copyrights 10 年之前
quadric_binary_plus_operator.cpp df801345c1 copyright/license headers 8 年之前
quadric_binary_plus_operator.h df801345c1 copyright/license headers 8 年之前
quat_conjugate.cpp b6c6db1279 specialization --> instantiation 8 年之前
quat_conjugate.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
quat_mult.cpp b6c6db1279 specialization --> instantiation 8 年之前
quat_mult.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
quat_to_axis_angle.cpp b6c6db1279 specialization --> instantiation 8 年之前
quat_to_axis_angle.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
quat_to_mat.cpp b6c6db1279 specialization --> instantiation 8 年之前
quat_to_mat.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
quats_to_column.cpp 3ee6fa10ec mouse controller and quaternion io 11 年之前
quats_to_column.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
ramer_douglas_peucker.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 年之前
ramer_douglas_peucker.h 16cd4fcd13 wrapper to output reparameterization along simplified curve 8 年之前
random_dir.cpp 62521f0d2c fix for clang, enabled embree build by default for python bindings 9 年之前
random_dir.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
random_points_on_mesh.cpp b6c6db1279 specialization --> instantiation 8 年之前
random_points_on_mesh.h 52eabdec3e documentation 8 年之前
random_quaternion.cpp b6c6db1279 specialization --> instantiation 8 年之前
random_quaternion.h 53c2b9e8fa missing copyrights 10 年之前
random_search.cpp 89b6ecee13 some simple global optimization routines 8 年之前
random_search.h 89b6ecee13 some simple global optimization routines 8 年之前
randperm.cpp b6c6db1279 specialization --> instantiation 8 年之前
randperm.h 97bf3c6fb5 PlainObjectBase objects should not be declared 8 年之前
ray_box_intersect.cpp 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 年之前
ray_box_intersect.h 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 年之前
ray_mesh_intersect.cpp b6c6db1279 specialization --> instantiation 8 年之前
ray_mesh_intersect.h b00e745985 adding missing copyright/license headers 8 年之前
ray_sphere_intersect.cpp b6c6db1279 specialization --> instantiation 8 年之前
ray_sphere_intersect.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
raytri.c 73745b8713 note about public domain-ness 8 年之前
readBF.cpp b00e745985 adding missing copyright/license headers 8 年之前
readBF.h b00e745985 adding missing copyright/license headers 8 年之前
readCSV.cpp b6c6db1279 specialization --> instantiation 8 年之前
readCSV.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
readDMAT.cpp b6c6db1279 specialization --> instantiation 8 年之前
readDMAT.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
readMESH.cpp 956e870232 gcc friendly template: 8 年之前
readMESH.h b6e3b252af read directly from file pointer 8 年之前
readNODE.cpp b6c6db1279 specialization --> instantiation 8 年之前
readNODE.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
readOBJ.cpp 30d373ee61 n-dimensional OBJ vertex support 8 年之前
readOBJ.h 680d9ff712 better templating 8 年之前
readOFF.cpp 7bbcec7f04 fix blank line error while opening OFF file 8 年之前
readOFF.h b6e3b252af read directly from file pointer 8 年之前
readPLY.cpp ae4e417d37 Fix #573. Removing global variables - making 'readPLY' and 'writePLY' threadsafe. 8 年之前
readPLY.h ae4e417d37 Fix #573. Removing global variables - making 'readPLY' and 'writePLY' threadsafe. 8 年之前
readSTL.cpp b6c6db1279 specialization --> instantiation 8 年之前
readSTL.h b6e3b252af read directly from file pointer 8 年之前
readTGF.cpp 77b87e622a rm using namespace igl 10 年之前
readTGF.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
readWRL.cpp b6c6db1279 specialization --> instantiation 8 年之前
readWRL.h b6e3b252af read directly from file pointer 8 年之前
read_triangle_mesh.cpp 606a4a0c88 clean up winding number code. templates 8 年之前
read_triangle_mesh.h b6e3b252af read directly from file pointer 8 年之前
redux.h db3b7dc16c templates 8 年之前
remove_duplicate_vertices.cpp 2e79bd99de templates 8 年之前
remove_duplicate_vertices.h b09b6e5b0f better templating 8 年之前
remove_duplicates.cpp b6c6db1279 specialization --> instantiation 8 年之前
remove_duplicates.h 69808310c1 removeDuplicates --> remove_duplicates 11 年之前
remove_unreferenced.cpp 2e79bd99de templates 8 年之前
remove_unreferenced.h b09b6e5b0f better templating 8 年之前
reorder.cpp 1397a27933 Fix template specializations 8 年之前
reorder.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
repdiag.cpp b6c6db1279 specialization --> instantiation 8 年之前
repdiag.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
repmat.cpp b6c6db1279 specialization --> instantiation 8 年之前
repmat.h 9698061a02 better templating 8 年之前
resolve_duplicated_faces.cpp 606a4a0c88 clean up winding number code. templates 8 年之前
resolve_duplicated_faces.h f9ced09c24 merge 9 年之前
rgb_to_hsv.cpp b6c6db1279 specialization --> instantiation 8 年之前
rgb_to_hsv.h 20a3ad28f1 eigen types 10 年之前
rotate_by_quat.cpp b6c6db1279 specialization --> instantiation 8 年之前
rotate_by_quat.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
rotate_vectors.cpp b6c6db1279 specialization --> instantiation 8 年之前
rotate_vectors.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
rotation_matrix_from_directions.cpp b6c6db1279 specialization --> instantiation 8 年之前
rotation_matrix_from_directions.h 2d42198b19 fix style, rm unused parameter 9 年之前
round.cpp 2e79bd99de templates 8 年之前
round.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
rows_to_matrix.cpp b6c6db1279 specialization --> instantiation 8 年之前
rows_to_matrix.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
sample_edges.cpp b473232452 preprend license header to every file 11 年之前
sample_edges.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
seam_edges.cpp b6c6db1279 specialization --> instantiation 8 年之前
seam_edges.h af2594ad1c cosmetic reformatting and templates 8 年之前
segment_segment_intersect.cpp abd2f01b80 completing the merge 9 年之前
segment_segment_intersect.h abd2f01b80 completing the merge 9 年之前
serialize.h 892496b73c Merge current master 8 年之前
setdiff.cpp 2955adeb5e tutorial and unit tests compile and run with Eigen 3.3.1; Eigen's LinSpaced had yet another bug 8 年之前
setdiff.h 46aa12d3e1 setxor, correct indices assuming colmajor 8 年之前
setunion.cpp b6c6db1279 specialization --> instantiation 8 年之前
setunion.h 06215fe09b set union on matrices 8 年之前
setxor.cpp b6c6db1279 specialization --> instantiation 8 年之前
setxor.h 46aa12d3e1 setxor, correct indices assuming colmajor 8 年之前
shape_diameter_function.cpp 2692c1ee0c basic shape diameter function implementation 8 年之前
shape_diameter_function.h 2692c1ee0c basic shape diameter function implementation 8 年之前
shortest_edge_and_midpoint.cpp df801345c1 copyright/license headers 8 年之前
shortest_edge_and_midpoint.h 4deb79d564 pull out shortest_edge_... and max_faces... functions 8 年之前
signed_angle.cpp 29250d6923 templates 8 年之前
signed_angle.h 606a4a0c88 clean up winding number code. templates 8 年之前
signed_distance.cpp 2e79bd99de templates 8 年之前
signed_distance.h 7feec96c29 some strange compilation issues, templates 8 年之前
simplify_polyhedron.cpp 42d48d7457 ack, pre_/-post_ collapse needs full state 8 年之前
simplify_polyhedron.h 4123794f61 simplify polyhedron 9 年之前
slice.cpp 2e79bd99de templates 8 年之前
slice.h c41afa77ec better templates 8 年之前
slice_into.cpp 05f2905655 Update templates 8 年之前
slice_into.h c41afa77ec better templates 8 年之前
slice_mask.cpp 480f98b127 better templates 8 年之前
slice_mask.h 03c9c841dc trivially extend to sparse matrices 8 年之前
slice_tets.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 年之前
slice_tets.h f0b9c018f1 slice tets and tempaltes 10 年之前
slim.cpp 6f8ab23137 fixed an initializaiton bug in func "solve_weighted_arap" of slim.cpp 8 年之前
slim.h 66ccf0c218 templates 8 年之前
snap_points.cpp b6c6db1279 specialization --> instantiation 8 年之前
snap_points.h 2dfdea1a3b templates 9 年之前
snap_to_canonical_view_quat.cpp b6c6db1279 specialization --> instantiation 8 年之前
snap_to_canonical_view_quat.h 8c809663c2 better tempaltes 10 年之前
snap_to_fixed_up.cpp b6c6db1279 specialization --> instantiation 8 年之前
snap_to_fixed_up.h 6d578a7133 key usage in viewer 9 年之前
solid_angle.cpp 2e79bd99de templates 8 年之前
solid_angle.h 606a4a0c88 clean up winding number code. templates 8 年之前
sort.cpp 606a4a0c88 clean up winding number code. templates 8 年之前
sort.h 46aa12d3e1 setxor, correct indices assuming colmajor 8 年之前
sort_angles.cpp 2955adeb5e tutorial and unit tests compile and run with Eigen 3.3.1; Eigen's LinSpaced had yet another bug 8 年之前
sort_angles.h 53c2b9e8fa missing copyrights 10 年之前
sort_triangles.cpp b6c6db1279 specialization --> instantiation 8 年之前
sort_triangles.h 945ca3ac82 move opengl functions to separate directories, lots of new templates 10 年之前
sort_vectors_ccw.cpp b6c6db1279 specialization --> instantiation 8 年之前
sort_vectors_ccw.h f72ff756ac olga's recent changes 9 年之前
sortrows.cpp 2e79bd99de templates 8 年之前
sortrows.h 46aa12d3e1 setxor, correct indices assuming colmajor 8 年之前
sparse.cpp 1397a27933 Fix template specializations 8 年之前
sparse.h 2ecd74c82a better templates 8 年之前
speye.cpp b6c6db1279 specialization --> instantiation 8 年之前
speye.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
squared_edge_lengths.cpp 606a4a0c88 clean up winding number code. templates 8 年之前
squared_edge_lengths.h 9698061a02 better templating 8 年之前
stdin_to_temp.cpp b473232452 preprend license header to every file 11 年之前
stdin_to_temp.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
straighten_seams.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 年之前
straighten_seams.h 3fe31ec0dc straighten seams 8 年之前
streamlines.cpp e52b3a9ca9 streamlines.cpp: updated to use new matchings code (which has an option for treating the field as symmetric/non-symmetric) 9 年之前
streamlines.h abd2f01b80 completing the merge 9 年之前
sum.cpp f17f286a0f templates 8 年之前
sum.h 074577bc17 use sparse matrix redux/for each 8 年之前
svd3x3.cpp cce7d90d92 mv SVD to main lib 10 年之前
svd3x3.h cce7d90d92 mv SVD to main lib 10 年之前
svd3x3_avx.cpp b068e63d4f removed double instantiation 10 年之前
svd3x3_avx.h cce7d90d92 mv SVD to main lib 10 年之前
svd3x3_sse.cpp cce7d90d92 mv SVD to main lib 10 年之前
svd3x3_sse.h cce7d90d92 mv SVD to main lib 10 年之前
swept_volume_bounding_box.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 年之前
swept_volume_bounding_box.h b00e745985 adding missing copyright/license headers 8 年之前
swept_volume_signed_distance.cpp 0667cbcb2a fix namespace/include order errors 8 年之前
swept_volume_signed_distance.h b00e745985 adding missing copyright/license headers 8 年之前
trackball.cpp b6c6db1279 specialization --> instantiation 8 年之前
trackball.h 8c809663c2 better tempaltes 10 年之前
transpose_blocks.cpp b6c6db1279 specialization --> instantiation 8 年之前
transpose_blocks.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
triangle_fan.cpp 53c2b9e8fa missing copyrights 10 年之前
triangle_fan.h 53c2b9e8fa missing copyrights 10 年之前
triangle_triangle_adjacency.cpp be085cfc64 template 8 年之前
triangle_triangle_adjacency.h 0eda832958 typos in comments 8 年之前
triangles_from_strip.cpp b6c6db1279 specialization --> instantiation 8 年之前
triangles_from_strip.h 9522dfd77e generate triangles from a points streaming triangle strip 10 年之前
two_axis_valuator_fixed_up.cpp b6c6db1279 specialization --> instantiation 8 年之前
two_axis_valuator_fixed_up.h 8c809663c2 better tempaltes 10 年之前
uniformly_sample_two_manifold.cpp 77b87e622a rm using namespace igl 10 年之前
uniformly_sample_two_manifold.h d06b90a231 comments 9 年之前
unique.cpp 606a4a0c88 clean up winding number code. templates 8 年之前
unique.h 606a4a0c88 clean up winding number code. templates 8 年之前
unique_edge_map.cpp 606a4a0c88 clean up winding number code. templates 8 年之前
unique_edge_map.h 0eda832958 typos in comments 8 年之前
unique_rows.cpp 2e79bd99de templates 8 年之前
unique_rows.h 606a4a0c88 clean up winding number code. templates 8 年之前
unique_simplices.cpp 606a4a0c88 clean up winding number code. templates 8 年之前
unique_simplices.h 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 年之前
unproject.cpp 1d68023669 templates 8 年之前
unproject.h 1d68023669 templates 8 年之前
unproject_in_mesh.cpp 417501ef15 templates and __1 9 年之前
unproject_in_mesh.h 81d3908f7b unproject onto mesh abstracted away from embree 9 年之前
unproject_onto_mesh.cpp b6c6db1279 specialization --> instantiation 8 年之前
unproject_onto_mesh.h 81d3908f7b unproject onto mesh abstracted away from embree 9 年之前
unproject_ray.cpp dec1ddc168 rm using namespace igl 9 年之前
unproject_ray.h a1e8235f15 expose unproject_in_mesh to main library with default brute force option 9 年之前
unzip_corners.cpp 606a4a0c88 clean up winding number code. templates 8 年之前
unzip_corners.h e287df11ba unzip corners (of an obj-style mesh with attributes) 9 年之前
upsample.cpp b6c6db1279 specialization --> instantiation 8 年之前
upsample.h 19bc318c12 loop, upsample, bug fix + tutorial 8 年之前
vector_area_matrix.cpp 63442031a7 Simplify vector_area_matrix.cpp 8 年之前
vector_area_matrix.h cb6570075a correct header guard 8 年之前
verbose.h b473232452 preprend license header to every file 11 年之前
vertex_triangle_adjacency.cpp 606a4a0c88 clean up winding number code. templates 8 年之前
vertex_triangle_adjacency.h 0eda832958 typos in comments 8 年之前
volume.cpp f17f286a0f templates 8 年之前
volume.h 9698061a02 better templating 8 年之前
voxel_grid.cpp 4f6e28067c better templating 8 年之前
voxel_grid.h 67cd80a83b PlainObjectBase -> MatrixBase on a lot of inputs 8 年之前
winding_number.cpp 2e79bd99de templates 8 年之前
winding_number.h 606a4a0c88 clean up winding number code. templates 8 年之前
writeBF.cpp b00e745985 adding missing copyright/license headers 8 年之前
writeBF.h b00e745985 adding missing copyright/license headers 8 年之前
writeDMAT.cpp b6c6db1279 specialization --> instantiation 8 年之前
writeDMAT.h 8a2fb2a3ec unify code for vectors 8 年之前
writeMESH.cpp 2e79bd99de templates 8 年之前
writeMESH.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
writeOBJ.cpp 2e79bd99de templates 8 年之前
writeOBJ.h f3c4930b69 templates 8 年之前
writeOFF.cpp 606a4a0c88 clean up winding number code. templates 8 年之前
writeOFF.h 33c27124bf OFF color-per-vertex 8 年之前
writePLY.cpp d702121096 remove inline, confusing gcc 8 年之前
writePLY.h 416a0cd915 ply support any vertex/normal/uv/face type 8 年之前
writeSTL.cpp 2e79bd99de templates 8 年之前
writeSTL.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
writeTGF.cpp 77b87e622a rm using namespace igl 10 年之前
writeTGF.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 年之前
writeWRL.cpp 2e79bd99de templates 8 年之前
writeWRL.h c4270a84b2 Write colors to WRL files. 8 年之前
write_triangle_mesh.cpp 2e79bd99de templates 8 年之前
write_triangle_mesh.h d1a2c4e2e8 templates 8 年之前

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 instantiation
// generated by autoexplicit.sh
template bool igl::readMESH, Eigen::Matrix, Eigen::Matrix >(FILE*, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
// generated by autoexplicit.sh
template bool igl::readMESH, Eigen::Matrix, Eigen::Matrix >(FILE*, 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 >&);
// 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