hLutChamfer3D is a two-phase method that determines if a G-symmetrical chamfer mask induces a norm and in this case, computes the lookup tables and the test neighborhood based on geometric properties of the chamfer balls.
The first phase starts from the 3D chamfer mask and produces a triangulation of the chamfer neighbors inversely pondered by the chamfer weights. The algorithm conceptually operates on the convex hull of these weighted vectors and produces a triangulation of this convex hull. It produces two results: a norm condition check and a description of the geometry of the chamfer balls for the given chamfer mask.
The second phase is performed only for norms; from the general geometry obtained during the previous phase, each chamfer ball is described as the intersection of a set of half-spaces (H-description). This H-description is then used to compute the test neighborhood and the lookup table values.