Skip to content

Latest commit

 

History

History
148 lines (100 loc) · 4.52 KB

README.md

File metadata and controls

148 lines (100 loc) · 4.52 KB

Sunlight

About The Project

Library fo light pre-calculation based on real data (urban data and sun position). It's a project extract from 3DUSE separate from parsing operations and as such, with less dependency.

Sunlight is one repository of the Sunlight project, including :

Getting Started

External Dependencies

We are using C++ 20 because we are using latest functionalities (optional, filesystem...).

External Sources Policies

In CMake, we will fetch all externals libraries to avoid external sources in VCity repository. For more information on how include the fetch content, click here.
⚠️ Fetching an external content will always populate the build directory following the standard of a lower-case name. For instance, the package LibXml2 will have a macro libxml2_SOURCE_DIR and a directory libxml2-src directory.

More information here.

For Linux

Prerequisistes

  1. Install git LFS package

    sudo apt-get install git-lfs

Installation

  1. Clone the repository and move to sunlight folder.

    git clone https://github.com/VCityTeam/Sunlight.git
    cd Sunlight
  2. Fetch all cityGML files.

    git lfs fetch --all
  3. Create a build folder in Sunlight that will contains the build of sunlight.

    mkdir build/
  4. Compile Sunlight.

    cd build/
    cmake .. && make

For Windows

Prerequisistes

  1. Follow this tutorial to install and configure Visual Studio.

  2. Download CMake 3.27.

Installation

  1. Clone the repository and move to sunlight folder.

    git clone https://github.com/VCityTeam/Sunlight.git
    cd Sunlight
  2. Fetch all cityGML files.

    git lfs fetch --all
  3. Create a build folder in Sunlight that will contains the build of sunlight.

  4. Open CMake and specify the source code path (Sunlight folder) and the build binaries path (Sunlight/build).

  5. Click on Configure, Generate then Open Project and you are good to go.

Usage

Directory Hierarchy

Sunlight (repo)
├── datas                     # Datas use for testing
├── docs                      # Documentations (original charts...)
├── src                       # Source code
|    ├── cores                # Core program / Main functionality
|    ├── maths                # Mathematical and geometrical class
|    ├── parsers              # Annual sun position parser
|    ├── utils                # Small utils / helpers (timer, operators override...)
|
├── .gitattributes            # Define Large Files (.gml, .dat...)
├── .gitignore                # Files/folders ignored by Git
├── CMakeLists.txt            # CMake file to create a crossplatform software
├── README.md

License

Distributed under the LGPL-2.1 License. See LICENSE and Libraries Licenses for more information.

Main Contributors

Acknowledgments