Git Product home page Git Product logo

sfcgal_ci's Introduction

SFCGAL

GitLab pipeline status GitHub pipeline status Cirrus pipeline status

SFCGAL is a C++ wrapper library around CGAL with the aim of supporting ISO 191007:2013 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 dev 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 dev 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.

sfcgal_ci's People

Contributors

mborne avatar lbartoletti avatar vmora avatar danielcu888 avatar sloriot avatar ptitjano avatar benoitdm-oslandia avatar metux avatar tigerfoot avatar drc1spatial avatar kashif avatar delhomer avatar sebastic avatar vpicavet avatar lrineau avatar robe2 avatar komzpa avatar asnaia avatar giohappy avatar zjanetzek avatar sanak avatar mthh avatar peppsac avatar giggls avatar

Stargazers

Cloud avatar

Watchers

James Cloos avatar  avatar

Forkers

lbartoletti

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.