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

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