Skip to content

Oslandia/SFCGAL_CI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SFCGAL

GitLab pipeline status GitHub pipeline status Cirrus pipeline status

SFCGAL is a C++ wrapper library around CGAL with the aim of supporting ISO 19107:2019 and OGC Simple Features for 3D operations.

Please refer to the project page for an updated installation procedure.

Packaging status

Community Resources

Build/Install

See the INSTALL page.

Reference Docs

Client Applications

Using the C interface

SFCGAL promises long-term stability of the C API. In general, successive releases of the C API may add new functions but will not remove or change existing types or function signatures. The C library uses the C++ interface, but the C library follows normal ABI-change-sensitive versioning, so programs that link only against the C library should work without relinking when SFCGAL is upgraded. For this reason, it is recommended to use the C API for software that is intended to be dynamically linked to a system install of SFCGAL.

The sfcgal-config program can be used to determine appropriate compiler and linker flags for building against the C library:

CFLAGS += `sfcgal-config --cflags`
LDFLAGS += `sfcgal-config --ldflags --libs`

All functionality of the C API is available through the sfcgal_c.h header file.

Documentation for the C API is provided via comments in the sfcgal_c.h header file. C API usage examples can be found in the SFCGAL unit tests and in the source code of software that uses SFCGAL, such as PostGIS and the PySFCGAL package for Python.

Using other languages

SFCGAL has bindings in many languages, see the bindings page.

Documentation

API documentation can be generated using Doxygen. Documentation is not included in the default build. To build the documentation see the Development page.

Style

To format your code into the desired style, use the clang-format tools.

It can be automatically called with a series of git hooks (thanks to the pre-commit) tool). To install them:

pre-commit install

To commit without the git hooks, add the --no-verify option to the git commit command.

Testing

See documentation in Development page.

Licence

SFCGAL is provided under the following licence LGPL version 2 or later.

⚠️ Note that the main dependency for SFCGAL is the CGAL library, and SFCGAL uses CGAL modules which are licenced as GPLv3+. Whenever you compile and distribute SFCGAL with the GPL-licenced CGAL, the full packaged result is automatically considered as GPL version 3 or later, due to GPL "viral" property. If you link and distribute SFCGAL with another software package, be assured to fully understand the implications and check any legal and technical requirements implied by the licence.