#ifndef Tetrahedron_H #define Tetrahedron_H /* Last edited on 2007-02-03 23:21:03 by stolfi */ /* Procedures to build tetrahedral polyhedra. */ #define Tetrahedron_H_copyright \ "Copyright © 2000 Universidade Estadual de Campinas (UNICAMP)" #include #include #include #include FourPlaces_t MakeTetrahedron(void); /* Builds one tetrahedron such that the places have {PposP==NULL}. Use in Baricentric Subdivision. */ Place_t MakeTetra(void); /* Same as {MakeTetrahedron}, but returns a single place. */ Place_t Make12Fold(void); /* This procedure builds a refined tetrahedron as the subdivision scheme know as "12fold", but with one octahedral cell more eigth tetrahedral cells. */ Place_t MakeTwoTetra(uint order); /* Glues two topological tetrahedron along a one triangulated wall. */ Place_t MakeThreeTetra(uint order); /* Glues three topological tetrahedron two by two along a common @{edge->?}, i.e. builds a map "@{edge->?}star" of degree three. */ void FixCoordsTetra(EightPlaces_t *ca, ElemTableRec_t *top, uint order, Coords_t *c); /* Generates fixed coordinate geometry for a subdivided tetrahedron. */ Place_t MakeRawTetra(uint order); /* Same as {MakeTetraTopo} but returns a single corner place. */ #define Tetrahedron_H_author \ "C interface created by J. Stolfi, jan/2007." #endif