libigl v2.5.0
|
This detailed documentation browser is automatically generated from the comments in libigl header (.h) files.
In general, each libigl function (e.g., igl::func
) will be defined in a correspondingly named header file (e.g., #include <igl/func.h>
).
The core library only depends on the standard template library (std::
) and Eigen. These functions reside directly the igl::
namespace
Functions with further dependencies reside in a corresonding sub-namespace. For example, the function igl::spectra::lscm
depends on the Spectra library so it resides in the igl::spectra::
namespace.
Functions which depend on external code under a copyleft license reside in the igl::copyleft::
namepsace.
Most libigl functions are templated over the Eigen matrix inputs and outputs. Callers can choose their own scalar types (e.g., double
/float
) and storage orders (Eigen::ColMajor
/Eigen::RowMajor
). Libigl can be used as a:
LIBIGL_USE_STATIC_LIBRARY=OFF
) and insure that IGL_STATIC_LIBRARY
is not defined_ when compiling — easiest if you're new to libigl, orLIBIGL_USE_STATIC_LIBRARY=ON
→ IGL_STATIC_LIBRARY
is defined) — speeds up repeated compilation.The libigl static library is filled with explicit template instantiations for common Eigen inputs and outputs. If the library doesn't contain your types, you may get some form of linker error (e.g., Undefined symbols for architecture
, undefined reference to
or unresolved external symbol
).
You can fix this by:
my_templates.cpp
Eigen::MatrixXd
).