File intersection.h
File List > algorithm > intersection.h
Go to the documentation of this file
// Copyright (c) 2012-2013, IGN France.
// Copyright (c) 2012-2022, Oslandia.
// SPDX-License-Identifier: LGPL-2.0-or-later
#ifndef SFCGAL_INTERSECTION_ALGORITHM
#define SFCGAL_INTERSECTION_ALGORITHM
#include "SFCGAL/config.h"
#include <memory>
namespace SFCGAL {
class Geometry;
namespace detail {
template <int Dim>
class GeometrySet;
template <int Dim>
struct PrimitiveHandle;
} // namespace detail
namespace algorithm {
struct NoValidityCheck;
SFCGAL_API std::unique_ptr<Geometry>
intersection(const Geometry &ga, const Geometry &gb);
SFCGAL_API std::unique_ptr<Geometry>
intersection(const Geometry &ga, const Geometry &gb, NoValidityCheck);
SFCGAL_API std::unique_ptr<Geometry>
intersection3D(const Geometry &ga, const Geometry &gb);
SFCGAL_API std::unique_ptr<Geometry>
intersection3D(const Geometry &ga, const Geometry &gb, NoValidityCheck);
template <int Dim>
void
intersection(const detail::GeometrySet<Dim> &a,
const detail::GeometrySet<Dim> &b, detail::GeometrySet<Dim> &);
template <int Dim>
void
intersection(const detail::PrimitiveHandle<Dim> &a,
const detail::PrimitiveHandle<Dim> &b, detail::GeometrySet<Dim> &);
} // namespace algorithm
} // namespace SFCGAL
#endif