Zhongshi Jiang 77c4a50aa2 2 bugfix in get_smallest_pos_quad_zero 8 éve
..
anttweakbar e2d2e0dbea namespace in include guards 10 éve
copyleft 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 éve
embree b6c6db1279 specialization --> instantiation 8 éve
lim b6c6db1279 specialization --> instantiation 8 éve
matlab 11512fbe33 use Eigen::Map to copy, handle RowMajor 8 éve
mosek b6c6db1279 specialization --> instantiation 8 éve
opengl 0663d656eb attempt to clean up opengl mess 8 éve
opengl2 2ebb4e6aeb fix includes 8 éve
png 0663d656eb attempt to clean up opengl mess 8 éve
triangle aafed3f110 fix bug in appending "B" for boundary markers 8 éve
viewer 1b3c1f72d2 Merge branch 'master' of https://github.com/danielepanozzo/libigl 8 éve
xml b6c6db1279 specialization --> instantiation 8 éve
AABB.cpp b6c6db1279 specialization --> instantiation 8 éve
AABB.h 4c271ff5cf better documentation 8 éve
ARAPEnergyType.h f318d4eed6 arap dynamics, better parameters 10 éve
C_STR.h 3005b455e7 fix for windows 10 éve
Camera.h d55869971f comments 9 éve
ConjugateFFSolverData.h 9a7c121ba6 conjugate tutorial seems to be broken, made some changes but not fixed yet 9 éve
EPS.cpp b6c6db1279 specialization --> instantiation 8 éve
EPS.h 20e0e9a082 comments 9 éve
HalfEdgeIterator.cpp 5fe6483f41 Additional Explicit template Instantiation for build 8 éve
HalfEdgeIterator.h 34a9dcf51c Seperate HalfEdgeIt implementation to cpp and add documentation 8 éve
Hit.h a1e8235f15 expose unproject_in_mesh to main library with default brute force option 9 éve
IO 78edcb4470 triangle_wrapper -> triangulate 11 éve
IndexComparison.h 20e0e9a082 comments 9 éve
LinSpaced.h 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 éve
MeshBooleanType.h dab8fad5dd separate boolean code to cgal and cork, fix cmake for lib and tutorial 9 éve
NormalType.h 20e0e9a082 comments 9 éve
ONE.h 20e0e9a082 comments 9 éve
PI.h b473232452 preprend license header to every file 11 éve
REDRUM.h b473232452 preprend license header to every file 11 éve
STR.h 3005b455e7 fix for windows 10 éve
Singular_Value_Decomposition_Givens_QR_Factorization_Kernel.hpp cce7d90d92 mv SVD to main lib 10 éve
Singular_Value_Decomposition_Jacobi_Conjugation_Kernel.hpp cce7d90d92 mv SVD to main lib 10 éve
Singular_Value_Decomposition_Kernel_Declarations.hpp cce7d90d92 mv SVD to main lib 10 éve
Singular_Value_Decomposition_Main_Kernel_Body.hpp.REMOVED.git-id cce7d90d92 mv SVD to main lib 10 éve
Singular_Value_Decomposition_Preamble.hpp 57b3f492ff warnings 9 éve
SolverStatus.h b473232452 preprend license header to every file 11 éve
SortableRow.h c39ca7747a fixed many style issues, missing copyrights, inlines 11 éve
Timer.h f6dd78f80f Bugfix: NULL not declared 8 éve
Viewport.h 20e0e9a082 comments 9 éve
WindingNumberAABB.h e18ec0daed bug fix, wasn't reseting when growing on a new mesh 9 éve
WindingNumberMethod.h 20e0e9a082 comments 9 éve
WindingNumberTree.h 5b15bc74dd far --> is_far for desperate windows compiler 9 éve
ZERO.h 20e0e9a082 comments 9 éve
active_set.cpp b6c6db1279 specialization --> instantiation 8 éve
active_set.h 20e0e9a082 comments 9 éve
adjacency_list.cpp b6c6db1279 specialization --> instantiation 8 éve
adjacency_list.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
adjacency_matrix.cpp b6c6db1279 specialization --> instantiation 8 éve
adjacency_matrix.h 9df7d65b44 better templates 8 éve
all.cpp b6c6db1279 specialization --> instantiation 8 éve
all.h 5e5d11c49f reductions for sparse matrices 8 éve
all_edges.cpp b6c6db1279 specialization --> instantiation 8 éve
all_edges.h af6efe2123 is vertex manifold 10 éve
all_pairs_distances.cpp b6c6db1279 specialization --> instantiation 8 éve
all_pairs_distances.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
ambient_occlusion.cpp b6c6db1279 specialization --> instantiation 8 éve
ambient_occlusion.h ef75655a3b expose ambient occlusion without embree 9 éve
angle_bound_frame_fields.cpp b6c6db1279 specialization --> instantiation 8 éve
angle_bound_frame_fields.h 24b4807c23 missing _H in two header files 9 éve
angular_distance.cpp 1b254f02a1 rm using namespace igl 10 éve
angular_distance.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
any.cpp b6c6db1279 specialization --> instantiation 8 éve
any.h 5e5d11c49f reductions for sparse matrices 8 éve
any_of.cpp b6c6db1279 specialization --> instantiation 8 éve
any_of.h f0b9c018f1 slice tets and tempaltes 10 éve
arap.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared 8 éve
arap.h f318d4eed6 arap dynamics, better parameters 10 éve
arap_dof.cpp b6c6db1279 specialization --> instantiation 8 éve
arap_dof.h cce7d90d92 mv SVD to main lib 10 éve
arap_linear_block.cpp b6c6db1279 specialization --> instantiation 8 éve
arap_linear_block.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
arap_rhs.cpp 1b254f02a1 rm using namespace igl 10 éve
arap_rhs.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
average_onto_faces.cpp b6c6db1279 specialization --> instantiation 8 éve
average_onto_faces.h 62a1fc9819 moveVF --> average_onto_faces 11 éve
average_onto_vertices.cpp b6c6db1279 specialization --> instantiation 8 éve
average_onto_vertices.h 0ea2eca5d4 Add RowMajor storage order support 9 éve
avg_edge_length.cpp b6c6db1279 specialization --> instantiation 8 éve
avg_edge_length.h 344cb9eea3 -Changes to header files to support parsing 9 éve
axis_angle_to_quat.cpp b6c6db1279 specialization --> instantiation 8 éve
axis_angle_to_quat.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
barycenter.cpp b6c6db1279 specialization --> instantiation 8 éve
barycenter.h 0f5aabeca2 tutorial compiling 9 éve
barycentric_coordinates.cpp 4cdfb572bb rm unnecessary include 8 éve
barycentric_coordinates.h eee3a7413f extract point-simplex distance and triangle barycentric coordinates from AABB, use MatrixBase for const input params 9 éve
barycentric_to_global.cpp 5db529c861 mostly template instantiations 10 éve
barycentric_to_global.h 3cfd194147 barycentric2global --> barycentric_to_global 11 éve
basename.cpp b473232452 preprend license header to every file 11 éve
basename.h 18bd747cb4 example in header 10 éve
bbw.cpp b6c6db1279 specialization --> instantiation 8 éve
bbw.h c76993c791 move bbw with active set to main lib, rm bbw extra, create mosek::bbw 8 éve
bfs.cpp ce0c1eb7c7 dfs and bfs 8 éve
bfs.h ce0c1eb7c7 dfs and bfs 8 éve
bfs_orient.cpp b6c6db1279 specialization --> instantiation 8 éve
bfs_orient.h 98540fdb74 rm boost dependency extra, absorb functions into main library 10 éve
biharmonic_coordinates.cpp b6c6db1279 specialization --> instantiation 8 éve
biharmonic_coordinates.h 4100b31d41 support for higher-order biharmonic coords 10 éve
bijective_composite_harmonic_mapping.cpp e5d51c1db0 wrapper with iteration parameters 8 éve
bijective_composite_harmonic_mapping.h e5d51c1db0 wrapper with iteration parameters 8 éve
bone_parents.cpp 53c2b9e8fa missing copyrights 10 éve
bone_parents.h 5e41228487 skeleton building and posing examples 10 éve
boundary_conditions.cpp b27fa2707b better assertion 9 éve
boundary_conditions.h b82ea91d7d better doc 8 éve
boundary_facets.cpp b6c6db1279 specialization --> instantiation 8 éve
boundary_facets.h 24b4807c23 missing _H in two header files 9 éve
boundary_loop.cpp b6c6db1279 specialization --> instantiation 8 éve
boundary_loop.h 90b8ac464c Replaced boundary_loop by outline_ordered implementation 10 éve
bounding_box.cpp 6bdb22dd5f pad parameter 8 éve
bounding_box.h 6bdb22dd5f pad parameter 8 éve
bounding_box_diagonal.cpp b6c6db1279 specialization --> instantiation 8 éve
bounding_box_diagonal.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
canonical_quaternions.cpp b6c6db1279 specialization --> instantiation 8 éve
canonical_quaternions.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
cat.cpp b6c6db1279 specialization --> instantiation 8 éve
cat.h 6e780b96eb correct doc 8 éve
ceil.cpp b6c6db1279 specialization --> instantiation 8 éve
ceil.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
centroid.cpp 5e41228487 skeleton building and posing examples 10 éve
centroid.h 5e41228487 skeleton building and posing examples 10 éve
circulation.cpp 6fad412558 decimate with finite cost 9 éve
circulation.h ef5029045e comment about order 8 éve
circumradius.cpp 8943387b53 use nan replacement doublearea 8 éve
circumradius.h c330b9a5ec compute per triangle circum- and in- radii 8 éve
collapse_edge.cpp 42d48d7457 ack, pre_/-post_ collapse needs full state 8 éve
collapse_edge.h 42d48d7457 ack, pre_/-post_ collapse needs full state 8 éve
collapse_small_triangles.cpp f3cd179f00 use new doublearea 8 éve
collapse_small_triangles.h 6737f53ebc collapse small triangles 10 éve
colon.cpp 05f2905655 Update templates 8 éve
colon.h f976e38f91 faster tri tri adj, unique simplices 10 éve
column_to_quats.cpp 3ee6fa10ec mouse controller and quaternion io 11 éve
column_to_quats.h e9d637ef52 - compilation fixes for the tutorials in chapter 4 11 éve
columnize.cpp b6c6db1279 specialization --> instantiation 8 éve
columnize.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
comb_cross_field.cpp b6c6db1279 specialization --> instantiation 8 éve
comb_cross_field.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
comb_frame_field.cpp b6c6db1279 specialization --> instantiation 8 éve
comb_frame_field.h 344cb9eea3 -Changes to header files to support parsing 9 éve
comb_line_field.cpp b6c6db1279 specialization --> instantiation 8 éve
comb_line_field.h c7f6cff1db fixes from Nico Pietroni on the MIQ pipeline and examples 10 éve
combine.cpp 5a32da8c9d combine two meshes 8 éve
combine.h 5a32da8c9d combine two meshes 8 éve
components.cpp b6c6db1279 specialization --> instantiation 8 éve
components.h 992eeb587a better templating 8 éve
compute_frame_field_bisectors.cpp b6c6db1279 specialization --> instantiation 8 éve
compute_frame_field_bisectors.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
conjugate_frame_fields.cpp b6c6db1279 specialization --> instantiation 8 éve
conjugate_frame_fields.h 9a7c121ba6 conjugate tutorial seems to be broken, made some changes but not fixed yet 9 éve
connect_boundary_to_infinity.cpp 1caf839744 missing templates 8 éve
connect_boundary_to_infinity.h 0411fb9508 boundary edges now work with default decimate 8 éve
cotmatrix.cpp b6c6db1279 specialization --> instantiation 8 éve
cotmatrix.h 9698061a02 better templating 8 éve
cotmatrix_entries.cpp b6c6db1279 specialization --> instantiation 8 éve
cotmatrix_entries.h 9698061a02 better templating 8 éve
count.cpp b6c6db1279 specialization --> instantiation 8 éve
count.h 074577bc17 use sparse matrix redux/for each 8 éve
covariance_scatter_matrix.cpp 1b254f02a1 rm using namespace igl 10 éve
covariance_scatter_matrix.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
cross.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
cross.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
cross_field_missmatch.cpp b6c6db1279 specialization --> instantiation 8 éve
cross_field_missmatch.h fb819ab4f7 fixed python compilation error 9 éve
crouzeix_raviart_massmatrix.cpp b6c6db1279 specialization --> instantiation 8 éve
crouzeix_raviart_massmatrix.h 5ad035de72 boundaryedges and CR mass matrix 10 éve
cumsum.cpp b6c6db1279 specialization --> instantiation 8 éve
cumsum.h c3fcd86080 typo in doc 8 éve
cut_mesh.cpp b6c6db1279 specialization --> instantiation 8 éve
cut_mesh.h d32071235f note 9 éve
cut_mesh_from_singularities.cpp b6c6db1279 specialization --> instantiation 8 éve
cut_mesh_from_singularities.h 2254bf5990 style 9 éve
cylinder.cpp df801345c1 copyright/license headers 8 éve
cylinder.h df801345c1 copyright/license headers 8 éve
dated_copy.cpp 6f8f988fa5 fixed various windows issues with static library 10 éve
dated_copy.h 6f8f988fa5 fixed various windows issues with static library 10 éve
decimate.cpp 42d48d7457 ack, pre_/-post_ collapse needs full state 8 éve
decimate.h 42d48d7457 ack, pre_/-post_ collapse needs full state 8 éve
deform_skeleton.cpp 53c2b9e8fa missing copyrights 10 éve
deform_skeleton.h b84e4e375d extra eigen stdvector includes 8 éve
delaunay_triangulation.cpp 87fbb8ec7d Refactor exact predicates class into functions. 8 éve
delaunay_triangulation.h d8848b2a9a Update doc. 8 éve
deprecated.h 53c2b9e8fa missing copyrights 10 éve
dfs.cpp b6c6db1279 specialization --> instantiation 8 éve
dfs.h 2656c6d361 missing eigen include 8 éve
diag.cpp b6c6db1279 specialization --> instantiation 8 éve
diag.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
dihedral_angles.cpp b6c6db1279 specialization --> instantiation 8 éve
dihedral_angles.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
dijkstra.cpp b6c6db1279 specialization --> instantiation 8 éve
dijkstra.h 5f795771d7 implementation of integrable polyvector fields (+some templates) 10 éve
directed_edge_orientations.cpp b6c6db1279 specialization --> instantiation 8 éve
directed_edge_orientations.h b84e4e375d extra eigen stdvector includes 8 éve
directed_edge_parents.cpp b6c6db1279 specialization --> instantiation 8 éve
directed_edge_parents.h 76a662d23f missing directed edge parents file 11 éve
dirname.cpp b473232452 preprend license header to every file 11 éve
dirname.h 18bd747cb4 example in header 10 éve
dot.cpp b473232452 preprend license header to every file 11 éve
dot.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
dot_row.cpp b6c6db1279 specialization --> instantiation 8 éve
dot_row.h 97bf3c6fb5 PlainObjectBase objects should not be declared 8 éve
doublearea.cpp 6a4223b5be use quietNaN explicitly 8 éve
doublearea.h 8943387b53 use nan replacement doublearea 8 éve
dqs.cpp b6c6db1279 specialization --> instantiation 8 éve
dqs.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
ears.cpp b6c6db1279 specialization --> instantiation 8 éve
ears.h ec0cb390f5 identify 'ears' on mesh 8 éve
edge_collapse_is_valid.cpp 1b254f02a1 rm using namespace igl 10 éve
edge_collapse_is_valid.h 7ce75d2528 edge collapsing and linear programs 10 éve
edge_flaps.cpp 148c4a067f handle boundary edges 8 éve
edge_flaps.h 3e94e154ea comments about duplicity 8 éve
edge_lengths.cpp b6c6db1279 specialization --> instantiation 8 éve
edge_lengths.h 9698061a02 better templating 8 éve
edge_topology.cpp b6c6db1279 specialization --> instantiation 8 éve
edge_topology.h 87ca4a7e25 edge_topology should be made obsolete (edge_flaps is superior in a few ways) 8 éve
edges.cpp b6c6db1279 specialization --> instantiation 8 éve
edges.h 992eeb587a better templating 8 éve
edges_to_path.cpp b6c6db1279 specialization --> instantiation 8 éve
edges_to_path.h 236b440c34 convert list of edges forming chain/loop into path 8 éve
eigs.cpp b6c6db1279 specialization --> instantiation 8 éve
eigs.h b00e745985 adding missing copyright/license headers 8 éve
euler_characteristic.cpp b6c6db1279 specialization --> instantiation 8 éve
euler_characteristic.h 992eeb587a better templating 8 éve
example_fun.cpp b6c6db1279 specialization --> instantiation 8 éve
example_fun.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
exterior_edges.cpp 2282d71554 cleanup warnings 9 éve
exterior_edges.h 53c2b9e8fa missing copyrights 10 éve
extract_manifold_patches.cpp b00e745985 adding missing copyright/license headers 8 éve
extract_manifold_patches.h b00e745985 adding missing copyright/license headers 8 éve
extract_non_manifold_edge_curves.cpp b00e745985 adding missing copyright/license headers 8 éve
extract_non_manifold_edge_curves.h b00e745985 adding missing copyright/license headers 8 éve
face_areas.cpp c31471f571 unused nan replacement 8 éve
face_areas.h 8943387b53 use nan replacement doublearea 8 éve
face_occurrences.cpp b6c6db1279 specialization --> instantiation 8 éve
face_occurrences.h 2c75b2cf21 typo in face_occurrences name 10 éve
faces_first.cpp b6c6db1279 specialization --> instantiation 8 éve
faces_first.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
facet_components.cpp b6c6db1279 specialization --> instantiation 8 éve
facet_components.h da91e1ba44 Minor update documentation of facet_components(). 9 éve
false_barycentric_subdivision.cpp b6c6db1279 specialization --> instantiation 8 éve
false_barycentric_subdivision.h 3b3eddd9a0 fixed template madness in tri_tri 10 éve
field_local_global_conversions.cpp b6c6db1279 specialization --> instantiation 8 éve
field_local_global_conversions.h 5f795771d7 implementation of integrable polyvector fields (+some templates) 10 éve
file_contents_as_string.cpp 909c4a05ff return overload 9 éve
file_contents_as_string.h 909c4a05ff return overload 9 éve
file_dialog_open.cpp 69f1c5f112 fixed a bug concerning load mesh from dialog 10 éve
file_dialog_open.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
file_dialog_save.cpp 6f8f988fa5 fixed various windows issues with static library 10 éve
file_dialog_save.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
file_exists.cpp a60d9c69a1 get modifiers, fit rigid 2d, templates 10 éve
file_exists.h a60d9c69a1 get modifiers, fit rigid 2d, templates 10 éve
find.cpp b6c6db1279 specialization --> instantiation 8 éve
find.h c41afa77ec better templates 8 éve
find_cross_field_singularities.cpp b6c6db1279 specialization --> instantiation 8 éve
find_cross_field_singularities.h 580c57ed4f Merge branch 'master' of https://github.com/libigl/libigl 10 éve
find_zero.cpp b6c6db1279 specialization --> instantiation 8 éve
find_zero.h 5e5d11c49f reductions for sparse matrices 8 éve
fit_plane.cpp 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
fit_plane.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
fit_rotations.cpp b6c6db1279 specialization --> instantiation 8 éve
fit_rotations.h 36a1006438 note that fit_rotations may be obsolete 10 éve
flip_avoiding_line_search.cpp 77c4a50aa2 2 bugfix in get_smallest_pos_quad_zero 8 éve
flip_avoiding_line_search.h ac38aede79 * removed defines and namespaces from flip_avoiding_line_search 8 éve
flip_edge.cpp 0660c9c01c Avoid coeff and coeffRef. 8 éve
flip_edge.h 34b56ae109 Minor update to get window compilation pass. 8 éve
flipped_triangles.cpp b6c6db1279 specialization --> instantiation 8 éve
flipped_triangles.h 4ebf2b20ef fixed up style and compilation errors in flipped_triangles 8 éve
flood_fill.cpp b00e745985 adding missing copyright/license headers 8 éve
flood_fill.h b00e745985 adding missing copyright/license headers 8 éve
floor.cpp b6c6db1279 specialization --> instantiation 8 éve
floor.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
for_each.h 0faf24a294 add svd version 8 éve
forward_kinematics.cpp b6c6db1279 specialization --> instantiation 8 éve
forward_kinematics.h b7157c2898 translation widget 9 éve
frame_field_deformer.cpp b6c6db1279 specialization --> instantiation 8 éve
frame_field_deformer.h b1ea555f41 bad path 10 éve
frame_to_cross_field.cpp b6c6db1279 specialization --> instantiation 8 éve
frame_to_cross_field.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
frustum.cpp b6c6db1279 specialization --> instantiation 8 éve
frustum.h a1c8fcb85c templates, viewer opengl code extraction 10 éve
gaussian_curvature.cpp b6c6db1279 specialization --> instantiation 8 éve
gaussian_curvature.h bd57fc27aa no division by area 9 éve
get_seconds.cpp 3224534a03 C++11 get seconds 9 éve
get_seconds.h f976e38f91 faster tri tri adj, unique simplices 10 éve
get_seconds_hires.cpp b473232452 preprend license header to every file 11 éve
get_seconds_hires.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
grad.cpp b6c6db1279 specialization --> instantiation 8 éve
grad.h 48787fd172 consolidated igl::grad 8 éve
grid.cpp b00e745985 adding missing copyright/license headers 8 éve
grid.h b00e745985 adding missing copyright/license headers 8 éve
group_sum_matrix.cpp b6c6db1279 specialization --> instantiation 8 éve
group_sum_matrix.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
guess_extension.cpp be1bbf6fde templates and output parameter overload 8 éve
guess_extension.h be1bbf6fde templates and output parameter overload 8 éve
harmonic.cpp 05f2905655 Update templates 8 éve
harmonic.h 9698061a02 better templating 8 éve
harwell_boeing.cpp b6c6db1279 specialization --> instantiation 8 éve
harwell_boeing.h bdeb592dc8 rm unneeded define 10 éve
hausdorff.cpp 795638c80d revert hausdorff 8 éve
hausdorff.h 795638c80d revert hausdorff 8 éve
histc.cpp b6c6db1279 specialization --> instantiation 8 éve
histc.h f6076190a2 use matrixbase for inputs 8 éve
hsv_to_rgb.cpp 85a56e391b resize(X.rows(),X.cols()) --> resizeLike(X) 8 éve
hsv_to_rgb.h 20a3ad28f1 eigen types 10 éve
igl_inline.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
in_element.cpp 92b29eb15f templates 9 éve
in_element.h 5e0d6b3aff Fixed various minor bugs, added explicit template specifications 9 éve
infinite_cost_stopping_condition.cpp ad917ffc5e Fixed namespace problem 9 éve
infinite_cost_stopping_condition.h 6fad412558 decimate with finite cost 9 éve
inradius.cpp 8943387b53 use nan replacement doublearea 8 éve
inradius.h c330b9a5ec compute per triangle circum- and in- radii 8 éve
integrable_polyvector_fields.cpp b6c6db1279 specialization --> instantiation 8 éve
integrable_polyvector_fields.h e4886b577c replaced constructors of the form Eigen::PlainObjectBase<Derived*> with Derived* 9 éve
internal_angles.cpp b6c6db1279 specialization --> instantiation 8 éve
internal_angles.h 749dd2c873 squared_edge_lengths (clean) 8 éve
intersect.cpp b6c6db1279 specialization --> instantiation 8 éve
intersect.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
invert_diag.cpp b6c6db1279 specialization --> instantiation 8 éve
invert_diag.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
is_border_vertex.cpp b6c6db1279 specialization --> instantiation 8 éve
is_border_vertex.h ba963582da improved doc 10 éve
is_boundary_edge.cpp b6c6db1279 specialization --> instantiation 8 éve
is_boundary_edge.h 5ad035de72 boundaryedges and CR mass matrix 10 éve
is_dir.cpp b473232452 preprend license header to every file 11 éve
is_dir.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
is_edge_manifold.cpp b6c6db1279 specialization --> instantiation 8 éve
is_edge_manifold.h 68ceab903d extra template in header 8 éve
is_file.cpp b473232452 preprend license header to every file 11 éve
is_file.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
is_irregular_vertex.cpp b6c6db1279 specialization --> instantiation 8 éve
is_irregular_vertex.h 442c8d908c added mesh statistics functions and updated tutorial 10 éve
is_planar.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 éve
is_planar.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
is_readable.cpp b473232452 preprend license header to every file 11 éve
is_readable.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
is_sparse.cpp b6c6db1279 specialization --> instantiation 8 éve
is_sparse.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
is_stl.cpp b6e3b252af read directly from file pointer 8 éve
is_stl.h b6e3b252af read directly from file pointer 8 éve
is_symmetric.cpp b6c6db1279 specialization --> instantiation 8 éve
is_symmetric.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
is_vertex_manifold.cpp 9a67d8dc36 templates 8 éve
is_vertex_manifold.h 9f0396b085 Update the documentation of is_vertex_manifold. 9 éve
is_writable.cpp b473232452 preprend license header to every file 11 éve
is_writable.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
isdiag.cpp b6c6db1279 specialization --> instantiation 8 éve
isdiag.h 8dc2514633 isdiagonal test, harmonic abstracted away from laplacian 9 éve
ismember.cpp b6c6db1279 specialization --> instantiation 8 éve
ismember.h e1c2409f07 support for rows 8 éve
jet.cpp b6c6db1279 specialization --> instantiation 8 éve
jet.h 36c5ec93f3 cast so that inputs can be float 8 éve
launch_medit.cpp b6c6db1279 specialization --> instantiation 8 éve
launch_medit.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
lbs_matrix.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 éve
lbs_matrix.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
lexicographic_triangulation.cpp e4583a8683 Minor update to avoid compiler warning. 8 éve
lexicographic_triangulation.h 87fbb8ec7d Refactor exact predicates class into functions. 8 éve
limit_faces.cpp b6c6db1279 specialization --> instantiation 8 éve
limit_faces.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
line_field_missmatch.cpp b6c6db1279 specialization --> instantiation 8 éve
line_field_missmatch.h c7f6cff1db fixes from Nico Pietroni on the MIQ pipeline and examples 10 éve
line_search.cpp a26275254d * added missing IGL_INLINE 8 éve
line_search.h ac38aede79 * removed defines and namespaces from flip_avoiding_line_search 8 éve
line_segment_in_rectangle.cpp 1b254f02a1 rm using namespace igl 10 éve
line_segment_in_rectangle.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
linprog.cpp 5a63323d51 unnecessary includes 8 éve
linprog.h 7ce75d2528 edge collapsing and linear programs 10 éve
list_to_matrix.cpp b6c6db1279 specialization --> instantiation 8 éve
list_to_matrix.h 6f3f5bdabe Merge branch 'master' of https://github.com/schuellc/libigl 9 éve
local_basis.cpp b6c6db1279 specialization --> instantiation 8 éve
local_basis.h 344cb9eea3 -Changes to header files to support parsing 9 éve
look_at.cpp b6c6db1279 specialization --> instantiation 8 éve
look_at.h a1c8fcb85c templates, viewer opengl code extraction 10 éve
loop.cpp e650edcc01 templates 8 éve
loop.h 19bc318c12 loop, upsample, bug fix + tutorial 8 éve
lscm.cpp b6c6db1279 specialization --> instantiation 8 éve
lscm.h 3a82db0c88 clarify ref 9 éve
map_vertices_to_circle.cpp 1d76192dc3 removed unused include 10 éve
map_vertices_to_circle.h 344cb9eea3 -Changes to header files to support parsing 9 éve
massmatrix.cpp b6c6db1279 specialization --> instantiation 8 éve
massmatrix.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
mat_max.cpp b6c6db1279 specialization --> instantiation 8 éve
mat_max.h 2c0956abc6 better templating 8 éve
mat_min.cpp b6c6db1279 specialization --> instantiation 8 éve
mat_min.h 2c0956abc6 better templating 8 éve
mat_to_quat.cpp b6c6db1279 specialization --> instantiation 8 éve
mat_to_quat.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
material_colors.h ae29184e91 draw skeleton with colors 11 éve
matlab_format.cpp b6c6db1279 specialization --> instantiation 8 éve
matlab_format.h b70dfc9599 rather, use densebase for inputs 8 éve
matrix_to_list.cpp b6c6db1279 specialization --> instantiation 8 éve
matrix_to_list.h 46aa12d3e1 setxor, correct indices assuming colmajor 8 éve
max.cpp b6c6db1279 specialization --> instantiation 8 éve
max.h 5e5d11c49f reductions for sparse matrices 8 éve
max_faces_stopping_condition.cpp df801345c1 copyright/license headers 8 éve
max_faces_stopping_condition.h 4deb79d564 pull out shortest_edge_... and max_faces... functions 8 éve
max_size.cpp b6c6db1279 specialization --> instantiation 8 éve
max_size.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
median.cpp 1b254f02a1 rm using namespace igl 10 éve
median.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
min.cpp 5e5d11c49f reductions for sparse matrices 8 éve
min.h 5e5d11c49f reductions for sparse matrices 8 éve
min_quad_dense.cpp b6c6db1279 specialization --> instantiation 8 éve
min_quad_dense.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
min_quad_with_fixed.cpp 05f2905655 Update templates 8 éve
min_quad_with_fixed.h 9698061a02 better templating 8 éve
min_size.cpp b6c6db1279 specialization --> instantiation 8 éve
min_size.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
mod.cpp 85a56e391b resize(X.rows(),X.cols()) --> resizeLike(X) 8 éve
mod.h c9be59b49f fix some bad uses of Eigen::PlainObjectBase 9 éve
mode.cpp b6c6db1279 specialization --> instantiation 8 éve
mode.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
mvc.cpp ed153a8b84 abs warning 10 éve
mvc.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
n_polyvector.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 éve
n_polyvector.h 81238fbfd2 - cleaned up polyvector field example 11 éve
n_polyvector_general.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 éve
n_polyvector_general.h fc424b9b5c general polyvector field 11 éve
nchoosek.cpp b6c6db1279 specialization --> instantiation 8 éve
nchoosek.h 4f99fc5ddd variadic boolean ops 9 éve
next_filename.cpp 3afe7f3444 templates 10 éve
next_filename.h 8e6f510b7b next filename, draw quad meshes, template specializations, 10 éve
normal_derivative.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 éve
normal_derivative.h 8fd80c7bc0 biharmonic coordinates, impl of 'linear subspace design...', templates, overloads 10 éve
normalize_quat.cpp b6c6db1279 specialization --> instantiation 8 éve
normalize_quat.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
normalize_row_lengths.cpp b6c6db1279 specialization --> instantiation 8 éve
normalize_row_lengths.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
normalize_row_sums.cpp b6c6db1279 specialization --> instantiation 8 éve
normalize_row_sums.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
null.cpp 9354cc1124 null space 10 éve
null.h 9354cc1124 null space 10 éve
on_boundary.cpp b6c6db1279 specialization --> instantiation 8 éve
on_boundary.h f5b39a8657 better templating 8 éve
orient_outward.cpp b6c6db1279 specialization --> instantiation 8 éve
orient_outward.h 63e134577a manifold_patches --> orientable_patches 11 éve
orientable_patches.cpp b6c6db1279 specialization --> instantiation 8 éve
orientable_patches.h 2dfdea1a3b templates 9 éve
orth.cpp b473232452 preprend license header to every file 11 éve
orth.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
ortho.cpp b6c6db1279 specialization --> instantiation 8 éve
ortho.h a1c8fcb85c templates, viewer opengl code extraction 10 éve
outer_element.cpp b6c6db1279 specialization --> instantiation 8 éve
outer_element.h 05cf35b4d6 Minor update to documentation and rename exterior* to outer*. 9 éve
parallel_for.h d449dd19c3 force serial macro 9 éve
parallel_transport_angles.cpp b6c6db1279 specialization --> instantiation 8 éve
parallel_transport_angles.h 5f795771d7 implementation of integrable polyvector fields (+some templates) 10 éve
partition.cpp c39ca7747a fixed many style issues, missing copyrights, inlines 11 éve
partition.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
parula.cpp b6c6db1279 specialization --> instantiation 8 éve
parula.h 5e0d6b3aff Fixed various minor bugs, added explicit template specifications 9 éve
path_to_executable.cpp 6f8f988fa5 fixed various windows issues with static library 10 éve
path_to_executable.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
pathinfo.cpp b6c6db1279 specialization --> instantiation 8 éve
pathinfo.h 8e2e36c12a examples 10 éve
per_corner_normals.cpp b6c6db1279 specialization --> instantiation 8 éve
per_corner_normals.h f4ab9d2cd1 compiles after rm PlainObjectBase uses 9 éve
per_edge_normals.cpp b6c6db1279 specialization --> instantiation 8 éve
per_edge_normals.h 5e0d6b3aff Fixed various minor bugs, added explicit template specifications 9 éve
per_face_normals.cpp b6c6db1279 specialization --> instantiation 8 éve
per_face_normals.h 02ab01c0ac stable face normals 10 éve
per_vertex_attribute_smoothing.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared 8 éve
per_vertex_attribute_smoothing.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
per_vertex_normals.cpp b6c6db1279 specialization --> instantiation 8 éve
per_vertex_normals.h af6efe2123 is vertex manifold 10 éve
per_vertex_point_to_plane_quadrics.cpp df801345c1 copyright/license headers 8 éve
per_vertex_point_to_plane_quadrics.h df801345c1 copyright/license headers 8 éve
piecewise_constant_winding_number.cpp 737ec00d49 __1 in templates 9 éve
piecewise_constant_winding_number.h e6536d3355 boolean input validation as stand-alone functions 9 éve
planarize_quad_mesh.cpp b6c6db1279 specialization --> instantiation 8 éve
planarize_quad_mesh.h 53c2b9e8fa missing copyrights 10 éve
ply.h.REMOVED.git-id b6e3b252af read directly from file pointer 8 éve
point_in_circle.cpp b473232452 preprend license header to every file 11 éve
point_in_circle.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
point_in_poly.cpp b473232452 preprend license header to every file 11 éve
point_in_poly.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
point_mesh_squared_distance.cpp abb5062d19 templates 8 éve
point_mesh_squared_distance.h 5e0d6b3aff Fixed various minor bugs, added explicit template specifications 9 éve
point_simplex_squared_distance.cpp b6c6db1279 specialization --> instantiation 8 éve
point_simplex_squared_distance.h 36f3f666e9 fix template to match explicits 8 éve
polar_dec.cpp b6c6db1279 specialization --> instantiation 8 éve
polar_dec.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
polar_svd.cpp b6c6db1279 specialization --> instantiation 8 éve
polar_svd.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
polar_svd3x3.cpp b6c6db1279 specialization --> instantiation 8 éve
polar_svd3x3.h cce7d90d92 mv SVD to main lib 10 éve
polygon_mesh_to_triangle_mesh.cpp b6c6db1279 specialization --> instantiation 8 éve
polygon_mesh_to_triangle_mesh.h 8e6f510b7b next filename, draw quad meshes, template specializations, 10 éve
polyroots.cpp b6c6db1279 specialization --> instantiation 8 éve
polyroots.h 34d4f8e5aa conjugate example, fixed some #HEADER_ONLY errors 11 éve
polyvector_field_comb_from_matchings_and_cuts.cpp b6c6db1279 specialization --> instantiation 8 éve
polyvector_field_comb_from_matchings_and_cuts.h 5f795771d7 implementation of integrable polyvector fields (+some templates) 10 éve
polyvector_field_cut_mesh_with_singularities.cpp b6c6db1279 specialization --> instantiation 8 éve
polyvector_field_cut_mesh_with_singularities.h 5f795771d7 implementation of integrable polyvector fields (+some templates) 10 éve
polyvector_field_matchings.cpp b6c6db1279 specialization --> instantiation 8 éve
polyvector_field_matchings.h f72ff756ac olga's recent changes 9 éve
polyvector_field_poisson_reconstruction.cpp b6c6db1279 specialization --> instantiation 8 éve
polyvector_field_poisson_reconstruction.h f72ff756ac olga's recent changes 9 éve
polyvector_field_singularities_from_matchings.cpp b6c6db1279 specialization --> instantiation 8 éve
polyvector_field_singularities_from_matchings.h cd067ff5c8 changed order of neighborhood traversal for singularity calculation 9 éve
principal_curvature.cpp b6c6db1279 specialization --> instantiation 8 éve
principal_curvature.h 344cb9eea3 -Changes to header files to support parsing 9 éve
print_ijv.cpp b6c6db1279 specialization --> instantiation 8 éve
print_ijv.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
print_vector.cpp b6c6db1279 specialization --> instantiation 8 éve
print_vector.h 4372f57c55 plot_vector --> print_vector 11 éve
procrustes.cpp 72eb3ef51a missing namespaces/includes 8 éve
procrustes.h 6e2c0ff218 bug in procrustes templating 10 éve
project.cpp b6c6db1279 specialization --> instantiation 8 éve
project.h 10999766a2 project() is now templated more generally 8 éve
project_isometrically_to_plane.cpp 97bf3c6fb5 PlainObjectBase objects should not be declared 8 éve
project_isometrically_to_plane.h e7f4b0154a plane_project --> project_isometrically_to_plane 11 éve
project_to_line.cpp b6c6db1279 specialization --> instantiation 8 éve
project_to_line.h 408c23ebc7 another typo in doc 8 éve
project_to_line_segment.cpp b6c6db1279 specialization --> instantiation 8 éve
project_to_line_segment.h 70693a85ba small speed up and code reogranization for point/mesh squared distance 9 éve
pseudonormal_test.cpp eee3a7413f extract point-simplex distance and triangle barycentric coordinates from AABB, use MatrixBase for const input params 9 éve
pseudonormal_test.h 7af1fa6964 pseudonormal test and signed distance in 2D 9 éve
qslim.cpp df801345c1 copyright/license headers 8 éve
qslim.h df801345c1 copyright/license headers 8 éve
qslim_optimal_collapse_edge_callbacks.cpp e2f6f2c24c std isinf 8 éve
qslim_optimal_collapse_edge_callbacks.h df801345c1 copyright/license headers 8 éve
quad_planarity.cpp b6c6db1279 specialization --> instantiation 8 éve
quad_planarity.h 53c2b9e8fa missing copyrights 10 éve
quadric_binary_plus_operator.cpp df801345c1 copyright/license headers 8 éve
quadric_binary_plus_operator.h df801345c1 copyright/license headers 8 éve
quat_conjugate.cpp b6c6db1279 specialization --> instantiation 8 éve
quat_conjugate.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
quat_mult.cpp b6c6db1279 specialization --> instantiation 8 éve
quat_mult.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
quat_to_axis_angle.cpp b6c6db1279 specialization --> instantiation 8 éve
quat_to_axis_angle.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
quat_to_mat.cpp b6c6db1279 specialization --> instantiation 8 éve
quat_to_mat.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
quats_to_column.cpp 3ee6fa10ec mouse controller and quaternion io 11 éve
quats_to_column.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
ramer_douglas_peucker.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 éve
ramer_douglas_peucker.h 16cd4fcd13 wrapper to output reparameterization along simplified curve 8 éve
random_dir.cpp 62521f0d2c fix for clang, enabled embree build by default for python bindings 9 éve
random_dir.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
random_points_on_mesh.cpp b6c6db1279 specialization --> instantiation 8 éve
random_points_on_mesh.h 52eabdec3e documentation 8 éve
random_quaternion.cpp b6c6db1279 specialization --> instantiation 8 éve
random_quaternion.h 53c2b9e8fa missing copyrights 10 éve
randperm.cpp b6c6db1279 specialization --> instantiation 8 éve
randperm.h 97bf3c6fb5 PlainObjectBase objects should not be declared 8 éve
ray_box_intersect.cpp b00e745985 adding missing copyright/license headers 8 éve
ray_box_intersect.h 0cc5a8ed69 minor changes with no effect to AABB ray 9 éve
ray_mesh_intersect.cpp b6c6db1279 specialization --> instantiation 8 éve
ray_mesh_intersect.h b00e745985 adding missing copyright/license headers 8 éve
ray_sphere_intersect.cpp b6c6db1279 specialization --> instantiation 8 éve
ray_sphere_intersect.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
raytri.c 73745b8713 note about public domain-ness 8 éve
readBF.cpp b00e745985 adding missing copyright/license headers 8 éve
readBF.h b00e745985 adding missing copyright/license headers 8 éve
readCSV.cpp b6c6db1279 specialization --> instantiation 8 éve
readCSV.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
readDMAT.cpp b6c6db1279 specialization --> instantiation 8 éve
readDMAT.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
readMESH.cpp b6c6db1279 specialization --> instantiation 8 éve
readMESH.h b6e3b252af read directly from file pointer 8 éve
readNODE.cpp b6c6db1279 specialization --> instantiation 8 éve
readNODE.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
readOBJ.cpp 66ccf0c218 templates 8 éve
readOBJ.h 680d9ff712 better templating 8 éve
readOFF.cpp b6c6db1279 specialization --> instantiation 8 éve
readOFF.h b6e3b252af read directly from file pointer 8 éve
readPLY.cpp b6c6db1279 specialization --> instantiation 8 éve
readPLY.h b6e3b252af read directly from file pointer 8 éve
readSTL.cpp b6c6db1279 specialization --> instantiation 8 éve
readSTL.h b6e3b252af read directly from file pointer 8 éve
readTGF.cpp 77b87e622a rm using namespace igl 10 éve
readTGF.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
readWRL.cpp b6c6db1279 specialization --> instantiation 8 éve
readWRL.h b6e3b252af read directly from file pointer 8 éve
read_triangle_mesh.cpp 05f2905655 Update templates 8 éve
read_triangle_mesh.h b6e3b252af read directly from file pointer 8 éve
redux.h db3b7dc16c templates 8 éve
remove_duplicate_vertices.cpp 85c9ca96a9 templates 8 éve
remove_duplicate_vertices.h b09b6e5b0f better templating 8 éve
remove_duplicates.cpp b6c6db1279 specialization --> instantiation 8 éve
remove_duplicates.h 69808310c1 removeDuplicates --> remove_duplicates 11 éve
remove_unreferenced.cpp 85c9ca96a9 templates 8 éve
remove_unreferenced.h b09b6e5b0f better templating 8 éve
reorder.cpp b6c6db1279 specialization --> instantiation 8 éve
reorder.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
repdiag.cpp b6c6db1279 specialization --> instantiation 8 éve
repdiag.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
repmat.cpp b6c6db1279 specialization --> instantiation 8 éve
repmat.h 9698061a02 better templating 8 éve
resolve_duplicated_faces.cpp f687064342 Added missing templates 9 éve
resolve_duplicated_faces.h f9ced09c24 merge 9 éve
rgb_to_hsv.cpp b6c6db1279 specialization --> instantiation 8 éve
rgb_to_hsv.h 20a3ad28f1 eigen types 10 éve
rotate_by_quat.cpp b6c6db1279 specialization --> instantiation 8 éve
rotate_by_quat.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
rotate_vectors.cpp b6c6db1279 specialization --> instantiation 8 éve
rotate_vectors.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
rotation_matrix_from_directions.cpp b6c6db1279 specialization --> instantiation 8 éve
rotation_matrix_from_directions.h 2d42198b19 fix style, rm unused parameter 9 éve
round.cpp 85c9ca96a9 templates 8 éve
round.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
rows_to_matrix.cpp b6c6db1279 specialization --> instantiation 8 éve
rows_to_matrix.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
sample_edges.cpp b473232452 preprend license header to every file 11 éve
sample_edges.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
seam_edges.cpp b6c6db1279 specialization --> instantiation 8 éve
seam_edges.h af2594ad1c cosmetic reformatting and templates 8 éve
segment_segment_intersect.cpp abd2f01b80 completing the merge 9 éve
segment_segment_intersect.h abd2f01b80 completing the merge 9 éve
serialize.h 892496b73c Merge current master 8 éve
setdiff.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 éve
setdiff.h 46aa12d3e1 setxor, correct indices assuming colmajor 8 éve
setunion.cpp b6c6db1279 specialization --> instantiation 8 éve
setunion.h 06215fe09b set union on matrices 8 éve
setxor.cpp b6c6db1279 specialization --> instantiation 8 éve
setxor.h 46aa12d3e1 setxor, correct indices assuming colmajor 8 éve
shortest_edge_and_midpoint.cpp df801345c1 copyright/license headers 8 éve
shortest_edge_and_midpoint.h 4deb79d564 pull out shortest_edge_... and max_faces... functions 8 éve
signed_distance.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 éve
signed_distance.h 7af1fa6964 pseudonormal test and signed distance in 2D 9 éve
simplify_polyhedron.cpp 42d48d7457 ack, pre_/-post_ collapse needs full state 8 éve
simplify_polyhedron.h 4123794f61 simplify polyhedron 9 éve
slice.cpp 05f2905655 Update templates 8 éve
slice.h c41afa77ec better templates 8 éve
slice_into.cpp 05f2905655 Update templates 8 éve
slice_into.h c41afa77ec better templates 8 éve
slice_mask.cpp b6c6db1279 specialization --> instantiation 8 éve
slice_mask.h 03c9c841dc trivially extend to sparse matrices 8 éve
slice_tets.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 éve
slice_tets.h f0b9c018f1 slice tets and tempaltes 10 éve
slim.cpp 6f8ab23137 fixed an initializaiton bug in func "solve_weighted_arap" of slim.cpp 8 éve
slim.h 66ccf0c218 templates 8 éve
snap_points.cpp b6c6db1279 specialization --> instantiation 8 éve
snap_points.h 2dfdea1a3b templates 9 éve
snap_to_canonical_view_quat.cpp b6c6db1279 specialization --> instantiation 8 éve
snap_to_canonical_view_quat.h 8c809663c2 better tempaltes 10 éve
snap_to_fixed_up.cpp b6c6db1279 specialization --> instantiation 8 éve
snap_to_fixed_up.h 6d578a7133 key usage in viewer 9 éve
sort.cpp b6c6db1279 specialization --> instantiation 8 éve
sort.h 46aa12d3e1 setxor, correct indices assuming colmajor 8 éve
sort_angles.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 éve
sort_angles.h 53c2b9e8fa missing copyrights 10 éve
sort_triangles.cpp b6c6db1279 specialization --> instantiation 8 éve
sort_triangles.h 945ca3ac82 move opengl functions to separate directories, lots of new templates 10 éve
sort_vectors_ccw.cpp b6c6db1279 specialization --> instantiation 8 éve
sort_vectors_ccw.h f72ff756ac olga's recent changes 9 éve
sortrows.cpp 85c9ca96a9 templates 8 éve
sortrows.h 46aa12d3e1 setxor, correct indices assuming colmajor 8 éve
sparse.cpp b6c6db1279 specialization --> instantiation 8 éve
sparse.h 2ecd74c82a better templates 8 éve
speye.cpp b6c6db1279 specialization --> instantiation 8 éve
speye.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
squared_edge_lengths.cpp b6c6db1279 specialization --> instantiation 8 éve
squared_edge_lengths.h 9698061a02 better templating 8 éve
stdin_to_temp.cpp b473232452 preprend license header to every file 11 éve
stdin_to_temp.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
straighten_seams.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 éve
straighten_seams.h 3fe31ec0dc straighten seams 8 éve
streamlines.cpp e52b3a9ca9 streamlines.cpp: updated to use new matchings code (which has an option for treating the field as symmetric/non-symmetric) 8 éve
streamlines.h abd2f01b80 completing the merge 9 éve
sum.cpp b6c6db1279 specialization --> instantiation 8 éve
sum.h 074577bc17 use sparse matrix redux/for each 8 éve
svd3x3.cpp cce7d90d92 mv SVD to main lib 10 éve
svd3x3.h cce7d90d92 mv SVD to main lib 10 éve
svd3x3_avx.cpp b068e63d4f removed double instantiation 10 éve
svd3x3_avx.h cce7d90d92 mv SVD to main lib 10 éve
svd3x3_sse.cpp cce7d90d92 mv SVD to main lib 10 éve
svd3x3_sse.h cce7d90d92 mv SVD to main lib 10 éve
swept_volume_bounding_box.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 éve
swept_volume_bounding_box.h b00e745985 adding missing copyright/license headers 8 éve
swept_volume_signed_distance.cpp 36e5b8c423 wrapper for Eigen's buggy LinSpaced 8 éve
swept_volume_signed_distance.h b00e745985 adding missing copyright/license headers 8 éve
trackball.cpp b6c6db1279 specialization --> instantiation 8 éve
trackball.h 8c809663c2 better tempaltes 10 éve
transpose_blocks.cpp b6c6db1279 specialization --> instantiation 8 éve
transpose_blocks.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
triangle_fan.cpp 53c2b9e8fa missing copyrights 10 éve
triangle_fan.h 53c2b9e8fa missing copyrights 10 éve
triangle_triangle_adjacency.cpp b6c6db1279 specialization --> instantiation 8 éve
triangle_triangle_adjacency.h 7dd7f6e50b Regenerate docstrings and update documentation. Fix include problem with triangle_triangle_adjacency.h 8 éve
triangles_from_strip.cpp b6c6db1279 specialization --> instantiation 8 éve
triangles_from_strip.h 9522dfd77e generate triangles from a points streaming triangle strip 10 éve
two_axis_valuator_fixed_up.cpp b6c6db1279 specialization --> instantiation 8 éve
two_axis_valuator_fixed_up.h 8c809663c2 better tempaltes 10 éve
uniformly_sample_two_manifold.cpp 77b87e622a rm using namespace igl 10 éve
uniformly_sample_two_manifold.h d06b90a231 comments 9 éve
unique.cpp 85c9ca96a9 templates 8 éve
unique.h 46aa12d3e1 setxor, correct indices assuming colmajor 8 éve
unique_edge_map.cpp b6c6db1279 specialization --> instantiation 8 éve
unique_edge_map.h 53c2b9e8fa missing copyrights 10 éve
unique_simplices.cpp b6c6db1279 specialization --> instantiation 8 éve
unique_simplices.h bae1c9582d per edge normals 11 éve
unproject.cpp 2dfdea1a3b templates 9 éve
unproject.h 2dfdea1a3b templates 9 éve
unproject_in_mesh.cpp 417501ef15 templates and __1 9 éve
unproject_in_mesh.h 81d3908f7b unproject onto mesh abstracted away from embree 9 éve
unproject_onto_mesh.cpp b6c6db1279 specialization --> instantiation 8 éve
unproject_onto_mesh.h 81d3908f7b unproject onto mesh abstracted away from embree 9 éve
unproject_ray.cpp dec1ddc168 rm using namespace igl 9 éve
unproject_ray.h a1e8235f15 expose unproject_in_mesh to main library with default brute force option 9 éve
unzip_corners.cpp b00e745985 adding missing copyright/license headers 8 éve
unzip_corners.h e287df11ba unzip corners (of an obj-style mesh with attributes) 9 éve
upsample.cpp b6c6db1279 specialization --> instantiation 8 éve
upsample.h 19bc318c12 loop, upsample, bug fix + tutorial 8 éve
vector_area_matrix.cpp 1e08e53382 Workaround for Eigen-3.3.1: 8 éve
vector_area_matrix.h 77260d4aac areamatrix --> vector_area_matrix 11 éve
verbose.h b473232452 preprend license header to every file 11 éve
vertex_triangle_adjacency.cpp b6c6db1279 specialization --> instantiation 8 éve
vertex_triangle_adjacency.h af6efe2123 is vertex manifold 10 éve
volume.cpp b6c6db1279 specialization --> instantiation 8 éve
volume.h 9698061a02 better templating 8 éve
voxel_grid.cpp b00e745985 adding missing copyright/license headers 8 éve
voxel_grid.h b00e745985 adding missing copyright/license headers 8 éve
winding_number.cpp b6c6db1279 specialization --> instantiation 8 éve
winding_number.h 53c2b9e8fa missing copyrights 10 éve
writeBF.cpp b00e745985 adding missing copyright/license headers 8 éve
writeBF.h b00e745985 adding missing copyright/license headers 8 éve
writeDMAT.cpp b6c6db1279 specialization --> instantiation 8 éve
writeDMAT.h 8a2fb2a3ec unify code for vectors 8 éve
writeMESH.cpp b6c6db1279 specialization --> instantiation 8 éve
writeMESH.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
writeOBJ.cpp 66ccf0c218 templates 8 éve
writeOBJ.h 680d9ff712 better templating 8 éve
writeOFF.cpp b6c6db1279 specialization --> instantiation 8 éve
writeOFF.h 33c27124bf OFF color-per-vertex 8 éve
writePLY.cpp b6c6db1279 specialization --> instantiation 8 éve
writePLY.h 8692dd8258 ply duplicate symbol issues 10 éve
writeSTL.cpp b6c6db1279 specialization --> instantiation 8 éve
writeSTL.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
writeTGF.cpp 77b87e622a rm using namespace igl 10 éve
writeTGF.h 4783f7505d IGL_HEADER_ONLY --> ~IGL_STATIC_LIBRARY 11 éve
writeWRL.cpp b6c6db1279 specialization --> instantiation 8 éve
writeWRL.h 53c2b9e8fa missing copyrights 10 éve
write_triangle_mesh.cpp b6c6db1279 specialization --> instantiation 8 éve
write_triangle_mesh.h d13d3163e1 universal write, tempaltes 10 éve

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 >(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