diff --git a/src/capi/sfcgal_c.cpp b/src/capi/sfcgal_c.cpp index 8a6ad2b5..f996895f 100644 --- a/src/capi/sfcgal_c.cpp +++ b/src/capi/sfcgal_c.cpp @@ -8,6 +8,7 @@ #include "SFCGAL/MultiLineString.h" #include "SFCGAL/MultiPoint.h" #include "SFCGAL/MultiPolygon.h" +#include "SFCGAL/MultiSolid.h" #include "SFCGAL/Point.h" #include "SFCGAL/Polygon.h" #include "SFCGAL/PolyhedralSurface.h" @@ -621,6 +622,13 @@ sfcgal_multi_polygon_create() -> sfcgal_geometry_t * return static_cast(new SFCGAL::MultiPolygon());) } +extern "C" auto +sfcgal_multi_solid_create() -> sfcgal_geometry_t * +{ + SFCGAL_GEOMETRY_CONVERT_CATCH_TO_ERROR( + return static_cast(new SFCGAL::MultiSolid());) +} + /** * Polyhedral surface */ diff --git a/src/capi/sfcgal_c.h b/src/capi/sfcgal_c.h index 108cc039..34253ba6 100644 --- a/src/capi/sfcgal_c.h +++ b/src/capi/sfcgal_c.h @@ -499,6 +499,13 @@ sfcgal_multi_linestring_create(); SFCGAL_API sfcgal_geometry_t * sfcgal_multi_polygon_create(); +/** + * Creates an empty MultiSolid + * @ingroup capi + */ +SFCGAL_API sfcgal_geometry_t * +sfcgal_multi_solid_create(); + /** * Creates an empty PolyhedralSurface * @ingroup capi