city_generator2

Generated conformal 3D meshes representing a city
git clone git://git.meso-star.fr/city_generator2.git
Log | Files | Refs | README | LICENSE

cg_construction_mode.h (1696B)


      1 /* Copyright (C) 2022 Université de Pau et des Pays de l'Adour UPPA
      2  * Copyright (C) 2022 CNRS
      3  * Copyright (C) 2022 Sorbonne Université
      4  * Copyright (C) 2022 Université Paul Sabatier
      5  * Copyright (C) 2022 |Meso|Star> (contact@meso-star.com)
      6  *
      7  * This program is free software: you can redistribute it and/or modify
      8  * it under the terms of the GNU General Public License as published by
      9  * the Free Software Foundation, either version 3 of the License, or
     10  * (at your option) any later version.
     11  *
     12  * This program is distributed in the hope that it will be useful,
     13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
     15  * GNU General Public License for more details.
     16  *
     17  * You should have received a copy of the GNU General Public License
     18  * along with this program. If not, see <http://www.gnu.org/licenses/>. */
     19 
     20 #ifndef Construction_MODE_H__
     21 #define Construction_MODE_H__
     22 
     23 #include "cg_city_parsing_schemas.h"
     24 #include "cg_city.h"
     25 
     26 #include <rsys/rsys.h>
     27 #include <star/scpr.h>
     28 #include <rsys/dynamic_array.h>
     29 
     30 struct city;
     31 struct mem_allocator;
     32 struct logger;
     33 struct building;
     34 struct parsed_city_building;
     35 struct catalog;
     36 struct scad_geometry;
     37 struct darray_double;
     38 
     39 #define DARRAY_NAME common_trg
     40 #define DARRAY_DATA struct b_pair
     41 #include <rsys/dynamic_array.h>
     42 
     43 void
     44 get_nverts(const size_t icomp, size_t* nverts, void* context);
     45 
     46 void
     47 get_pos(const size_t icomp, const size_t ivert, double pos[2], void* context);
     48 
     49 res_T
     50 init_building_base
     51   (struct building* building,
     52    struct city* city,
     53    struct parsed_city_building* parsed_data);
     54 
     55 res_T
     56 release_building_base
     57   (struct building* building);
     58 
     59 #endif
     60