#ifndef Bary_H #define Bary_H /* Last edited on 2007-02-03 18:40:06 by stolfi */ #define Bary_H_copyright \ "Copyright © 2000 State University of Campinas (UNICAMP)." #define Bary_H_author \ "Based on procedures by J. Stolfi and R. M. Rosi, UNICAMP.\n" \ "Extensively modified by L. P. Lozada and J. Stolfi for 3D maps, ca. 2000.\n" #include #include void SetWedgeBaryTetra(Wedge_t w, uint order1, uint order2); /* Creates a new 3D map with the topology of an isolated tetrahedron, an attaches it to the wedge {w}. */ Place_t BaryCorner(Place_t p); /* Argument {p} should be a place on the original map {M}. The result is a place {c} which corresponds to {p}, in the sense that {OrgV(c) == OrgV(p)} such that [???] co.el[0] == Corner(p) co.el[1] == Corner(a.Spin) co.el[2] == Corner(a.Srot) co.el[3] == Corner(a.Srot.Spin) co.el[4] == Corner(a.Clock) co.el[5] == Corner(a.Clock.Spin) co.el[6] == Corner(a.Tors) co.el[7] == Corner(a.Tors.Spin) */ Place_t BaryCCorner(Place_t p); /* [???] The place triangulation) {c} belong to topological tetrahedron associated to @place (of Bary) {p}, which has OrgV(c) == OrgV(p) and lies onto boundary of tetrahedron such as in one topological tetrahedron to perform: Spin(co.el[1]) == CCorner(p) Spin(co.el[0]) == CCorner(a.Spin) Spin(co.el[3]) == CCorner(a.Srot) Spin(co.el[2]) == CCorner(a.Srot.Spin) Spin(co.el[5]) == CCorner(a.Clock) Spin(co.el[4]) == CCorner(a.Clock.Spin) Spin(co.el[7]) == CCorner(a.Tors) Spin(co.el[6]) == CCorner(a.Tors.Spin) */ void BarySetCorner(Place_t p, Place_t c); void BarySetCCorner(Place_t p, Place_t c); #endif