C++ graphics library for (geo)spatial visualization.
- core - Core classes (Vector, Matrix, Image) and functionality (math, statistics, constants)
- idx - Spatial data structures (Octree)
- gfx3d - 3D graphics (generic)
- gfx3d_opengl - 3D graphics implementation based on OpenGL
- io_las - LAS/LAZ point cloud IO.
- lasinfo - View LAS/LAZ file info
- lasgrid - Filter LAS/LAZ point cloud with voxel grid filter
- lasviewer - View LAS/LAZ point cloud in 3D
- lasoctree - Create spatial index for viewing a massive point cloud in 3D (Unfinished!)
- lasoctreeviewer - View massive LAS/LAZ point cloud in 3D utilizing a spatial index (Unfinished!)
- spgl - SpatiumGL
- idx - Spatial index
- gfx3d - 3D graphics
- io - File input/output
Clone or download this repository
$ git clone https://github.com/martijnkoopman/SpatiumGL
$ cd SpatiumGL
Create build directory
$ mkdir build
$ cd build
Run CMake
Linux, macOS
$ cmake .. -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=ON -DSPATIUMGL_MODULE_IDX=ON -DSPATIUMGL_MODULE_GFX3D=ON -DSPATIUMGL_MODULE_GFX3D_OPENGL=ON -DSPATIUMGL_MODULE_IO_LAS=ON -DSPATIUMGL_APP_LASINFO=ON -DSPATIUMGL_APP_LASGRID=ON -DSPATIUMGL_APP_LASVIEWER=ON -DSPATIUMGL_APP_LASOCTREEVIEWER=ON
Windows
$ cmake .. -G "Visual Studio 16 2019" -A x64 -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=ON -DSPATIUMGL_MODULE_IDX=ON -DSPATIUMGL_MODULE_GFX3D=ON -DSPATIUMGL_MODULE_GFX3D_OPENGL=ON -DSPATIUMGL_MODULE_IO_LAS=ON -DSPATIUMGL_APP_LASINFO=ON -DSPATIUMGL_APP_LASGRID=ON -DSPATIUMGL_APP_LASVIEWER=ON -DSPATIUMGL_APP_LASOCTREEVIEWER=ON
CMake options
Option | Effect |
---|---|
BUILD_SHARED_LIBS | Build as shared library (versus static) |
BUILD_TESTING | Build unit tests |
SPATIUMGL_MODULE_IDX | Include module idx |
SPATIUMGL_MODULE_GFX3D | Include module gfx3d |
SPATIUMGL_MODULE_GFX3D_OPENGL | Include module gfx3d_opengl |
SPATIUMGL_MODULE_IO_LAS | Include module io_las |
SPATIUMGL_APP_LASINFO | Include app lasinfo |
SPATIUMGL_APP_LASGRID | Include app lasgrid |
SPATIUMGL_APP_LASVIEWER | Include app lasviewer |
DSPATIUMGL_APP_LASOCTREEVIEWER | Include app lasoctree + lasoctreeviewer |
CMAKE_BUILD_TYPE | Build type for library and thirdparty dependencies |
CMAKE_INSTALL_PREFIX | Install directory |
CMakeLists.txt
cmake_minimum_required(VERSION 3.2.0)
project(yourapp)
# Create executable
add_executable(yourapp yourapp.cpp)
# TODO: find_package(SpatiumGL REQUIRED)
# Link dependencies
target_link_libraries(lasviewer PRIVATE spatiumgl)
yourapp.cpp
TODO
This library is licensed under the GNU General Public License 3.0 - see the LICENSE.md file for details.