CGAL Python Bindings

2016/01/12 11:15
阅读数 2.5K

CGAL Python Bindings

WARNING: This project( is no longer maintained. Please try CGAL-bindings that provides similar functionalities.

The goal of the CGAL-Python project is to provide Python bindings for the CGAL library. CGAL is the Computational Geometry Algorithms Library, a C++ library of generic, efficient and robust geometric algorithms.

CGAL-Python is implemented using Boost.Python which allows to mimic a large part of the original C++ interface of CGAL. Since CGAL is heavily based on the  generic programming paradigm (templates), some choices have been made to accomodate the Python programming model instead. Python allows much faster prototyping than C++, by simplifying the complexity of the language and removing the typical long compilation times of C++. We also hope that CGAL-Python can be used for teaching geometric algorithms, without requiring  knowledge of C++ as is currently the case with CGAL.

CGAL-Python is developed at INRIA Sophia Antipolis, by Naceur Meskini. We also strongly encourage users to provide feedback and to contribute to the project.

The current (0.9 release) of CGAL-Python provides the following modules :

  • Triangulations_2:

  • This module corresponds to the Triangulation_2 package of CGAL that allows to build and handle various triangulations for point sets in two dimensions. It contains the following classes:

    • Triangulation_2

    • Delaunay_triangulation_2

    • Delaunay_constrained_triangulation_2

    • Constrained_triangulation_2

    • Constrained_triangulation_plus_2 (only under Unix-like systems)

  • Triangulations_3:
     This module allows to build and handle triangulations for point sets in three dimensions. Currently this module provides two classes:

    • Triangulation_3

    • Delaunay_triangulation_3

  • Alpha_shapes_2:

    • Alpha_shape_2

  • Alpha_shapes_3

    • Alpha_shape_3

  • Polyhedron:

    • Poyhedron_3

  • Convex_hull_2:

    • convex_hull_2

    • ch_akl_toussaint

    • ch_graham_andrew

  • Geometric_Optimisation

    • Min_ellipse_2

    • Min_circle_2

    • Min_sphere_3

    • Min_annulus_2

    • Min_annulus_3

  • Mesh_2:

    • Delaunay_mesher_2

  • Kernel:

    • Point_2(3)

    • Ray_2(3)

    • And many other basic geometric objects.



0 收藏
0 评论
0 收藏