├── .DS_Store ├── .dockerignore ├── .github └── workflows │ ├── docker-image-build.yml │ ├── docker-image-publish.yml │ └── exe_build.yml ├── .gitignore ├── 3dfier.dockerfile ├── CITATION.cff ├── CMakeLists.txt ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── base.dockerfile ├── docs ├── .gitignore ├── .gitlab-ci.yml ├── 404.md ├── Dockerfile ├── Gemfile ├── Gemfile.lock ├── _config.yml ├── _data │ ├── alerts.yml │ ├── definitions.yml │ ├── glossary.yml │ ├── samplelist.yml │ ├── sidebars │ │ ├── 3dfier_sidebar.yml │ │ ├── home_sidebar.yml │ │ └── other.yml │ ├── strings.yml │ ├── tags.yml │ ├── terms.yml │ └── topnav.yml ├── _includes │ ├── archive.html │ ├── callout.html │ ├── custom │ │ ├── getting_started_series.html │ │ ├── getting_started_series_next.html │ │ ├── series_acme.html │ │ ├── series_acme_next.html │ │ ├── usermap.html │ │ └── usermapcomplex.html │ ├── disqus.html │ ├── feedback.html │ ├── footer.html │ ├── google_analytics.html │ ├── head.html │ ├── head_print.html │ ├── image.html │ ├── imagezoom.html │ ├── important.html │ ├── initialize_shuffle.html │ ├── inline_image.html │ ├── links.html │ ├── note.html │ ├── sidebar.html │ ├── taglogic.html │ ├── tip.html │ ├── toc.html │ ├── topnav.html │ └── warning.html ├── _layouts │ ├── default.html │ ├── default_print.html │ ├── none.html │ ├── page.html │ ├── page_print.html │ └── post.html ├── assets │ └── configs │ │ ├── 3dfier.mtl │ │ ├── extent_blue.obj │ │ ├── extent_blue.yml │ │ ├── extent_green.obj │ │ ├── extent_green.yml │ │ ├── extent_purple.obj │ │ ├── extent_purple.yml │ │ ├── extent_red.obj │ │ ├── extent_red.yml │ │ ├── floor_false.obj │ │ ├── floor_false.yml │ │ ├── floor_true.obj │ │ ├── floor_true.yml │ │ ├── inner_wall_false.obj │ │ ├── inner_wall_false.yml │ │ ├── inner_wall_true.obj │ │ ├── inner_wall_true.yml │ │ ├── innerbuffer_05.obj │ │ ├── innerbuffer_05.yml │ │ ├── innerbuffer_1.obj │ │ ├── innerbuffer_1.yml │ │ ├── innerbuffer_3.obj │ │ ├── innerbuffer_3.yml │ │ ├── lod0.obj │ │ ├── lod0.yml │ │ ├── lod1.obj │ │ ├── lod1.yml │ │ ├── tinsimp_0.obj │ │ ├── tinsimp_0.yml │ │ ├── tinsimp_01.obj │ │ ├── tinsimp_01.yml │ │ ├── tinsimp_05.obj │ │ └── tinsimp_05.yml ├── css │ ├── bootstrap.min.css │ ├── boxshadowproperties.css │ ├── customstyles.css │ ├── font-awesome.min.css │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ └── fontawesome-webfont.woff2 │ ├── imagemodal.css │ ├── modern-business.css │ ├── printstyles.css │ ├── syntax.css │ ├── theme-blue.css │ └── theme-green.css ├── docker-compose.yml ├── feed.xml ├── fonts │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ ├── glyphicons-halflings-regular.woff │ └── glyphicons-halflings-regular.woff2 ├── images │ ├── 3dfierLogo.png │ ├── Delft_3dfier-3.png │ ├── algorithm │ │ ├── 3d_objects_with_holes_filled.png │ │ ├── objects_horizontal_view.png │ │ ├── objects_horizontal_view_lifted.png │ │ ├── objects_horizontal_view_multisurface.png │ │ ├── objects_horizontal_view_solid.png │ │ ├── objects_horizontal_view_stitched.png │ │ ├── objects_horizontal_view_with_points.png │ │ └── objects_overview_color.png │ ├── ams-dof.png │ ├── cmd.png │ ├── delft-ahn3.png │ ├── delft-bgt.png │ ├── delft-meshlab-colors.png │ ├── delft-meshlab.png │ ├── delft-webviewer.png │ ├── example_folder.png │ ├── extrusion.png │ ├── favicon.ico │ ├── flows │ │ ├── 3dfier_classes.png │ │ ├── 3dfier_general_flow.png │ │ ├── 3dfier_reading_points.png │ │ ├── 3dfier_reading_polygons.png │ │ ├── 3dfier_writing_model.png │ │ ├── 3dfier_writing_model_citygml.png │ │ ├── 3dfier_writing_model_cityjson.png │ │ ├── 3dfier_writing_model_csv.png │ │ ├── 3dfier_writing_model_imgeo.png │ │ ├── 3dfier_writing_model_obj.png │ │ ├── legend.png │ │ ├── threedfy.png │ │ ├── threedfy_fix_bowties.png │ │ ├── threedfy_lifting.png │ │ ├── threedfy_stitching.png │ │ └── threedfy_vertical_walls.png │ ├── leiden3dfier.png │ ├── lod0-delft-zoom.png │ ├── lod0-delft.png │ ├── lod1-delft.png │ ├── meshlab-options.png │ ├── settings │ │ ├── extent_blue.png │ │ ├── extent_green.png │ │ ├── extent_purple.png │ │ ├── extent_red.png │ │ ├── extents.png │ │ ├── floor_false.png │ │ ├── floor_true.png │ │ ├── inner_walls_false.png │ │ ├── inner_walls_true.png │ │ ├── innerbuffer_05.png │ │ ├── innerbuffer_1.png │ │ ├── innerbuffer_3.png │ │ ├── lod0.png │ │ ├── lod1.png │ │ ├── radius_vertex_elevation.png │ │ ├── settings_extent.png │ │ ├── settings_floor_false.png │ │ ├── settings_floor_true.png │ │ ├── settings_inner_walls_false.png │ │ ├── settings_inner_walls_true.png │ │ ├── settings_innerbuffer_05.png │ │ ├── settings_innerbuffer_1.png │ │ ├── settings_innerbuffer_3.png │ │ ├── settings_input_polygon_class_lifting_class.png │ │ ├── settings_lod0.png │ │ ├── settings_lod1.png │ │ ├── settings_tinsimp_0.png │ │ ├── settings_tinsimp_01.png │ │ ├── settings_tinsimp_05.png │ │ ├── tinsimp_0.png │ │ ├── tinsimp_01.png │ │ └── tinsimp_05.png │ ├── terrain_simplification_tinsimp.png │ └── tinsimp_error_specification.png ├── index.md ├── js │ ├── customscripts.js │ ├── imagemodal.js │ ├── jekyll-search.js │ ├── jquery.ba-throttle-debounce.min.js │ ├── jquery.navgoco.min.js │ ├── jquery.shuffle.min.js │ └── toc.js ├── licenses │ ├── LICENSE │ └── LICENSE-BSD-NAVGOCO.txt ├── pages │ ├── architecture │ │ ├── main_flow.md │ │ ├── output_flow.md │ │ └── threedfy_flow.md │ ├── examples │ │ ├── lod_buildings.md │ │ ├── minimal_data_requirements.md │ │ └── terrain_simplification.md │ ├── getting-started │ │ ├── file_formats.md │ │ ├── first_run.md │ │ ├── installation.md │ │ ├── useful_scripts.md │ │ ├── visualisation.md │ │ └── what_does_it_do.md │ ├── settings │ │ ├── do_donts.md │ │ ├── input_options.md │ │ ├── lifting_options.md │ │ └── output_options.md │ └── tutorials │ │ ├── building_footprints_from_openstreetmap.md │ │ ├── generate_lod1.md │ │ └── generate_terrain.md ├── pdf-3dfier.sh ├── pdfconfigs │ ├── config_3dfier_pdf.yml │ ├── prince-list.txt │ ├── titlepage.html │ └── tocpage.html ├── search.json ├── sitemap.xml ├── tooltips.html ├── tooltips.json ├── update.sh └── var │ └── build.sh ├── example_data ├── README.md ├── ahn3 │ ├── ahn3_cropped_1.laz │ └── ahn3_cropped_2.laz ├── bgt │ ├── bgt_begroeidterreindeel.sqlite │ ├── bgt_kunstwerkdeel.sqlite │ ├── bgt_onbegroeidterreindeel.sqlite │ ├── bgt_ondersteunendwaterdeel.sqlite │ ├── bgt_ondersteunendwegdeel.sqlite │ ├── bgt_overbruggingsdeel.sqlite │ ├── bgt_overigbouwwerk.sqlite │ ├── bgt_pand.sqlite │ ├── bgt_scheiding.sqlite │ ├── bgt_tunneldeel.sqlite │ ├── bgt_waterdeel.sqlite │ ├── bgt_wegdeel.sqlite │ └── qgis_project.qgs ├── output │ ├── 3dfier.mtl │ ├── testarea.json │ ├── testarea.obj │ └── testarea.png └── testarea_config.yml ├── paper ├── extrusion.png ├── paper.bib ├── paper.md ├── results.png └── steps.pdf ├── resources ├── 3dfier.mtl ├── 3dfier2sim │ ├── 3dfier2sim.cpp │ ├── CMakeLists.txt │ └── README.md ├── BGT_prepare │ ├── BGT_conversion.bat │ ├── BGT_conversion_full_gpkg.bat │ ├── BGT_gfs_files │ │ ├── bgt_begroeidterreindeel.gfs │ │ ├── bgt_kunstwerkdeel.gfs │ │ ├── bgt_onbegroeidterreindeel.gfs │ │ ├── bgt_ondersteunendwaterdeel.gfs │ │ ├── bgt_ondersteunendwegdeel.gfs │ │ ├── bgt_overbruggingsdeel.gfs │ │ ├── bgt_overigbouwwerk.gfs │ │ ├── bgt_pand.gfs │ │ ├── bgt_scheiding.gfs │ │ ├── bgt_tunneldeel.gfs │ │ ├── bgt_waterdeel.gfs │ │ └── bgt_wegdeel.gfs │ └── ReadMe.md ├── Example_data │ └── BGT_Delft_Example.zip ├── build_ubuntu │ ├── build_3dfier.sh │ ├── build_cgal.sh │ └── build_deps.sh ├── config_files │ ├── myconfig.yml │ ├── myconfig_DEFAULTS.yml │ └── myconfig_README.yml ├── create_vegetation_off.py ├── flowdiagrams │ ├── 3dfier_classes.drawio │ ├── 3dfier_general_flow.drawio │ ├── 3dfier_reading_points.drawio │ ├── 3dfier_reading_polygons.drawio │ ├── 3dfier_writing_model.drawio │ ├── 3dfier_writing_model_citygml.drawio │ ├── 3dfier_writing_model_cityjson.drawio │ ├── 3dfier_writing_model_csv.drawio │ ├── 3dfier_writing_model_imgeo.drawio │ ├── 3dfier_writing_model_obj.drawio │ ├── Threedfy.drawio │ ├── convert_flow_diagrams.bat │ ├── legend.drawio │ ├── threedfy_fix_bowties.drawio │ ├── threedfy_lifting.drawio │ ├── threedfy_stitching.drawio │ └── threedfy_vertical_walls.drawio ├── obj2off.py ├── splitobj │ ├── cleanvertices.mlx │ └── splitobj.py ├── splitobj_cpp │ ├── build.sh │ └── main.cpp └── translate2min-obj.py ├── src ├── Bridge.cpp ├── Bridge.h ├── Building.cpp ├── Building.h ├── Forest.cpp ├── Forest.h ├── Map3d.cpp ├── Map3d.h ├── Road.cpp ├── Road.h ├── Separation.cpp ├── Separation.h ├── Terrain.cpp ├── Terrain.h ├── TopoFeature.cpp ├── TopoFeature.h ├── Water.cpp ├── Water.h ├── definitions.h ├── geomtools.cpp ├── geomtools.h ├── io.cpp ├── io.h └── main.cpp ├── strip-docker-image-export ├── thirdparty ├── givensQR.hpp ├── matrix.hpp ├── nlohmann-json │ └── json.hpp └── polyfit.hpp ├── uid_entrypoint.sh ├── vcpkg.json └── vs_build ├── 3dfier.sln ├── 3dfier.vcxproj └── 3dfier.vcxproj.filters /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tudelft3d/3dfier/238782d14e4cac442275fc72256e01c4f3f9a623/.DS_Store -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | build 2 | cmake-build-debug-docker 3 | dist 4 | .coverage 5 | .git 6 | docs 7 | example_data 8 | vs_build 9 | .run 10 | .settings 11 | .vagrant 12 | flatroof 13 | paper 14 | resources 15 | vs_build -------------------------------------------------------------------------------- /.github/workflows/docker-image-build.yml: -------------------------------------------------------------------------------- 1 | name: Docker Image CI 2 | 3 | on: 4 | push: 5 | branches: [ master, development ] 6 | pull_request: 7 | branches: [ master, development ] 8 | 9 | jobs: 10 | 11 | build: 12 | 13 | runs-on: ubuntu-latest 14 | 15 | steps: 16 | - uses: actions/checkout@v2 17 | - name: Build the Docker image 18 | run: docker build . --file 3dfier.dockerfile --tag tudelft3d/3dfier:latest -------------------------------------------------------------------------------- /.github/workflows/docker-image-publish.yml: -------------------------------------------------------------------------------- 1 | name: Publish Docker image 2 | 3 | on: 4 | release: 5 | types: [ published ] 6 | 7 | jobs: 8 | push_to_registry: 9 | name: Push Docker image to Docker Hub 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Check out the repo 13 | uses: actions/checkout@v2 14 | 15 | - name: Log in to Docker Hub 16 | uses: docker/login-action@v1 17 | with: 18 | username: ${{ secrets.DOCKER_USERNAME }} 19 | password: ${{ secrets.DOCKER_PASSWORD }} 20 | 21 | - name: Extract metadata (tags, labels) for Docker 22 | id: meta 23 | uses: docker/metadata-action@v3 24 | with: 25 | images: tudelft3d/3dfier 26 | 27 | - name: Build and push Docker image 28 | uses: docker/build-push-action@v2 29 | with: 30 | file: 3dfier.dockerfile 31 | context: . 32 | push: true 33 | tags: ${{ steps.meta.outputs.tags }} 34 | labels: ${{ steps.meta.outputs.labels }} -------------------------------------------------------------------------------- /.github/workflows/exe_build.yml: -------------------------------------------------------------------------------- 1 | # This is a basic workflow to help you get started with Actions 2 | 3 | name: CI 4 | 5 | # Controls when the action will run. Triggers the workflow on push or pull request 6 | # events but only for the master branch 7 | on: 8 | push: 9 | branches: [ master, development ] 10 | 11 | # A workflow run is made up of one or more jobs that can run sequentially or in parallel 12 | jobs: 13 | Windows-build: 14 | name: Build Windows 15 | runs-on: windows-latest 16 | env: 17 | VCPKG_DEFAULT_TRIPLET: x64-windows 18 | VCPKG_INSTALLATION_ROOT: C:\vcpkg 19 | VCPKG_FEATURE_FLAGS: manifests 20 | steps: 21 | - uses: actions/checkout@v2 22 | - name: Build 23 | run: | 24 | vcpkg install 25 | mkdir Release 26 | cd Release 27 | cmake .. -DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_INSTALLATION_ROOT\scripts\buildsystems\vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=x64-windows -DCMAKE_INSTALL_PREFIX=C:\Software -DCMAKE_PREFIX_PATH=Release\vcpkg_installed\x64-windows\share\lastools 28 | cmake --build . --parallel 4 --config Release 29 | - name: Package binary files 30 | run: | 31 | cd Release 32 | 7z a 3dfier-win64.zip .\Release\* 33 | - name: Upload binary files as artifact 34 | uses: actions/upload-artifact@master 35 | with: 36 | name: 3dfier-win64 37 | path: Release/3dfier-win64.zip 38 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files 2 | *.slo 3 | *.lo 4 | *.o 5 | 6 | # Precompiled Headers 7 | *.gch 8 | *.pch 9 | 10 | # Compiled Dynamic libraries 11 | *.so 12 | *.dylib 13 | *.dll 14 | 15 | # Fortran module files 16 | *.mod 17 | 18 | # Compiled Static libraries 19 | *.lai 20 | *.la 21 | *.a 22 | *.lib 23 | 24 | # Executables 25 | *.exe 26 | *.out 27 | *.app 28 | 3dfier 29 | cmake_install.cmake 30 | CMakeCache.txt 31 | CMakeFiles 32 | Makefile 33 | boo.xcodeproj 34 | 35 | # Visual studio files 36 | vs_build/.vs 37 | *.VC.opendb 38 | *.VC.db 39 | *.exe 40 | *.ilk 41 | *.pdb 42 | *.vcxproj.user 43 | *.lib 44 | 45 | # Visual studio code files 46 | /.vscode/ 47 | 48 | # Folders 49 | x64 50 | x86 51 | vendor 52 | _site 53 | .sass-cache 54 | /resources/convert-to-simulation/simulatorready 55 | /resources/convert-to-simulation/out.off 56 | /resources/convert-to-simulation/bin/ 57 | /ressources/convert-to-simulation/simulatorready 58 | /resources/3dfier2sim/build 59 | /ressources/convert-to-simulation/bin/ 60 | /example_data/o.json 61 | /buildxcode 62 | 63 | # CLion files 64 | .idea 65 | cmake-build-debug-docker -------------------------------------------------------------------------------- /3dfier.dockerfile: -------------------------------------------------------------------------------- 1 | FROM tudelft3d/3dfier:base AS builder 2 | 3 | ARG JOBS 4 | 5 | # 6 | # 13 Install 3dfier 7 | # 8 | COPY . /tmp 9 | RUN cd /tmp && \ 10 | mkdir build && \ 11 | cd build && \ 12 | cmake \ 13 | -DCGAL_DIR=/usr/local \ 14 | -DCMAKE_BUILD_TYPE=Release \ 15 | -DBoost_NO_BOOST_CMAKE=TRUE \ 16 | -DBoost_NO_SYSTEM_PATHS=TRUE \ 17 | -DBOOST_ROOT=/usr/local \ 18 | .. && \ 19 | make -j $JOBS && \ 20 | make install && \ 21 | cd ~ && \ 22 | apk del .3dfier-deps && \ 23 | rm -rf /tmp/* && \ 24 | rm -rf /user/local/man 25 | 26 | RUN 3dfier --version 27 | 28 | # removing unnecessary headers 29 | RUN rm -rf /usr/local/include 30 | 31 | RUN mkdir /data && \ 32 | chown 1001 /data && \ 33 | chgrp 0 /data && \ 34 | chmod g=u /data && \ 35 | chgrp 0 /etc/passwd && \ 36 | chmod g=u /etc/passwd 37 | 38 | # 39 | # Export the dependencies 40 | # 41 | RUN mkdir /export 42 | COPY strip-docker-image-export /tmp 43 | RUN bash /tmp/strip-docker-image-export \ 44 | -v \ 45 | -d /export \ 46 | -f /bin/bash \ 47 | -f /usr/bin/awk \ 48 | -f /usr/bin/id \ 49 | -f /etc/passwd \ 50 | -f /bin/ls \ 51 | -f /data \ 52 | -f /usr/local/share/proj/proj.db \ 53 | -f /usr/local/bin/3dfier 54 | 55 | 56 | FROM scratch AS exe 57 | LABEL org.opencontainers.image.authors="Balázs Dukai " 58 | LABEL org.opencontainers.image.source="https://github.com/tudelft3d/3dfier" 59 | LABEL org.opencontainers.image.vendor="3DGI" 60 | LABEL org.opencontainers.image.title="3dfier" 61 | LABEL org.opencontainers.image.description="The open-source tool for creating 3D models" 62 | LABEL org.opencontainers.image.licenses="GPL-3.0" 63 | LABEL org.opencontainers.image.url="http://tudelft3d.github.io/3dfier" 64 | 65 | COPY --from=builder /export/ / 66 | COPY --chown=1001:0 uid_entrypoint.sh /usr/local/bin/ 67 | 68 | USER 1001 69 | 70 | WORKDIR /data 71 | 72 | ENTRYPOINT ["/usr/local/bin/uid_entrypoint.sh"] 73 | 74 | CMD ["3dfier"] -------------------------------------------------------------------------------- /CITATION.cff: -------------------------------------------------------------------------------- 1 | # YAML 1.2 2 | --- 3 | authors: 4 | - 5 | affiliation: "Delft University of Technology, the Netherlands" 6 | family-names: Ledoux 7 | given-names: Hugo 8 | orcid: "https://orcid.org/0000-0002-1251-8654" 9 | - 10 | affiliation: "National University of Singapore, Singapore" 11 | family-names: Biljecki 12 | given-names: Filip 13 | orcid: "https://orcid.org/0000-0002-6229-7749" 14 | - 15 | affiliation: "Delft University of Technology, the Netherlands" 16 | family-names: Dukai 17 | given-names: "Balázs" 18 | orcid: "https://orcid.org/0000-0003-0193-5863" 19 | - 20 | affiliation: "Delft University of Technology, the Netherlands" 21 | family-names: Kumar 22 | given-names: Kavisha 23 | - 24 | affiliation: "Delft University of Technology, the Netherlands" 25 | family-names: Peters 26 | given-names: Ravi 27 | - 28 | affiliation: "Delft University of Technology, the Netherlands" 29 | family-names: Stoter 30 | given-names: Jantien 31 | - 32 | affiliation: "Delft University of Technology, the Netherlands" 33 | family-names: Commandeur 34 | given-names: Tom 35 | cff-version: "1.1.0" 36 | date-released: 2021-01-26 37 | doi: "10.21105/joss.02866" 38 | message: "If you use this software, please cite it using these metadata." 39 | repository-code: "https://github.com/tudelft3d/3dfier" 40 | title: "3dfier: automatic reconstruction of 3D city models" 41 | ... -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5) 2 | project( 3dfier ) 3 | 4 | set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/Modules/" ${CMAKE_MODULE_PATH}) 5 | 6 | set( CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true ) 7 | 8 | set( CMAKE_CXX_FLAGS "-O2" ) 9 | set( CMAKE_BUILD_TYPE "Release" ) 10 | 11 | if ( COMMAND cmake_policy ) 12 | cmake_policy( SET CMP0003 NEW ) 13 | endif() 14 | 15 | # Boost 16 | find_package( Boost REQUIRED locale chrono system filesystem program_options ) 17 | 18 | # GDAL 19 | find_package( GDAL REQUIRED ) 20 | 21 | # LASLIB 22 | find_package( LASlib REQUIRED ) 23 | 24 | # YamlCpp 25 | find_package( yaml-cpp REQUIRED ) 26 | 27 | # CGAL 28 | find_package( CGAL REQUIRED QUIET COMPONENTS ) 29 | 30 | # include helper file 31 | include( ${CGAL_USE_FILE} ) 32 | 33 | if(MSVC) 34 | add_definitions(-DNOMINMAX) 35 | add_definitions("/EHsc") 36 | endif() 37 | 38 | include_directories( ${CMAKE_SOURCE_DIR}/thirdparty ) 39 | 40 | include_directories( ${CGAL_INCLUDE_DIR} ${CGAL_3RD_PARTY_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} ${YAML_CPP_INCLUDE_DIR} ${GDAL_INCLUDE_DIR}) 41 | 42 | # # build ptinpoly as static lib 43 | # add_library(ptinpoly STATIC thirdparty/ptinpoly.c) 44 | # set_target_properties( 45 | # ptinpoly 46 | # PROPERTIES C_STANDARD 11 47 | # ) 48 | 49 | # Creating entries for target: 3dfier 50 | FILE(GLOB SRC_FILES src/*.cpp) 51 | add_executable(3dfier ${SRC_FILES}) 52 | set_target_properties( 53 | 3dfier 54 | PROPERTIES CXX_STANDARD 11 55 | ) 56 | 57 | target_link_libraries( 3dfier ${CGAL_LIBRARIES} ${CGAL_3RD_PARTY_LIBRARIES} ${GDAL_LIBRARY} yaml-cpp Boost::program_options Boost::filesystem Boost::locale Boost::chrono LASlib) 58 | 59 | install(TARGETS 3dfier DESTINATION bin) 60 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | + The GitHub Issues section is the primary communication channel, please post issues, questions, feature requests there. 4 | 5 | + The repository follows the [Gitflow branching model](http://nvie.com/posts/a-successful-git-branching-model/). 6 | 7 | + To contribute **documentation** consider extending, fixing or adjusting the `/docs` and submit a pull request. 8 | 9 | + To contribute **code**, please submit a pull request. 10 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | _site/ 2 | .sass-cache/ 3 | .jekyll-metadata 4 | _pdf 5 | .DS_Store 6 | .idea 7 | vendor/ 8 | .bundle/ 9 | -------------------------------------------------------------------------------- /docs/.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | image: ruby:2.3 2 | 3 | variables: 4 | JEKYLL_ENV: production 5 | 6 | test: 7 | stage: test 8 | script: 9 | - sh ./var/build.sh 10 | - bundle exec jekyll build -d test 11 | artifacts: 12 | paths: 13 | - test 14 | except: 15 | - master 16 | 17 | pages: 18 | stage: deploy 19 | script: 20 | - sh ./var/build.sh 21 | - bundle exec jekyll build -d public 22 | artifacts: 23 | paths: 24 | - public 25 | only: 26 | - master 27 | -------------------------------------------------------------------------------- /docs/404.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Page Not Found" 3 | search: exclude 4 | --- 5 | 6 | Sorry, but the page you were trying to view does not exist. Try searching for it or looking at the URL to see if it looks correct. 7 | -------------------------------------------------------------------------------- /docs/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM jekyll/builder 2 | 3 | WORKDIR /tmp 4 | ADD Gemfile /tmp/ 5 | ADD Gemfile.lock /tmp/ 6 | RUN bundle install 7 | 8 | FROM jekyll/jekyll 9 | 10 | VOLUME /src 11 | EXPOSE 4000 12 | 13 | WORKDIR /src 14 | ENTRYPOINT ["jekyll", "serve", "--livereload", "-H", "0.0.0.0"] 15 | -------------------------------------------------------------------------------- /docs/Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | # to publish on github page 4 | gem 'github-pages', group: :jekyll_plugins 5 | 6 | # to publich without github page 7 | #gem "jekyll" 8 | -------------------------------------------------------------------------------- /docs/_data/alerts.yml: -------------------------------------------------------------------------------- 1 | tip: '