/* See {Cm2t.h} */ #include /* Last edited on 2007-02-03 13:47:29 by stolfi */ #define Cm2t_C_COPYRIGHT \ "Copyright © 2000,2007 Universidade Estadual de Campinas (UNICAMP)" #include #include #include #include #include #include #include #include #include Place_t MakeCm2t(uint order) { EightPlaces_t a = MakeTetraTopo(order,order); EightPlaces_t b = MakeTetraTopo(order,order); Glue(Spin(a.p[1]),b.p[0],order,TRUE); Glue(Spin(a.p[3]),a.p[2],order,TRUE); Glue(Spin(b.p[1]),a.p[0],order,TRUE); Glue(Spin(b.p[3]),b.p[2],order,TRUE); fprintf(stderr, "Building topology of Cm2t: \n"); /* Return one @place not kill by the Glue Procedure */ return Spin(a.p[3]); } Place_t MakeCm2t_H1(uint order) { EightPlaces_t a = MakeTetraTopo(order,order); EightPlaces_t b = MakeTetraTopo(order,order); Glue(Spin(b.p[3]),a.p[2],order,TRUE); Glue(Spin(a.p[3]),b.p[2],order,TRUE); Glue(Spin(b.p[1]),b.p[0],order,TRUE); Glue(Spin(a.p[1]),a.p[0],order,TRUE); fprintf(stderr, "Building topology of cm2t-h1: \n"); /* Return one @place not kill by the Glue Procedure */ return Spin(b.p[1]); } Place_t MakeCm2t_H2(uint order) { EightPlaces_t a = MakeTetraTopo(order,order); EightPlaces_t b = MakeTetraTopo(order,order); Glue(Spin(a.p[6]),b.p[3],order,TRUE); Glue(Spin(a.p[7]),b.p[2],order,TRUE); Glue(Spin(b.p[1]),b.p[0],order,TRUE); Glue(Spin(a.p[1]),a.p[0],order,TRUE); fprintf(stderr, "Building topology of cm2t-h2: \n"); /* Return one @place not kill by the Glue Procedure */ return Spin(a.p[6]); } Place_t MakeCm2t_H3(uint order) { EightPlaces_t a = MakeTetraTopo(order,order); EightPlaces_t b = MakeTetraTopo(order,order); Glue(Spin(a.p[7]),b.p[3],order,TRUE); Glue(Spin(a.p[6]),b.p[2],order,TRUE); Glue(Spin(b.p[1]),b.p[0],order,TRUE); Glue(Spin(a.p[1]),a.p[0],order,TRUE); fprintf(stderr, "Building topology of cm2t-h3:\n"); /* Return one @place not kill by the Glue Procedure */ return Spin(a.p[7]); } #define Cm2t_C_author \ "Created by L. A. P. Lozada, 1999-2000.\n" \ "Modification history:"