Internal functions

Internal functions.

add_intersection!(data, idx1, idx2, hp_idx, hs_idx = hp_idx - 1)

Add the intersection of the elements of indices idx1 and idx2 that belong to the hyperplane corresponding the halfspace of index hp_idx (see 3.2 (ii) of [FP96]) or have inherited adjacency if hp_idx === nothing (see 3.2 (i) of [FP96]). In case of inherited adjacency, hs_idx is the halfspace where idx1 was created. If idx1 and idx2 are not adjacent or if they are in the hyperplane corresponding to a halfspace of lower index then the intersection is not added to avoid adding redundant elements.

[FP96] Fukuda, K. and Prodon, A. Double description method revisited Combinatorics and computer science, Springer, 1996, 91-111

combine(h::HalfSpace, el1::VRepElement, el2::VRepElement)

Combine el1 and el2 which are on two different sides of the halfspace h so that the combination is in the corresponding hyperplane.