If you are using CMake, the public include directory is added to the ipc::toolkit cmake target which means that any lib/bin that includes ipc::toolkit as a dependency also adds those include directories too.
If you are not using CMake, the include path is src.
Files are included with the prefix #include <ipc/...> in C++ and import ipctk in Python.
We do not provide an edge-edge intersection function in 3D, but you can approximate it by computing the distance between the two edges and checking if it is less than a threshold.
Inside any BroadPhase classes, the function detect_edge_edge_candidates determines which edges intersect based on their bounding boxes. You can then use edge_edge_distance to check if they approximatly intersect by computing the distance.
To build the edge matrix you can use igl::edges(faces, edges); in C++ or ipctk.edges(faces) in Python.
Please open an issue on GitHub and we will do our best to help you.