#ifndef BigCube_H #define BigCube_H /* Last edited on 2007-02-02 20:13:49 by stolfi */ /* Procedures that build arrays of cubical cells. */ #define BigCube_H_copyright \ "Copyright © 2000 Universidade Estadual de Campinas (UNICAMP)" #include #include #include #include FourPlaces_vec_t Make1DCubeArray(uint order); /* Build one row of cubes with order "order". */ FourPlaces_vec_t Make1DCubeArrayBis(uint order); /* Builds one row of cubes with order "order". Slightly different from {Make1DCubeArray}. */ Place_t Make1DCubeArrayBis2(uint order); /* Same as {Make1DCubeArrayBis} but returns a single place. */ TwoPlaces_vec_t Make2DCubeArray(uint order); /* Build one bidimensional array of cubes of order: {order x order}. */ TwoPlaces_vec_t MakeBigCube(uint order); /* Build one tridimensional array of cubic cellulas. Return two arrays of places of order: {order x order}, not eliminated by gluing procedure of columns of cubes. */ Place_t MakeBigCube1(uint order); /* Like {MakeBigCube} but returns a single place. */ void SetCubeProperties(TwoPlaces_vec_t *a, uint n, ElemTableRec_t *top); /* Set the propiertes of a tridimensional array of cubic cells, such that it emphasis the elements of the external big cube. */ Place_t GlueBigCube(Place_t p, Place_t b, uint n); /* Make the glueing of two simples {bigcubes} around of one squared grid common wall. The {p} and their adjacentes on the same squared grid wall component is killed. */ TwoPlaces_vec_t BuildBigRawCube(uint order); /* Builds one tridimensional array of cubic cells with fixed geometry. */ void EmphasizeBigRawCubeOriginalElems(TwoPlaces_vec_t *cd, ElemTableRec_t *top, uint order); /* Emphasizes the elements that belong to nodes, edges and walls of the original (unsubdivided) cube. */ Place_t BuildBigRawCube1(uint order, bool_t original); /* Like BuildBigRawCube, but returns a single place. */ void FixBigRawCubeCoords(TwoPlaces_vec_t *cd, ElemTableRec_t *top, uint order, Coords_t *c); /* Assigns canonical coordinates to {c}. */ #define BigCube_H_author \ "C interface created by J. Stolfi, jan/2007." #endif