libigl/2.5.0

Simple C++ geometry processing library
Recipe info
2024-04-10

Available packages
Linux
Windows
macOS
macOS Apple Silicon

Install
Add the following line to your conanfile.txt:
[requires]
libigl/2.5.0

Using libigl

Note

If you are a new Conan user, we recommend reading the how to consume packages tutorial.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
libigl/2.5.0
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("libigl/2.5.0")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): libigl
  • CMake target name(s): igl::igl
  • core => igl::core
    common => igl::common
    
  • pkg-config file name(s): libigl.pc
  • core => libigl-core.pc
    common => libigl-common.pc
    

A simple use case using the CMake file name and the global target:

# ...
find_package(libigl REQUIRED)
# ...
target_link_libraries(YOUR_TARGET igl::igl)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the libigl homepage listed above:

#include "igl/AABB.h"
#include "igl/ARAPEnergyType.h"
#include "igl/AtA_cached.h"
#include "igl/C_STR.h"
#include "igl/EPS.h"
#include "igl/FastWindingNumberForSoups.h"
#include "igl/FileEncoding.h"
#include "igl/FileMemoryStream.h"
#include "igl/HalfEdgeIterator.h"
#include "igl/Hit.h"
#include "igl/IGL_ASSERT.h"
#include "igl/IndexComparison.h"
#include "igl/LinSpaced.h"
#include "igl/MappingEnergyType.h"
#include "igl/MeshBooleanType.h"
#include "igl/MshLoader.h"
#include "igl/MshSaver.h"
#include "igl/NormalType.h"
#include "igl/ONE.h"
#include "igl/PI.h"
#include "igl/REDRUM.h"
#include "igl/STR.h"
#include "igl/SolverStatus.h"
#include "igl/SortableRow.h"
#include "igl/Timer.h"
#include "igl/Viewport.h"
#include "igl/WindingNumberAABB.h"
#include "igl/WindingNumberMethod.h"
#include "igl/WindingNumberTree.h"
#include "igl/ZERO.h"
#include "igl/accumarray.h"
#include "igl/active_set.h"
#include "igl/adjacency_list.h"
#include "igl/adjacency_matrix.h"
#include "igl/all.h"
#include "igl/all_pairs_distances.h"
#include "igl/ambient_occlusion.h"
#include "igl/angular_distance.h"
#include "igl/any.h"
#include "igl/arap.h"
#include "igl/arap_dof.h"
#include "igl/arap_linear_block.h"
#include "igl/arap_rhs.h"
#include "igl/average_from_edges_onto_vertices.h"
#include "igl/average_onto_faces.h"
#include "igl/average_onto_vertices.h"
#include "igl/avg_edge_length.h"
#include "igl/axis_angle_to_quat.h"
#include "igl/barycenter.h"
#include "igl/barycentric_coordinates.h"
#include "igl/barycentric_interpolation.h"
#include "igl/basename.h"
#include "igl/bbw.h"
#include "igl/bezier.h"
#include "igl/bfs.h"
#include "igl/bfs_orient.h"
#include "igl/biharmonic_coordinates.h"
#include "igl/bijective_composite_harmonic_mapping.h"
#include "igl/blkdiag.h"
#include "igl/blue_noise.h"
#include "igl/bone_parents.h"
#include "igl/boundary_conditions.h"
#include "igl/boundary_facets.h"
#include "igl/boundary_loop.h"
#include "igl/bounding_box.h"
#include "igl/bounding_box_diagonal.h"
#include "igl/canonical_quaternions.h"
#include "igl/cat.h"
#include "igl/ceil.h"
#include "igl/centroid.h"
#include "igl/circulation.h"
#include "igl/circumradius.h"
#include "igl/collapse_edge.h"
#include "igl/collapse_small_triangles.h"
#include "igl/colon.h"
#include "igl/colormap.h"
#include "igl/column_to_quats.h"
#include "igl/columnize.h"
#include "igl/comb_cross_field.h"
#include "igl/comb_frame_field.h"
#include "igl/comb_line_field.h"
#include "igl/combine.h"
#include "igl/compute_frame_field_bisectors.h"
#include "igl/connect_boundary_to_infinity.h"
#include "igl/connected_components.h"
#include "igl/cotmatrix.h"
#include "igl/cotmatrix_entries.h"
#include "igl/cotmatrix_intrinsic.h"
#include "igl/count.h"
#include "igl/covariance_scatter_matrix.h"
#include "igl/cr_vector_curvature_correction.h"
#include "igl/cr_vector_laplacian.h"
#include "igl/cr_vector_mass.h"
#include "igl/cross.h"
#include "igl/cross_field_mismatch.h"
#include "igl/crouzeix_raviart_cotmatrix.h"
#include "igl/crouzeix_raviart_massmatrix.h"
#include "igl/cumprod.h"
#include "igl/cumsum.h"
#include "igl/curved_hessian_energy.h"
#include "igl/cut_mesh.h"
#include "igl/cut_mesh_from_singularities.h"
#include "igl/cut_to_disk.h"
#include "igl/cylinder.h"
#include "igl/dated_copy.h"
#include "igl/decimate.h"
#include "igl/decimate_callback_types.h"
#include "igl/decimate_trivial_callbacks.h"
#include "igl/default_num_threads.h"
#include "igl/deform_skeleton.h"
#include "igl/delaunay_triangulation.h"
#include "igl/dfs.h"
#include "igl/dihedral_angles.h"
#include "igl/dijkstra.h"
#include "igl/direct_delta_mush.h"
#include "igl/directed_edge_orientations.h"
#include "igl/directed_edge_parents.h"
#include "igl/dirname.h"
#include "igl/dot.h"
#include "igl/dot_row.h"
#include "igl/doublearea.h"
#include "igl/dqs.h"
#include "igl/dual_contouring.h"
#include "igl/ears.h"
#include "igl/edge_collapse_is_valid.h"
#include "igl/edge_crossings.h"
#include "igl/edge_exists_near.h"
#include "igl/edge_flaps.h"
#include "igl/edge_lengths.h"
#include "igl/edge_midpoints.h"
#include "igl/edge_topology.h"
#include "igl/edge_vectors.h"
#include "igl/edges.h"
#include "igl/edges_to_path.h"
#include "igl/eigs.h"
#include "igl/euler_characteristic.h"
#include "igl/exact_geodesic.h"
#include "igl/example_fun.h"
#include "igl/exploded_view.h"
#include "igl/extension.h"
#include "igl/exterior_edges.h"
#include "igl/extract_manifold_patches.h"
#include "igl/extract_non_manifold_edge_curves.h"
#include "igl/face_areas.h"
#include "igl/face_occurrences.h"
#include "igl/faces_first.h"
#include "igl/facet_adjacency_matrix.h"
#include "igl/facet_components.h"
#include "igl/false_barycentric_subdivision.h"
#include "igl/fast_find_intersections.h"
#include "igl/fast_find_self_intersections.h"
#include "igl/fast_winding_number.h"
#include "igl/file_contents_as_string.h"
#include "igl/file_dialog_open.h"
#include "igl/file_dialog_save.h"
#include "igl/file_exists.h"
#include "igl/find.h"
#include "igl/find_cross_field_singularities.h"
#include "igl/find_zero.h"
#include "igl/fit_cubic_bezier.h"
#include "igl/fit_plane.h"
#include "igl/fit_rotations.h"
#include "igl/flip_avoiding_line_search.h"
#include "igl/flip_edge.h"
#include "igl/flipped_triangles.h"
#include "igl/flood_fill.h"
#include "igl/floor.h"
#include "igl/for_each.h"
#include "igl/forward_kinematics.h"
#include "igl/frame_field_deformer.h"
#include "igl/frame_to_cross_field.h"
#include "igl/frustum.h"
#include "igl/gaussian_curvature.h"
#include "igl/generate_default_urbg.h"
#include "igl/get_seconds.h"
#include "igl/grad.h"
#include "igl/grad_intrinsic.h"
#include "igl/grid.h"
#include "igl/grid_search.h"
#include "igl/group_sum_matrix.h"
#include "igl/guess_extension.h"
#include "igl/harmonic.h"
#include "igl/harwell_boeing.h"
#include "igl/hausdorff.h"
#include "igl/heat_geodesics.h"
#include "igl/hessian.h"
#include "igl/hessian_energy.h"
#include "igl/histc.h"
#include "igl/hsv_to_rgb.h"
#include "igl/icosahedron.h"
#include "igl/igl_inline.h"
#include "igl/in_element.h"
#include "igl/increment_ulp.h"
#include "igl/infinite_cost_stopping_condition.h"
#include "igl/inradius.h"
#include "igl/internal_angles.h"
#include "igl/internal_angles_intrinsic.h"
#include "igl/intersect.h"
#include "igl/intrinsic_delaunay_cotmatrix.h"
#include "igl/intrinsic_delaunay_triangulation.h"
#include "igl/invert_diag.h"
#include "igl/is_border_vertex.h"
#include "igl/is_boundary_edge.h"
#include "igl/is_delaunay.h"
#include "igl/is_dir.h"
#include "igl/is_edge_manifold.h"
#include "igl/is_file.h"
#include "igl/is_intrinsic_delaunay.h"
#include "igl/is_irregular_vertex.h"
#include "igl/is_planar.h"
#include "igl/is_readable.h"
#include "igl/is_sparse.h"
#include "igl/is_stl.h"
#include "igl/is_symmetric.h"
#include "igl/is_vertex_manifold.h"
#include "igl/is_writable.h"
#include "igl/isdiag.h"
#include "igl/ismember.h"
#include "igl/ismember_rows.h"
#include "igl/isolines.h"
#include "igl/isolines_intrinsic.h"
#include "igl/isolines_map.h"
#include "igl/iterative_closest_point.h"
#include "igl/jet.h"
#include "igl/kelvinlets.h"
#include "igl/kkt_inverse.h"
#include "igl/knn.h"
#include "igl/launch_medit.h"
#include "igl/lbs_matrix.h"
#include "igl/lexicographic_triangulation.h"
#include "igl/limit_faces.h"
#include "igl/line_field_mismatch.h"
#include "igl/line_search.h"
#include "igl/line_segment_in_rectangle.h"
#include "igl/linprog.h"
#include "igl/list_to_matrix.h"
#include "igl/local_basis.h"
#include "igl/look_at.h"
#include "igl/loop.h"
#include "igl/lscm.h"
#include "igl/lscm_hessian.h"
#include "igl/map_vertices_to_circle.h"
#include "igl/mapping_energy_with_jacobians.h"
#include "igl/march_cube.h"
#include "igl/marching_cubes.h"
#include "igl/marching_cubes_tables.h"
#include "igl/marching_tets.h"
#include "igl/massmatrix.h"
#include "igl/massmatrix_intrinsic.h"
#include "igl/mat_to_quat.h"
#include "igl/material_colors.h"
#include "igl/matlab_format.h"
#include "igl/matrix_to_list.h"
#include "igl/max.h"
#include "igl/max_faces_stopping_condition.h"
#include "igl/max_size.h"
#include "igl/median.h"
#include "igl/min.h"
#include "igl/min_heap.h"
#include "igl/min_quad_with_fixed.h"
#include "igl/min_quad_with_fixed.impl.h"
#include "igl/min_size.h"
#include "igl/mod.h"
#include "igl/mode.h"
#include "igl/moments.h"
#include "igl/mvc.h"
#include "igl/nchoosek.h"
#include "igl/next_filename.h"
#include "igl/normal_derivative.h"
#include "igl/normalize_quat.h"
#include "igl/null.h"
#include "igl/octree.h"
#include "igl/offset_surface.h"
#include "igl/on_boundary.h"
#include "igl/orient_halfedges.h"
#include "igl/orient_outward.h"
#include "igl/orientable_patches.h"
#include "igl/oriented_facets.h"
#include "igl/orth.h"
#include "igl/ortho.h"
#include "igl/outer_element.h"
#include "igl/parallel_for.h"
#include "igl/parallel_transport_angles.h"
#include "igl/partition.h"
#include "igl/parula.h"
#include "igl/path_to_edges.h"
#include "igl/path_to_executable.h"
#include "igl/pathinfo.h"
#include "igl/per_corner_normals.h"
#include "igl/per_edge_normals.h"
#include "igl/per_face_normals.h"
#include "igl/per_vertex_attribute_smoothing.h"
#include "igl/per_vertex_normals.h"
#include "igl/per_vertex_point_to_plane_quadrics.h"
#include "igl/piecewise_constant_winding_number.h"
#include "igl/pinv.h"
#include "igl/planarize_quad_mesh.h"
#include "igl/point_in_circle.h"
#include "igl/point_mesh_squared_distance.h"
#include "igl/point_simplex_squared_distance.h"
#include "igl/polar_dec.h"
#include "igl/polar_svd.h"
#include "igl/polar_svd3x3.h"
#include "igl/polygon_corners.h"
#include "igl/polygons_to_triangles.h"
#include "igl/principal_curvature.h"
#include "igl/print_ijv.h"
#include "igl/print_vector.h"
#include "igl/procrustes.h"
#include "igl/project.h"
#include "igl/project_isometrically_to_plane.h"
#include "igl/project_to_line.h"
#include "igl/project_to_line_segment.h"
#include "igl/projection_constraint.h"
#include "igl/pseudonormal_test.h"
#include "igl/pso.h"
#include "igl/qslim.h"
#include "igl/qslim_optimal_collapse_edge_callbacks.h"
#include "igl/quad_grid.h"
#include "igl/quad_planarity.h"
#include "igl/quadprog.h"
#include "igl/quadric_binary_plus_operator.h"
#include "igl/quat_conjugate.h"
#include "igl/quat_mult.h"
#include "igl/quat_to_axis_angle.h"
#include "igl/quat_to_mat.h"
#include "igl/quats_to_column.h"
#include "igl/ramer_douglas_peucker.h"
#include "igl/random_dir.h"
#include "igl/random_points_on_mesh.h"
#include "igl/random_points_on_mesh_intrinsic.h"
#include "igl/random_quaternion.h"
#include "igl/random_search.h"
#include "igl/randperm.h"
#include "igl/ray_box_intersect.h"
#include "igl/ray_mesh_intersect.h"
#include "igl/ray_sphere_intersect.h"
#include "igl/readBF.h"
#include "igl/readCSV.h"
#include "igl/readDMAT.h"
#include "igl/readMESH.h"
#include "igl/readMSH.h"
#include "igl/readNODE.h"
#include "igl/readOBJ.h"
#include "igl/readOFF.h"
#include "igl/readPLY.h"
#include "igl/readSTL.h"
#include "igl/readTGF.h"
#include "igl/readWRL.h"
#include "igl/read_file_binary.h"
#include "igl/read_triangle_mesh.h"
#include "igl/redux.h"
#include "igl/remesh_along_isoline.h"
#include "igl/remove_duplicate_vertices.h"
#include "igl/remove_unreferenced.h"
#include "igl/repdiag.h"
#include "igl/repmat.h"
#include "igl/resolve_duplicated_faces.h"
#include "igl/rgb_to_hsv.h"
#include "igl/rigid_alignment.h"
#include "igl/rotate_by_quat.h"
#include "igl/rotate_vectors.h"
#include "igl/rotation_matrix_from_directions.h"
#include "igl/round.h"
#include "igl/rows_to_matrix.h"
#include "igl/sample_edges.h"
#include "igl/scalar_to_cr_vector_gradient.h"
#include "igl/screen_space_selection.h"
#include "igl/seam_edges.h"
#include "igl/segment_segment_intersect.h"
#include "igl/serialize.h"
#include "igl/setdiff.h"
#include "igl/setunion.h"
#include "igl/setxor.h"
#include "igl/shape_diameter_function.h"
#include "igl/shapeup.h"
#include "igl/sharp_edges.h"
#include "igl/shortest_edge_and_midpoint.h"
#include "igl/signed_angle.h"
#include "igl/signed_distance.h"
#include "igl/simplify_polyhedron.h"
#include "igl/slice.h"
#include "igl/slice_cached.h"
#include "igl/slice_into.h"
#include "igl/slice_mask.h"
#include "igl/slice_sorted.h"
#include "igl/slim.h"
#include "igl/smooth_corner_adjacency.h"
#include "igl/snap_points.h"
#include "igl/snap_to_canonical_view_quat.h"
#include "igl/snap_to_fixed_up.h"
#include "igl/solid_angle.h"
#include "igl/sort.h"
#include "igl/sort_angles.h"
#include "igl/sort_triangles.h"
#include "igl/sort_vectors_ccw.h"
#include "igl/sortrows.h"
#include "igl/sparse.h"
#include "igl/sparse_cached.h"
#include "igl/sparse_voxel_grid.h"
#include "igl/speye.h"
#include "igl/split_nonmanifold.h"
#include "igl/squared_edge_lengths.h"
#include "igl/stdin_to_temp.h"
#include "igl/straighten_seams.h"
#include "igl/string_utils.h"
#include "igl/sum.h"
#include "igl/svd3x3.h"
#include "igl/svd3x3_avx.h"
#include "igl/svd3x3_sse.h"
#include "igl/swept_volume.h"
#include "igl/swept_volume_bounding_box.h"
#include "igl/swept_volume_signed_distance.h"
#include "igl/tan_half_angle.h"
#include "igl/tet_tet_adjacency.h"
#include "igl/tetrahedralized_grid.h"
#include "igl/tinyply.h"
#include "igl/topological_hole_fill.h"
#include "igl/trackball.h"
#include "igl/transpose_blocks.h"
#include "igl/tri_tri_intersect.h"
#include "igl/triangle_fan.h"
#include "igl/triangle_triangle_adjacency.h"
#include "igl/triangles_from_strip.h"
#include "igl/triangulated_grid.h"
#include "igl/turning_number.h"
#include "igl/two_axis_valuator_fixed_up.h"
#include "igl/uniformly_sample_two_manifold.h"
#include "igl/unique.h"
#include "igl/unique_edge_map.h"
#include "igl/unique_rows.h"
#include "igl/unique_simplices.h"
#include "igl/unproject.h"
#include "igl/unproject_in_mesh.h"
#include "igl/unproject_on_line.h"
#include "igl/unproject_on_plane.h"
#include "igl/unproject_onto_mesh.h"
#include "igl/unproject_ray.h"
#include "igl/unzip_corners.h"
#include "igl/upsample.h"
#include "igl/vector_area_matrix.h"
#include "igl/verbose.h"
#include "igl/vertex_components.h"
#include "igl/vertex_triangle_adjacency.h"
#include "igl/volume.h"
#include "igl/voxel_grid.h"
#include "igl/winding_number.h"
#include "igl/writeBF.h"
#include "igl/writeDMAT.h"
#include "igl/writeMESH.h"
#include "igl/writeMSH.h"
#include "igl/writeOBJ.h"
#include "igl/writeOFF.h"
#include "igl/writePLY.h"
#include "igl/writeSTL.h"
#include "igl/writeTGF.h"
#include "igl/writeWRL.h"
#include "igl/write_triangle_mesh.h"