public HullTriangle(int a, int b, int c, List<HullTriangle> tris)
            : base(a, b, c)
        {
            this.tris = tris;

            n = new int3(-1, -1, -1);
            id = tris.Count;
            tris.Add(this);
            vmax = -1;
            rise = 0.0f;
        }
 public static bool isa(int3 a, int3 b)
 {
     return (a == b || roll3(a) == b || a == roll3(b));
 }
 public static bool b2b(int3 a, int3 b)
 {
     return isa(a, new int3(b[2], b[1], b[0]));
 }
 public static int3 roll3(int3 a)
 {
     int tmp = a[0];
     a[0] = a[1];
     a[1] = a[2];
     a[2] = tmp;
     return a;
 }