17#include <geos/export.h>
31namespace geos::operation::split {
33class GEOS_DLL SplitLinealAtPoint {
47 static std::pair<std::unique_ptr<geom::SimpleCurve>, std::unique_ptr<geom::SimpleCurve>>
48 splitSimpleCurveAtVertex(
const geom::SimpleCurve& sc, std::size_t i);
57 static std::pair<std::unique_ptr<geom::SimpleCurve>, std::unique_ptr<geom::SimpleCurve>>
58 splitSimpleCurveAtPoint(
const geom::SimpleCurve &sc, std::size_t i,
const geom::CoordinateXY &pt);
68 static std::pair<std::unique_ptr<geom::Curve>, std::unique_ptr<geom::Curve>>
69 splitCompoundCurveAtPoint(
const geom::CompoundCurve &sc, std::size_t i, std::size_t j,
const geom::CoordinateXY &pt);
72 static std::pair<std::unique_ptr<geom::CircularString>, std::unique_ptr<geom::CircularString>>
73 splitCircularStringAtPoint(
const geom::CircularString &ls, std::size_t i,
const geom::CoordinateXY &pt);
77 static std::pair<std::unique_ptr<geom::CircularString>, std::unique_ptr<geom::CircularString>>
78 splitCircularStringAtVertex(
const geom::CircularString &cs, std::size_t i);
81 static std::pair<std::unique_ptr<geom::LineString>, std::unique_ptr<geom::LineString>>
82 splitLineStringAtPoint(
const geom::LineString &ls, std::size_t i,
const geom::CoordinateXY &pt);
85 static std::pair<std::unique_ptr<geom::LineString>, std::unique_ptr<geom::LineString>>
86 splitLineStringAtVertex(
const geom::LineString &ls, std::size_t i);