SFCGAL
|
Classes | |
class | SFCGAL::algorithm::BoundaryVisitor |
Compute the boundary for a Geometry. More... | |
class | SFCGAL::algorithm::SurfaceGraph |
Represents a polyhedral surface as a graph where faces are nodes and egde are graph edges. More... | |
class | SFCGAL::algorithm::ConsistentOrientationBuilder |
Make orientation consistent in a triangle set. More... | |
Functions | |
auto | SFCGAL::algorithm::area (const Geometry &g, NoValidityCheck) |
Compute the 2D area for a Geometry. More... | |
auto | SFCGAL::algorithm::signedArea (const Triangle &g) |
Compute the 2D signed area for a Triangle. More... | |
auto | SFCGAL::algorithm::signedArea (const LineString &g) |
Compute the 2D signed area for a closed LineString. More... | |
auto | SFCGAL::algorithm::area (const Triangle &g) |
Returns Compute the 2D area for a Triangle. More... | |
auto | SFCGAL::algorithm::area (const Polygon &g) |
Returns Compute the 2D area for a Polygon. More... | |
auto | SFCGAL::algorithm::area (const GeometryCollection &g) |
Returns the 2D area for a GeometryCollection. More... | |
auto | SFCGAL::algorithm::area (const TriangulatedSurface &g) |
Returns the 2D area for a TriangulatedSurface. More... | |
auto | SFCGAL::algorithm::area (const PolyhedralSurface &g) |
Returns the 2D area for a TriangulatedSurface. More... | |
auto | SFCGAL::algorithm::area3D (const Geometry &g, NoValidityCheck) |
Returns 3D area for a Geometry. More... | |
auto | SFCGAL::algorithm::area3D (const Polygon &g) |
Returns 3D area for a Polygon. More... | |
auto | SFCGAL::algorithm::area3D (const GeometryCollection &g) |
Returns the 3D area for a MultiPolygon. More... | |
auto | SFCGAL::algorithm::area3D (const PolyhedralSurface &g) |
Returns the 3D area for a PolyhedralSurface. More... | |
auto | SFCGAL::algorithm::area3D (const Triangle &g) |
Returns the 3D area for a Triangle. More... | |
auto | SFCGAL::algorithm::area3D (const TriangulatedSurface &g) |
Returns the 3D area for a TriangulatedSurface. More... | |
auto | SFCGAL::algorithm::collect (const Geometry &ga, const Geometry &gb) |
Returns an aggregate of ga and gb. More... | |
template<typename GeometryIterator > | |
std::unique_ptr< Geometry > | SFCGAL::algorithm::collect (GeometryIterator begin, GeometryIterator end) |
Returns an aggregate of a list of geometries. More... | |
auto | SFCGAL::algorithm::collectionHomogenize (std::unique_ptr< Geometry > coll) |
Given a geometry collection, returns the "simplest" representation of the contents. More... | |
auto | SFCGAL::algorithm::isConnected (const SurfaceGraph &graph) |
test if a surface is connected, the graph should be build beforehand More... | |
auto | SFCGAL::algorithm::isClosed (const SurfaceGraph &graph) |
test if a surface is closed, the graph should be build beforehand More... | |
auto | SFCGAL::algorithm::covers (const Geometry &ga, const Geometry &gb) |
Cover test on 2D geometries. More... | |
template<int Dim> | |
bool | SFCGAL::algorithm::covers (const detail::GeometrySet< Dim > &a, const detail::GeometrySet< Dim > &b) |
@ More... | |
template<int Dim> | |
bool | SFCGAL::algorithm::covers (const detail::PrimitiveHandle< Dim > &a, const detail::PrimitiveHandle< Dim > &b) |
@ More... | |
auto | SFCGAL::algorithm::difference (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
Diffrence on 2D geometries. More... | |
auto | SFCGAL::algorithm::difference3D (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
Difference on 3D geometries. More... | |
template<int Dim> | |
void | SFCGAL::algorithm::difference (const detail::GeometrySet< Dim > &a, const detail::GeometrySet< Dim > &b, detail::GeometrySet< Dim > &) |
auto | SFCGAL::algorithm::distance (const Geometry &gA, const Geometry &gB, NoValidityCheck) |
Compute the distance between two Geometries. More... | |
auto | SFCGAL::algorithm::distancePointGeometry (const Point &gA, const Geometry &gB) |
dispatch distance from Point to Geometry More... | |
auto | SFCGAL::algorithm::distancePointPoint (const Point &gA, const Point &gB) |
distance between two Points More... | |
auto | SFCGAL::algorithm::distancePointLineString (const Point &gA, const LineString &gB) |
distance between a Point and a LineString More... | |
auto | SFCGAL::algorithm::distancePointPolygon (const Point &gA, const Polygon &gB) |
distance between a Point and a Polygon More... | |
auto | SFCGAL::algorithm::distancePointTriangle (const Point &gA, const Triangle &gB) |
distance between a Point and a Triangle More... | |
auto | SFCGAL::algorithm::distanceLineStringGeometry (const LineString &gA, const Geometry &gB) |
dispatch distance from LineString to Geometry More... | |
auto | SFCGAL::algorithm::distanceLineStringLineString (const LineString &gA, const LineString &gB) |
distance between two LineStrings More... | |
auto | SFCGAL::algorithm::distanceLineStringPolygon (const LineString &gA, const Polygon &gB) |
distance between a LineString and a Polygon More... | |
auto | SFCGAL::algorithm::distanceLineStringTriangle (const LineString &gA, const Triangle &gB) |
distance between a LineString and a Triangle More... | |
auto | SFCGAL::algorithm::distancePolygonGeometry (const Polygon &gA, const Geometry &gB) |
dispatch distance from Polygon to Geometry More... | |
auto | SFCGAL::algorithm::distancePolygonPolygon (const Polygon &gA, const Polygon &gB) |
distance between two Polygons More... | |
auto | SFCGAL::algorithm::distancePolygonTriangle (const Polygon &gA, const Triangle &gB) |
distance between a Polygon and a Triangle More... | |
auto | SFCGAL::algorithm::distanceTriangleGeometry (const Triangle &gA, const Geometry &gB) |
dispatch distance from a Triangle to a Geometry More... | |
auto | SFCGAL::algorithm::distanceGeometryCollectionToGeometry (const Geometry &gA, const Geometry &gB) |
dispatch distance from a collection of geometry (gA) to a Geometry (gB) More... | |
auto | SFCGAL::algorithm::distancePointSegment (const Point &p, const Point &a, const Point &b) |
auto | SFCGAL::algorithm::distanceSegmentSegment (const Point &a, const Point &b, const Point &c, const Point &d) |
auto | SFCGAL::algorithm::distance3D (const Geometry &gA, const Geometry &gB, NoValidityCheck) |
Compute distance between two 3D Geometries. More... | |
auto | SFCGAL::algorithm::distancePointGeometry3D (const Point &gA, const Geometry &gB) |
dispatch distance from Point to Geometry More... | |
auto | SFCGAL::algorithm::distancePointPoint3D (const Point &gA, const Point &gB) |
distance between two Points More... | |
auto | SFCGAL::algorithm::distancePointLineString3D (const Point &gA, const LineString &gB) |
distance between a Point and a LineString More... | |
auto | SFCGAL::algorithm::distancePointTriangle3D (const Point &gA, const Triangle &gB) |
distance between a Point and a Triangle More... | |
auto | SFCGAL::algorithm::distancePointPolygon3D (const Point &gA, const Polygon &gB) |
distance between a Point and a Triangle More... | |
auto | SFCGAL::algorithm::distancePointSolid3D (const Point &gA, const Solid &gB) |
distance between a Point and a Solid More... | |
auto | SFCGAL::algorithm::distanceLineStringGeometry3D (const LineString &gA, const Geometry &gB) |
dispatch distance between a LineString and a Geometry More... | |
auto | SFCGAL::algorithm::distanceLineStringLineString3D (const LineString &gA, const LineString &gB) |
distance between two LineStrings More... | |
auto | SFCGAL::algorithm::distanceLineStringTriangle3D (const LineString &gA, const Triangle &gB) |
distance between a LineString and a Triangle More... | |
auto | SFCGAL::algorithm::distanceLineStringPolygon3D (const LineString &gA, const Polygon &gB) |
distance between a LineString and a Polygon More... | |
auto | SFCGAL::algorithm::distanceLineStringSolid3D (const LineString &gA, const Solid &gB) |
distance between a LineString and a Solid More... | |
auto | SFCGAL::algorithm::distanceTriangleGeometry3D (const Triangle &gA, const Geometry &gB) |
dispatch distance between a Triangle and a Geometry More... | |
auto | SFCGAL::algorithm::distanceTriangleSolid3D (const Triangle &gA, const Solid &gB) |
distance between a Triangle and a Solid More... | |
auto | SFCGAL::algorithm::distancePolygonGeometry3D (const Polygon &gA, const Geometry &gB) |
dispatch distance between a Polygon and a Geometry More... | |
auto | SFCGAL::algorithm::distanceSolidGeometry3D (const Solid &gA, const Geometry &gB) |
dispatch distance between a Solid and a Geometry More... | |
auto | SFCGAL::algorithm::distanceSolidSolid3D (const Solid &gA, const Solid &gB) |
distance between two Solids More... | |
auto | SFCGAL::algorithm::distanceGeometryCollectionToGeometry3D (const Geometry &gA, const Geometry &gB) |
dispatch distance from a collection of geometry (gA) to a Geometry (gB) More... | |
auto | SFCGAL::algorithm::distancePointSegment3D (const Point &p, const Point &a, const Point &b) |
auto | SFCGAL::algorithm::distancePointTriangle3D (const Point &p, const Point &a, const Point &b, const Point &c) |
auto | SFCGAL::algorithm::distanceSegmentSegment3D (const Point &a, const Point &b, const Point &c, const Point &d) |
auto | SFCGAL::algorithm::distanceSegmentTriangle3D (const Point &sA, const Point &sB, const Point &tA, const Point &tB, const Point &tC) |
auto | SFCGAL::algorithm::distanceTriangleTriangle3D (const Triangle &gA, const Triangle &gB) |
distance between two Triangles More... | |
SFCGAL_API std::unique_ptr< Geometry > | SFCGAL::algorithm::extrude (const Geometry &g, Kernel::FT &dx, Kernel::FT &dy, Kernel::FT &dz, NoValidityCheck &nvc) |
Returns a Geometry equal to the specified Geometry, extruded by the specified displacement. More... | |
SFCGAL_API auto | SFCGAL::algorithm::extrude (const Geometry &g, const double &dx, const double &dy, const double &dz) |
Returns a Geometry equal to the specified Geometry, extruded by the specified displacement. More... | |
auto | SFCGAL::algorithm::extrude (const Geometry &g, const Kernel::Vector_3 &v) |
Returns a Geometry equal to the specified Geometry, extruded by the specified displacement vector. More... | |
auto | SFCGAL::algorithm::intersection (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
Intersection on 2D geometries. More... | |
auto | SFCGAL::algorithm::intersection3D (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
Intersection on 3D geometries. More... | |
template<int Dim> | |
void | SFCGAL::algorithm::intersection (const detail::GeometrySet< Dim > &a, const detail::GeometrySet< Dim > &b, detail::GeometrySet< Dim > &) |
template<int Dim> | |
void | SFCGAL::algorithm::intersection (const detail::PrimitiveHandle< Dim > &a, const detail::PrimitiveHandle< Dim > &b, detail::GeometrySet< Dim > &) |
auto | SFCGAL::algorithm::intersects (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
Intersection test on 2D geometries. More... | |
auto | SFCGAL::algorithm::intersects3D (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
Intersection test on 3D geometries. More... | |
template<int Dim> | |
bool | SFCGAL::algorithm::intersects (const detail::GeometrySet< Dim > &a, const detail::GeometrySet< Dim > &b) |
Intersection test on GeometrySet. More... | |
template<int Dim> | |
bool | SFCGAL::algorithm::intersects (const detail::PrimitiveHandle< Dim > &a, const detail::PrimitiveHandle< Dim > &b) |
Intersection test on a PrimitiveHandle. More... | |
auto | SFCGAL::algorithm::selfIntersects (const LineString &l) |
Self intersection test for 2D LineString (false if only endpoint touch) More... | |
auto | SFCGAL::algorithm::selfIntersects3D (const LineString &l) |
Self intersection test for 3D LineString (false if only endpoints touch) More... | |
auto | SFCGAL::algorithm::selfIntersects (const PolyhedralSurface &s, const SurfaceGraph &g) |
Self intersection test for 2D PolyhedralSurface (false if only point touch) More... | |
auto | SFCGAL::algorithm::selfIntersects3D (const PolyhedralSurface &s, const SurfaceGraph &g) |
Self intersection test for 3D PolyhedralSurface (false if only point touch) More... | |
auto | SFCGAL::algorithm::selfIntersects (const TriangulatedSurface &s, const SurfaceGraph &g) |
Self intersection test for 2D TriangulatedSurface (false if only point touch) More... | |
auto | SFCGAL::algorithm::selfIntersects3D (const TriangulatedSurface &s, const SurfaceGraph &g) |
Self intersection test for 3D TriangulatedSurface (false if only point touch) More... | |
auto | SFCGAL::algorithm::minkowskiSum (const Geometry &gA, const Polygon &gB, NoValidityCheck) |
2D minkowski sum (p+q) More... | |
auto | SFCGAL::algorithm::offset (const Geometry &g, const double &r, NoValidityCheck) |
[experimental]compute polygon offset More... | |
template<typename Kernel > | |
bool | SFCGAL::algorithm::isPlane3D (const Geometry &geom, const double &toleranceAbs) |
Test if all points of a geometry lie in the same plane. More... | |
auto | SFCGAL::algorithm::straightSkeleton (const Polygon &g, bool autoOrientation=true, bool innerOnly=false, bool outputDistanceInM=false, const double &toleranceAbs=1e-8) |
build a 2D straight skeleton for a Polygon More... | |
auto | SFCGAL::algorithm::straightSkeleton (const MultiPolygon &g, bool autoOrientation=true, bool innerOnly=false, bool outputDistanceInM=false, const double &toleranceAbs=1e-8) |
build a 2D straight skeleton for a Polygon More... | |
auto | SFCGAL::algorithm::tesselate (const Geometry &, NoValidityCheck) |
Tesselate a geometry: this will triangulate surfaces (including polyhedral and solid's surfaces) and keep untouched points, lines, etc. More... | |
auto | SFCGAL::algorithm::union_ (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
Union on 2D geometries. More... | |
auto | SFCGAL::algorithm::union3D (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
Union on 3D geometries. More... | |
template<int Dim> | |
void | SFCGAL::algorithm::union_ (const detail::GeometrySet< Dim > &a, const detail::GeometrySet< Dim > &b, detail::GeometrySet< Dim > &) |
template<int Dim> | |
void | SFCGAL::algorithm::union_ (const detail::PrimitiveHandle< Dim > &a, const detail::PrimitiveHandle< Dim > &b, detail::GeometrySet< Dim > &) |
auto | SFCGAL::algorithm::volume (const Solid &g, NoValidityCheck) |
Computes the volume of a Solid. More... | |
SFCGAL_API sfcgal_geometry_t * | sfcgal_geometry_make_solid (const sfcgal_geometry_t *geom) |
Convert a PolyhedralSurface to a Solid. More... | |
auto | SFCGAL::detail::algorithm::coversPoints (const Geometry &ga, const Geometry &gb) |
Pseudo cover test on 2D geometries. More... | |
auto | SFCGAL::detail::algorithm::coversPoints3D (const Geometry &ga, const Geometry &gb) |
Pseudo cover test on 3D geometries. More... | |
virtual void | SFCGAL::Geometry::accept (GeometryVisitor &visitor)=0 |
[visitor]dispatch visitor More... | |
virtual void | SFCGAL::Geometry::accept (ConstGeometryVisitor &visitor) const =0 |
[visitor]dispatch visitor More... | |
template<class Archive > | |
void | SFCGAL::Geometry::serialize (Archive &, const unsigned int) |
Serializer. More... | |
void | SFCGAL::triangulate::triangulatePolygon3D (const Geometry &g, TriangulatedSurface &triangulatedSurface) |
Triangulate 3D polygons in a Geometry. More... | |
void | SFCGAL::triangulate::triangulatePolygon3D (const Polygon &g, TriangulatedSurface &triangulatedSurface) |
Triangulate a 3D Polygon. More... | |
void | SFCGAL::triangulate::triangulatePolygon3D (const Triangle &g, TriangulatedSurface &triangulatedSurface) |
Triangulate a 3D Triangle (copy triangle) More... | |
void | SFCGAL::triangulate::triangulatePolygon3D (const TriangulatedSurface &g, TriangulatedSurface &triangulatedSurface) |
Triangulate a 3D TriangulatedSurface (copy triangles) More... | |
SFCGAL_API void | SFCGAL::triangulate::opentriangulatePolygon3D (const GeometryCollection &g, TriangulatedSurface &triangulatedSurface) |
Triangulate a 3D MultiPolygon. More... | |
void | SFCGAL::triangulate::triangulatePolygon3D (const PolyhedralSurface &polyhedralSurface, TriangulatedSurface &triangulatedSurface) |
Triangulate 3D polygons in a PolyhedralSurface. More... | |
void | SFCGAL::triangulate::triangulatePolygon3D (const Solid &g, TriangulatedSurface &triangulatedSurface) |
Triangulate a Solid. More... | |
|
pure virtual |
[visitor]dispatch visitor
Implemented in SFCGAL::GeometryCollection, SFCGAL::LineString, SFCGAL::MultiLineString, SFCGAL::MultiPoint, SFCGAL::MultiPolygon, SFCGAL::MultiSolid, SFCGAL::Point, SFCGAL::Polygon, SFCGAL::PolyhedralSurface, SFCGAL::Solid, SFCGAL::Triangle, and SFCGAL::TriangulatedSurface.
|
pure virtual |
[visitor]dispatch visitor
Implemented in SFCGAL::GeometryCollection, SFCGAL::LineString, SFCGAL::MultiLineString, SFCGAL::MultiPoint, SFCGAL::MultiPolygon, SFCGAL::MultiSolid, SFCGAL::Point, SFCGAL::Polygon, SFCGAL::PolyhedralSurface, SFCGAL::Solid, SFCGAL::Triangle, and SFCGAL::TriangulatedSurface.
SFCGAL_API double SFCGAL::algorithm::area | ( | const Geometry & | g, |
NoValidityCheck | |||
) |
Compute the 2D area for a Geometry.
SFCGAL_API double SFCGAL::algorithm::area | ( | const GeometryCollection & | g | ) | -> double |
Returns the 2D area for a GeometryCollection.
SFCGAL_API double SFCGAL::algorithm::area | ( | const Polygon & | g | ) | -> double |
Returns Compute the 2D area for a Polygon.
SFCGAL_API double SFCGAL::algorithm::area | ( | const PolyhedralSurface & | g | ) | -> double |
Returns the 2D area for a TriangulatedSurface.
SFCGAL_API double SFCGAL::algorithm::area | ( | const Triangle & | g | ) | -> double |
Returns Compute the 2D area for a Triangle.
SFCGAL_API double SFCGAL::algorithm::area | ( | const TriangulatedSurface & | g | ) | -> double |
Returns the 2D area for a TriangulatedSurface.
SFCGAL_API double SFCGAL::algorithm::area3D | ( | const Geometry & | g, |
NoValidityCheck | |||
) | -> double |
SFCGAL_API double SFCGAL::algorithm::area3D | ( | const GeometryCollection & | g | ) | -> double |
Returns the 3D area for a MultiPolygon.
SFCGAL_API double SFCGAL::algorithm::area3D | ( | const Polygon & | g | ) | -> double |
Returns 3D area for a Polygon.
SFCGAL_API double SFCGAL::algorithm::area3D | ( | const PolyhedralSurface & | g | ) | -> double |
Returns the 3D area for a PolyhedralSurface.
SFCGAL_API double SFCGAL::algorithm::area3D | ( | const Triangle & | g | ) | -> double |
Returns the 3D area for a Triangle.
SFCGAL_API double SFCGAL::algorithm::area3D | ( | const TriangulatedSurface & | g | ) | -> double |
Returns the 3D area for a TriangulatedSurface.
SFCGAL_API std::unique_ptr< Geometry > SFCGAL::algorithm::collect | ( | const Geometry & | ga, |
const Geometry & | gb | ||
) | -> std::unique_ptr< Geometry > |
Returns an aggregate of ga and gb.
std::unique_ptr< Geometry > SFCGAL::algorithm::collect | ( | GeometryIterator | begin, |
GeometryIterator | end | ||
) |
Returns an aggregate of a list of geometries.
SFCGAL_API std::unique_ptr< Geometry > SFCGAL::algorithm::collectionHomogenize | ( | std::unique_ptr< Geometry > | coll | ) |
Given a geometry collection, returns the "simplest" representation of the contents.
Singletons will be returned as singletons. Collections that are homogeneous will be returned as the appropriate multi-type.
bool SFCGAL::algorithm::covers | ( | const detail::GeometrySet< Dim > & | a, |
const detail::GeometrySet< Dim > & | b | ||
) |
@
bool SFCGAL::algorithm::covers | ( | const detail::PrimitiveHandle< Dim > & | a, |
const detail::PrimitiveHandle< Dim > & | b | ||
) |
@
Cover test on 2D geometries.
Checks if gA covers gB. Force projection to z=0 if needed @
SFCGAL_API bool SFCGAL::detail::algorithm::coversPoints | ( | const Geometry & | ga, |
const Geometry & | gb | ||
) |
Pseudo cover test on 2D geometries.
Collect points of gb and tests if no points of gb is outside ga @
SFCGAL_API bool SFCGAL::detail::algorithm::coversPoints3D | ( | const Geometry & | ga, |
const Geometry & | gb | ||
) |
Pseudo cover test on 3D geometries.
Collect points of gb and tests if no points of gb is outside ga @
void SFCGAL::algorithm::difference | ( | const GeometrySet< Dim > & | a, |
const GeometrySet< Dim > & | b, | ||
GeometrySet< Dim > & | output | ||
) |
SFCGAL_API std::unique_ptr< Geometry > SFCGAL::algorithm::difference | ( | const Geometry & | ga, |
const Geometry & | gb, | ||
NoValidityCheck | |||
) |
Diffrence on 2D geometries.
No validity check variant
SFCGAL_API std::unique_ptr< Geometry > SFCGAL::algorithm::difference3D | ( | const Geometry & | ga, |
const Geometry & | gb, | ||
NoValidityCheck | |||
) |
Difference on 3D geometries.
Assume z = 0 if needed
SFCGAL_API double SFCGAL::algorithm::distance | ( | const Geometry & | gA, |
const Geometry & | gB, | ||
NoValidityCheck | |||
) |
Compute the distance between two Geometries.
SFCGAL_API double SFCGAL::algorithm::distance3D | ( | const Geometry & | gA, |
const Geometry & | gB, | ||
NoValidityCheck | |||
) |
Compute distance between two 3D Geometries.
SFCGAL_API double SFCGAL::algorithm::distanceGeometryCollectionToGeometry | ( | const Geometry & | gA, |
const Geometry & | gB | ||
) | -> double |
dispatch distance from a collection of geometry (gA) to a Geometry (gB)
SFCGAL_API double SFCGAL::algorithm::distanceGeometryCollectionToGeometry3D | ( | const Geometry & | gA, |
const Geometry & | gB | ||
) | -> double |
dispatch distance from a collection of geometry (gA) to a Geometry (gB)
SFCGAL_API double SFCGAL::algorithm::distanceLineStringGeometry | ( | const LineString & | gA, |
const Geometry & | gB | ||
) | -> double |
dispatch distance from LineString to Geometry
SFCGAL_API double SFCGAL::algorithm::distanceLineStringGeometry3D | ( | const LineString & | gA, |
const Geometry & | gB | ||
) | -> double |
dispatch distance between a LineString and a Geometry
SFCGAL_API double SFCGAL::algorithm::distanceLineStringLineString | ( | const LineString & | gA, |
const LineString & | gB | ||
) | -> double |
distance between two LineStrings
SFCGAL_API double SFCGAL::algorithm::distanceLineStringLineString3D | ( | const LineString & | gA, |
const LineString & | gB | ||
) | -> double |
distance between two LineStrings
SFCGAL_API double SFCGAL::algorithm::distanceLineStringPolygon | ( | const LineString & | gA, |
const Polygon & | gB | ||
) | -> double |
distance between a LineString and a Polygon
SFCGAL_API double SFCGAL::algorithm::distanceLineStringPolygon3D | ( | const LineString & | gA, |
const Polygon & | gB | ||
) |
distance between a LineString and a Polygon
SFCGAL_API double SFCGAL::algorithm::distanceLineStringSolid3D | ( | const LineString & | gA, |
const Solid & | gB | ||
) | -> double |
distance between a LineString and a Solid
SFCGAL_API double SFCGAL::algorithm::distanceLineStringTriangle | ( | const LineString & | gA, |
const Triangle & | gB | ||
) | -> double |
distance between a LineString and a Triangle
SFCGAL_API double SFCGAL::algorithm::distanceLineStringTriangle3D | ( | const LineString & | gA, |
const Triangle & | gB | ||
) | -> double |
distance between a LineString and a Triangle
SFCGAL_API double SFCGAL::algorithm::distancePointLineString | ( | const Point & | gA, |
const LineString & | gB | ||
) | -> double |
distance between a Point and a LineString
SFCGAL_API double SFCGAL::algorithm::distancePointLineString3D | ( | const Point & | gA, |
const LineString & | gB | ||
) | -> double |
distance between a Point and a LineString
SFCGAL_API double SFCGAL::algorithm::distancePointPoint | ( | const Point & | gA, |
const Point & | gB | ||
) | -> double |
distance between two Points
SFCGAL_API double SFCGAL::algorithm::distancePointPoint3D | ( | const Point & | gA, |
const Point & | gB | ||
) | -> double |
distance between two Points
SFCGAL_API double SFCGAL::algorithm::distancePointSegment | ( | const Point & | p, |
const Point & | a, | ||
const Point & | b | ||
) | -> double |
SFCGAL_API double SFCGAL::algorithm::distancePointSegment3D | ( | const Point & | p, |
const Point & | a, | ||
const Point & | b | ||
) | -> double |
SFCGAL_API double SFCGAL::algorithm::distancePointTriangle3D | ( | const Point & | p_, |
const Point & | a_, | ||
const Point & | b_, | ||
const Point & | c_ | ||
) | -> double |
SFCGAL_API double SFCGAL::algorithm::distancePolygonPolygon | ( | const Polygon & | gA, |
const Polygon & | gB | ||
) | -> double |
distance between two Polygons
SFCGAL_API double SFCGAL::algorithm::distanceSegmentSegment | ( | const Point & | a, |
const Point & | b, | ||
const Point & | c, | ||
const Point & | d | ||
) | -> double |
SFCGAL_API double SFCGAL::algorithm::distanceSegmentSegment3D | ( | const Point & | a, |
const Point & | b, | ||
const Point & | c, | ||
const Point & | d | ||
) | -> double |
SFCGAL_API double SFCGAL::algorithm::distanceSegmentTriangle3D | ( | const Point & | sA_, |
const Point & | sB_, | ||
const Point & | tA_, | ||
const Point & | tB_, | ||
const Point & | tC_ | ||
) | -> double |
SFCGAL_API double SFCGAL::algorithm::distanceSolidSolid3D | ( | const Solid & | gA, |
const Solid & | gB | ||
) | -> double |
distance between two Solids
SFCGAL_API double SFCGAL::algorithm::distanceTriangleTriangle3D | ( | const Triangle & | gA, |
const Triangle & | gB | ||
) | -> double |
distance between two Triangles
SFCGAL_API std::unique_ptr< Geometry > SFCGAL::algorithm::extrude | ( | const Geometry & | g, |
const double & | dx, | ||
const double & | dy, | ||
const double & | dz | ||
) |
Returns a Geometry equal to the specified Geometry, extruded by the specified displacement.
g | The specified Geometry. |
dx | The component of the specified displacement in the x-direction. |
dy | The component of the specified displacement in the y-direction. |
dz | The component of the specified displacement in the z-direction. |
SFCGAL_API std::unique_ptr< Geometry > SFCGAL::algorithm::extrude | ( | const Geometry & | g, |
const Kernel::Vector_3 & | v | ||
) |
Returns a Geometry equal to the specified Geometry, extruded by the specified displacement vector.
g | The specified Geometry. |
v | The specified displacement vector. |
SFCGAL_API std::unique_ptr< Geometry > SFCGAL::algorithm::extrude | ( | const Geometry & | g, |
Kernel::FT & | dx, | ||
Kernel::FT & | dy, | ||
Kernel::FT & | dz, | ||
NoValidityCheck & | nvc | ||
) |
Returns a Geometry equal to the specified Geometry, extruded by the specified displacement.
g | The specified Geometry. |
dx | The component of the specified displacement in the x-direction. |
dy | The component of the specified displacement in the y-direction. |
dz | The component of the specified displacement in the z-direction. |
nvc | A NoValidityCheck object. |
void SFCGAL::algorithm::intersection | ( | const GeometrySet< Dim > & | a, |
const GeometrySet< Dim > & | b, | ||
GeometrySet< Dim > & | output | ||
) |
void SFCGAL::algorithm::intersection | ( | const PrimitiveHandle< Dim > & | pa, |
const PrimitiveHandle< Dim > & | pb, | ||
GeometrySet< Dim > & | output | ||
) |
SFCGAL_API std::unique_ptr< Geometry > SFCGAL::algorithm::intersection | ( | const Geometry & | ga, |
const Geometry & | gb, | ||
NoValidityCheck | |||
) |
Intersection on 2D geometries.
No validity check variant
SFCGAL_API std::unique_ptr< Geometry > SFCGAL::algorithm::intersection3D | ( | const Geometry & | ga, |
const Geometry & | gb, | ||
NoValidityCheck | |||
) |
Intersection on 3D geometries.
Assume z = 0 if needed
bool SFCGAL::algorithm::intersects | ( | const detail::GeometrySet< Dim > & | a, |
const detail::GeometrySet< Dim > & | b | ||
) |
Intersection test on GeometrySet.
bool SFCGAL::algorithm::intersects | ( | const detail::PrimitiveHandle< Dim > & | a, |
const detail::PrimitiveHandle< Dim > & | b | ||
) |
Intersection test on a PrimitiveHandle.
SFCGAL_API bool SFCGAL::algorithm::intersects | ( | const Geometry & | ga, |
const Geometry & | gb, | ||
NoValidityCheck | |||
) |
Intersection test on 2D geometries.
Force projection to z=0 if needed
SFCGAL_API bool SFCGAL::algorithm::intersects3D | ( | const Geometry & | ga, |
const Geometry & | gb, | ||
NoValidityCheck | |||
) |
Intersection test on 3D geometries.
Assume z = 0 if needed
SFCGAL_API bool SFCGAL::algorithm::isClosed | ( | const SurfaceGraph & | graph | ) |
test if a surface is closed, the graph should be build beforehand
SFCGAL_API bool SFCGAL::algorithm::isConnected | ( | const SurfaceGraph & | graph | ) | -> bool |
test if a surface is connected, the graph should be build beforehand
bool SFCGAL::algorithm::isPlane3D | ( | const Geometry & | geom, |
const double & | toleranceAbs | ||
) |
Test if all points of a geometry lie in the same plane.
SFCGAL_API std::unique_ptr< Geometry > SFCGAL::algorithm::minkowskiSum | ( | const Geometry & | gA, |
const Polygon & | gB, | ||
NoValidityCheck | |||
) |
2D minkowski sum (p+q)
SFCGAL_API std::unique_ptr< MultiPolygon > SFCGAL::algorithm::offset | ( | const Geometry & | g, |
const double & | r, | ||
NoValidityCheck | |||
) |
[experimental]compute polygon offset
SFCGAL_API void SFCGAL::triangulate::opentriangulatePolygon3D | ( | const GeometryCollection & | g, |
TriangulatedSurface & | triangulatedSurface | ||
) |
Triangulate a 3D MultiPolygon.
bool SFCGAL::algorithm::selfIntersects | ( | const LineString & | l | ) | -> bool |
Self intersection test for 2D LineString (false if only endpoint touch)
bool SFCGAL::algorithm::selfIntersects | ( | const PolyhedralSurface & | s, |
const SurfaceGraph & | g | ||
) | -> bool |
Self intersection test for 2D PolyhedralSurface (false if only point touch)
bool SFCGAL::algorithm::selfIntersects | ( | const TriangulatedSurface & | tin, |
const SurfaceGraph & | g | ||
) | -> bool |
Self intersection test for 2D TriangulatedSurface (false if only point touch)
bool SFCGAL::algorithm::selfIntersects3D | ( | const LineString & | l | ) | -> bool |
Self intersection test for 3D LineString (false if only endpoints touch)
bool SFCGAL::algorithm::selfIntersects3D | ( | const PolyhedralSurface & | s, |
const SurfaceGraph & | g | ||
) | -> bool |
Self intersection test for 3D PolyhedralSurface (false if only point touch)
bool SFCGAL::algorithm::selfIntersects3D | ( | const TriangulatedSurface & | tin, |
const SurfaceGraph & | g | ||
) | -> bool |
Self intersection test for 3D TriangulatedSurface (false if only point touch)
|
inline |
Serializer.
SFCGAL_API sfcgal_geometry_t * sfcgal_geometry_make_solid | ( | const sfcgal_geometry_t * | geom | ) |
Convert a PolyhedralSurface to a Solid.
SFCGAL_API Kernel::FT SFCGAL::algorithm::signedArea | ( | const LineString & | g | ) | -> Kernel::FT |
Compute the 2D signed area for a closed LineString.
SFCGAL_API Kernel::FT SFCGAL::algorithm::signedArea | ( | const Triangle & | g | ) | -> Kernel::FT |
Compute the 2D signed area for a Triangle.
SFCGAL_API std::unique_ptr< MultiLineString > SFCGAL::algorithm::straightSkeleton | ( | const MultiPolygon & | g, |
bool | autoOrientation = true , |
||
bool | innerOnly = false , |
||
bool | outputDistanceInM = false , |
||
const double & | toleranceAbs = 1e-8 |
||
) |
build a 2D straight skeleton for a Polygon
NotImplementedException | If g is a Polygon with point touching rings. |
SFCGAL_API std::unique_ptr< MultiLineString > SFCGAL::algorithm::straightSkeleton | ( | const Polygon & | g, |
bool | autoOrientation = true , |
||
bool | innerOnly = false , |
||
bool | outputDistanceInM = false , |
||
const double & | toleranceAbs = 1e-8 |
||
) |
build a 2D straight skeleton for a Polygon
NotImplementedException | If g is a Polygon with point touching rings. |
SFCGAL_API std::unique_ptr< SFCGAL::Geometry > SFCGAL::algorithm::tesselate | ( | const Geometry & | , |
NoValidityCheck | |||
) |
Tesselate a geometry: this will triangulate surfaces (including polyhedral and solid's surfaces) and keep untouched points, lines, etc.
SFCGAL_API void SFCGAL::triangulate::triangulatePolygon3D | ( | const Geometry & | g, |
TriangulatedSurface & | triangulatedSurface | ||
) |
Triangulate 3D polygons in a Geometry.
g | input geometry |
triangulatedSurface | resulting TriangulatedSurface |
usePolygonPlanes | use polygon plane or Triangulate in OXY plane |
SFCGAL_API void SFCGAL::triangulate::triangulatePolygon3D | ( | const Polygon & | g, |
TriangulatedSurface & | triangulatedSurface | ||
) |
SFCGAL_API void SFCGAL::triangulate::triangulatePolygon3D | ( | const PolyhedralSurface & | polyhedralSurface, |
TriangulatedSurface & | triangulatedSurface | ||
) |
Triangulate 3D polygons in a PolyhedralSurface.
SFCGAL_API void SFCGAL::triangulate::triangulatePolygon3D | ( | const Solid & | g, |
TriangulatedSurface & | triangulatedSurface | ||
) |
SFCGAL_API void SFCGAL::triangulate::triangulatePolygon3D | ( | const Triangle & | g, |
TriangulatedSurface & | triangulatedSurface | ||
) |
SFCGAL_API void SFCGAL::triangulate::triangulatePolygon3D | ( | const TriangulatedSurface & | g, |
TriangulatedSurface & | triangulatedSurface | ||
) |
Triangulate a 3D TriangulatedSurface (copy triangles)
SFCGAL_API std::unique_ptr< Geometry > SFCGAL::algorithm::union3D | ( | const Geometry & | ga, |
const Geometry & | gb, | ||
NoValidityCheck | |||
) |
Union on 3D geometries.
Assume z = 0 if needed
void SFCGAL::algorithm::union_ | ( | const detail::GeometrySet< Dim > & | a, |
const detail::GeometrySet< Dim > & | b, | ||
detail::GeometrySet< Dim > & | |||
) |
void SFCGAL::algorithm::union_ | ( | const detail::PrimitiveHandle< Dim > & | a, |
const detail::PrimitiveHandle< Dim > & | b, | ||
detail::GeometrySet< Dim > & | |||
) |
SFCGAL_API std::unique_ptr< Geometry > SFCGAL::algorithm::union_ | ( | const Geometry & | ga, |
const Geometry & | gb, | ||
NoValidityCheck | |||
) |
Union on 2D geometries.
No validity check variant
SFCGAL_API const Kernel::FT SFCGAL::algorithm::volume | ( | const Solid & | g, |
NoValidityCheck | |||
) |
Computes the volume of a Solid.