city_generator2

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

README.md (4343B)


      1 # City Generator 2
      2 
      3 City Generator 2 is a software that produces conformal 3D meshes representing a
      4 city (in the form of .stl files) from a simple ascii description. These files
      5 can be used by volumic solver software like the
      6 [Stardis](https://gitlab.com/meso-star/star-cad) program.
      7 
      8 ## Requirements
      9 
     10 - C compiler
     11 - POSIX make
     12 - pkg-config
     13 - [mandoc](https://mandoc.bsd.lv)
     14 - [RSys](https://gitlab.com/vaplv/rsys)
     15 - [Star-CAD](https://gitlab.com/meso-star/star-cad),
     16 - [Star-CPR](https://gitlab.com/meso-star/star-clipper)
     17 - [libcyaml](https://github.com/tlsa/libcyaml)
     18 
     19 ## Installation
     20 
     21 Edit config.mk as needed, then run:
     22 
     23     make clean install
     24 
     25 ## Parameters
     26 
     27 Some parameters that change the program behaviour can be set by editing
     28 config.mk before running make:
     29 
     30 - `CG2_ARGS_DEFAULT_VERBOSITY_LEVEL`: the default verbosity level if the `-V`
     31   option is not used. Default is 1 (errors only).
     32 
     33 - `STL_OUTPUT_DEFAULT_IS_BINARY`: The default format for output STL files.
     34   Default is ascii. Depending of this option, the command line options allow
     35   either -a to change the type to ascii, or -b to change it to binary.
     36 
     37 - `CG2_CLOSE_NEIGHBOR_DISTANCE`: The distance up to which a close neighbor
     38   building prevents windows to be generated. Default is 2 meters, must be
     39   strictly positive.
     40 
     41 - `CG2_MIN_DISTANCE_TO_MAP_LIMITS': The minimum distance between a building and
     42   the ground limits. If a building is closer than this distance, it is ruled
     43   out as invalid and is removed from the output. Default is 2 meters, must be
     44   strictly positive.
     45 
     46 - `CG2_MIN_WINDOWS_WIDTH': The minimum width for a window to be valid. Below
     47   this threshold, windows are removed. Default is 0.1 meter, must be strictly
     48   positive.
     49 
     50 ## Release notes
     51 
     52 ### Version 0.4
     53 
     54 - Add new construction mode 2
     55 
     56 ### Version 0.3.1
     57 
     58 - Upgrade star-cpr dependency to 0.5.1
     59 
     60 ### Version 0.3
     61 
     62 #### Use POSIX make as a build system
     63 
     64 The build procedure is now written in POSIX make instead of CMake.
     65 In addition to the features already provided by its CMake alternative,
     66 the Makefile supports the use of static libraries and provides an
     67 uninstall target. In any case, the main motivation behind its writing is
     68 to use a good old well-established standard with simple features,
     69 available on all UNIX systems, thus simplifying its portability and
     70 support while being much lighter
     71 
     72 #### Proof-reading and editing manual pages
     73 
     74 Write the man pages directly in mdoc's roff macros, instead of using the
     75 asciidoc markup language as a source for man pages.
     76 
     77 Unlike writing manuals with man's roff macros, and even more so with
     78 asciidoc, mdoc macros take care of layout, font handling and all the other
     79 typesetting details which, by construction, guarantee the consistency of
     80 all manuals without leaving the responsibility to the individual author.
     81 This also facilitates translation into other formats and documentation
     82 tools. These are the main reasons for writing manual pages with mdoc
     83 macros.
     84 
     85 A complete re-reading of the manual pages was carried out during the
     86 translation into mdoc, with several corrections and rewrites to make the
     87 manual clearer.
     88 
     89 ### Version 0.2
     90 
     91 - Many bugfixes.
     92   Version 0.1 was really broken in many ways and should not be used.
     93 - Upgrade most dependencies.
     94 
     95 Known limitations:
     96 
     97 - Some building crossing configurations remain undetected (crossing at a
     98   vertex).
     99 
    100 - Mesh quality is limited to avoid non-conformity at building/ground connexion.
    101   This can increase the error-rate if the mesh is used for raytracing.
    102 
    103 
    104 ### Version 0.1
    105 
    106 Initial version.
    107 
    108 Known limitations:
    109 
    110 - No detection of building-inside-building cases.
    111 
    112 - Some building crossing configurations remain undetected (crossing at a
    113   vertex).
    114 
    115 - Mesh quality is limited to avoid non-conformity at building/ground connexion.
    116   This can increase the error-rate if the mesh is used for raytracing.
    117 
    118 ## Copyright notice
    119 
    120 Copyright (C) 2022 Université de Pau et des Pays de l'Adour UPPA.
    121 Copyright (C) 2022 CNRS
    122 Copyright (C) 2022 Sorbonne Université
    123 Copyright (C) 2022 Université Paul Sabatier
    124 Copyright (C) 2022 [|Méso|Star>](https://www.meso-star.com) (<contact@meso-star.com>).
    125 
    126 ## License
    127 
    128 City Generator 2 is free software released under the GPL v3+ license: GNU GPL
    129 version 3 or later. You are welcome to redistribute it under certain
    130 conditions; refer to the COPYING file for details.