# Generated by using Rcpp::compileAttributes() -> do not edit by hand
# Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393

CPL_geodetic_area <- function(sfc, semi_major, inv_flattening) {
    .Call('_lwgeom_CPL_geodetic_area', PACKAGE = 'lwgeom', sfc, semi_major, inv_flattening)
}

CPL_geodetic_length <- function(sfc, semi_major, inv_flattening) {
    .Call('_lwgeom_CPL_geodetic_length', PACKAGE = 'lwgeom', sfc, semi_major, inv_flattening)
}

CPL_geodetic_azimuth <- function(sfc, semi_major, inv_flattening, sfc2_ = NULL) {
    .Call('_lwgeom_CPL_geodetic_azimuth', PACKAGE = 'lwgeom', sfc, semi_major, inv_flattening, sfc2_)
}

CPL_geodetic_segmentize <- function(sfc, max_seg_length) {
    .Call('_lwgeom_CPL_geodetic_segmentize', PACKAGE = 'lwgeom', sfc, max_seg_length)
}

CPL_geodetic_covers <- function(sfc1, sfc2) {
    .Call('_lwgeom_CPL_geodetic_covers', PACKAGE = 'lwgeom', sfc1, sfc2)
}

CPL_geodetic_distance <- function(sfc1, sfc2, semi_major, inv_flattening, tolerance, sparse, semi_minor = -1.0) {
    .Call('_lwgeom_CPL_geodetic_distance', PACKAGE = 'lwgeom', sfc1, sfc2, semi_major, inv_flattening, tolerance, sparse, semi_minor)
}

CPL_geos_version <- function(b = FALSE) {
    .Call('_lwgeom_CPL_geos_version', PACKAGE = 'lwgeom', b)
}

CPL_init_lwgeom <- function(l) {
    .Call('_lwgeom_CPL_init_lwgeom', PACKAGE = 'lwgeom', l)
}

CPL_lwgeom_version <- function(b = FALSE) {
    .Call('_lwgeom_CPL_lwgeom_version', PACKAGE = 'lwgeom', b)
}

CPL_sfc_from_twkb <- function(twkb) {
    .Call('_lwgeom_CPL_sfc_from_twkb', PACKAGE = 'lwgeom', twkb)
}

CPL_make_valid <- function(sfc) {
    .Call('_lwgeom_CPL_make_valid', PACKAGE = 'lwgeom', sfc)
}

CPL_split <- function(sfc, blade) {
    .Call('_lwgeom_CPL_split', PACKAGE = 'lwgeom', sfc, blade)
}

CPL_wrap_x <- function(sfc, wrap, move) {
    .Call('_lwgeom_CPL_wrap_x', PACKAGE = 'lwgeom', sfc, wrap, move)
}

CPL_geohash <- function(sfc, prec) {
    .Call('_lwgeom_CPL_geohash', PACKAGE = 'lwgeom', sfc, prec)
}

CPL_bbox_from_geohash <- function(h, prec) {
    .Call('_lwgeom_CPL_bbox_from_geohash', PACKAGE = 'lwgeom', h, prec)
}

CPL_lwgeom_transform <- function(sfc, p4s) {
    .Call('_lwgeom_CPL_lwgeom_transform', PACKAGE = 'lwgeom', sfc, p4s)
}

CPL_minimum_bounding_circle <- function(sfc) {
    .Call('_lwgeom_CPL_minimum_bounding_circle', PACKAGE = 'lwgeom', sfc)
}

CPL_subdivide <- function(sfc, max_vertices = 256L) {
    .Call('_lwgeom_CPL_subdivide', PACKAGE = 'lwgeom', sfc, max_vertices)
}

CPL_snap_to_grid <- function(sfc, origin, size) {
    .Call('_lwgeom_CPL_snap_to_grid', PACKAGE = 'lwgeom', sfc, origin, size)
}

CPL_perimeter <- function(sfc, do2d = FALSE) {
    .Call('_lwgeom_CPL_perimeter', PACKAGE = 'lwgeom', sfc, do2d)
}

CPL_is_polygon_cw <- function(sfc) {
    .Call('_lwgeom_CPL_is_polygon_cw', PACKAGE = 'lwgeom', sfc)
}

CPL_force_polygon_cw <- function(sfc) {
    .Call('_lwgeom_CPL_force_polygon_cw', PACKAGE = 'lwgeom', sfc)
}

CPL_startpoint <- function(sfc) {
    .Call('_lwgeom_CPL_startpoint', PACKAGE = 'lwgeom', sfc)
}

CPL_endpoint <- function(sfc) {
    .Call('_lwgeom_CPL_endpoint', PACKAGE = 'lwgeom', sfc)
}

CPL_sfc_to_wkt <- function(sfc, precision) {
    .Call('_lwgeom_CPL_sfc_to_wkt', PACKAGE = 'lwgeom', sfc, precision)
}

CPL_proj_version <- function(b = FALSE) {
    .Call('_lwgeom_CPL_proj_version', PACKAGE = 'lwgeom', b)
}

CPL_use_proj4_init_rules <- function(v) {
    .Call('_lwgeom_CPL_use_proj4_init_rules', PACKAGE = 'lwgeom', v)
}

CPL_set_data_dir <- function(data_dir) {
    .Call('_lwgeom_CPL_set_data_dir', PACKAGE = 'lwgeom', data_dir)
}

CPL_linesubstring <- function(sfc, from, to, tolerance = 0.0) {
    .Call('_lwgeom_CPL_linesubstring', PACKAGE = 'lwgeom', sfc, from, to, tolerance)
}

