|
SFCGAL_API auto | alphaShapes (const Geometry &g, double alpha=1, bool allow_holes=false) -> std::unique_ptr< Geometry > |
| Compute the 2D alpha shapes for a geometry https://doc.cgal.org/latest/Alpha_shapes_2/index.html#Chapter_2D_Alpha_Shapes. More...
|
|
SFCGAL_API auto | optimal_alpha_shapes (const Geometry &g, bool allow_holes=false, size_t nb_components=1) -> std::unique_ptr< Geometry > |
| Compute the optimal 2D alpha shapes for a geometry https://doc.cgal.org/latest/Alpha_shapes_2/index.html#Chapter_2D_Alpha_Shapes. More...
|
|
SFCGAL_API double | area (const Geometry &g) |
| Compute the 2D area for a Geometry. More...
|
|
SFCGAL_API double | area (const Geometry &g, NoValidityCheck) |
| Compute the 2D area for a Geometry. More...
|
|
SFCGAL_API Kernel::FT | signedArea (const Triangle &g) |
| Compute the 2D signed area for a Triangle. More...
|
|
SFCGAL_API Kernel::FT | signedArea (const LineString &g) |
| Compute the 2D signed area for a closed LineString. More...
|
|
SFCGAL_API double | area (const Triangle &g) |
| Returns Compute the 2D area for a Triangle. More...
|
|
SFCGAL_API double | area (const Polygon &g) |
| Returns Compute the 2D area for a Polygon. More...
|
|
SFCGAL_API double | area (const GeometryCollection &g) |
| Returns the 2D area for a GeometryCollection. More...
|
|
SFCGAL_API double | area (const TriangulatedSurface &g) |
| Returns the 2D area for a TriangulatedSurface. More...
|
|
SFCGAL_API double | area (const PolyhedralSurface &g) |
| Returns the 2D area for a TriangulatedSurface. More...
|
|
SFCGAL_API double | area3D (const Geometry &g) |
| Returns 3D area for a Geometry. More...
|
|
SFCGAL_API double | area3D (const Geometry &g, NoValidityCheck) |
| Returns 3D area for a Geometry. More...
|
|
SFCGAL_API double | area3D (const Polygon &g) |
| Returns 3D area for a Polygon. More...
|
|
SFCGAL_API double | area3D (const GeometryCollection &g) |
| Returns the 3D area for a MultiPolygon. More...
|
|
SFCGAL_API double | area3D (const PolyhedralSurface &g) |
| Returns the 3D area for a PolyhedralSurface. More...
|
|
SFCGAL_API double | area3D (const Triangle &g) |
| Returns the 3D area for a Triangle. More...
|
|
SFCGAL_API double | area3D (const TriangulatedSurface &g) |
| Returns the 3D area for a TriangulatedSurface. More...
|
|
SFCGAL_API std::unique_ptr< Geometry > | collect (const Geometry &ga, const Geometry &gb) |
| Returns an aggregate of ga and gb. More...
|
|
template<typename GeometryIterator > |
std::unique_ptr< Geometry > | collect (GeometryIterator begin, GeometryIterator end) |
| Returns an aggregate of a list of geometries. More...
|
|
SFCGAL_API std::unique_ptr< Geometry > | collectionExtractPolygons (std::unique_ptr< Geometry > coll) |
|
SFCGAL_API std::unique_ptr< Geometry > | collectionHomogenize (std::unique_ptr< Geometry > coll) |
| Given a geometry collection, returns the "simplest" representation of the contents. More...
|
|
SFCGAL_API std::unique_ptr< Geometry > | collectionToMulti (std::unique_ptr< Geometry > coll) |
| Given a geometry collection of triangles, TINs and polygons returns a MultiPolygon. More...
|
|
SFCGAL_API bool | isConnected (const SurfaceGraph &graph) |
| test if a surface is connected, the graph should be build beforehand More...
|
|
SFCGAL_API bool | isClosed (const SurfaceGraph &graph) |
| test if a surface is closed, the graph should be build beforehand More...
|
|
SFCGAL_API std::unique_ptr< Geometry > | convexHull (const Geometry &g) |
| Compute the 2D convex hull for a geometry. More...
|
|
SFCGAL_API std::unique_ptr< Geometry > | convexHull3D (const Geometry &g) |
| Compute the 3D convex hull for a geometry. More...
|
|
SFCGAL_API bool | covers (const Geometry &ga, const Geometry &gb) |
| Cover test on 2D geometries. More...
|
|
SFCGAL_API bool | covers3D (const Geometry &ga, const Geometry &gb) |
| Cover test on 3D geometries. More...
|
|
template<int Dim> |
bool | covers (const detail::GeometrySet< Dim > &a, const detail::GeometrySet< Dim > &b) |
|
template<int Dim> |
bool | covers (const detail::PrimitiveHandle< Dim > &a, const detail::PrimitiveHandle< Dim > &b) |
|
SFCGAL_API std::unique_ptr< Geometry > | difference (const Geometry &ga, const Geometry &gb) |
| Difference on 2D geometries. More...
|
|
SFCGAL_API std::unique_ptr< Geometry > | difference (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
| Diffrence on 2D geometries. More...
|
|
SFCGAL_API std::unique_ptr< Geometry > | difference3D (const Geometry &ga, const Geometry &gb) |
| Difference on 3D geometries. More...
|
|
SFCGAL_API std::unique_ptr< Geometry > | difference3D (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
| Difference on 3D geometries. More...
|
|
template<int Dim> |
void | difference (const detail::GeometrySet< Dim > &a, const detail::GeometrySet< Dim > &b, detail::GeometrySet< Dim > &) |
|
CGAL::Object | intersection (const CGAL::Triangle_3< Kernel > &a, const CGAL::Triangle_3< Kernel > &b) |
|
bool | do_intersect (const Point_2 &point, const PolygonWH_2 &polygon) |
|
template<typename PointOutputIteratorType > |
PointOutputIteratorType | difference (const Point_2 &a, const Point_2 &b, PointOutputIteratorType out) |
|
template<typename PointOutputIteratorType > |
PointOutputIteratorType | difference (const Point_2 &a, const Segment_2 &b, PointOutputIteratorType out) |
|
template<typename PointOutputIteratorType > |
PointOutputIteratorType | difference (const Point_2 &a, const PolygonWH_2 &b, PointOutputIteratorType out) |
|
template<typename PointOutputIteratorType > |
PointOutputIteratorType | difference (const Point_2 &, const NoVolume &, PointOutputIteratorType out) |
|
template<typename SegmentOutputIteratorType > |
SegmentOutputIteratorType | difference (const Segment_2 &, const NoVolume &, SegmentOutputIteratorType out) |
|
template<typename SurfaceOutputIteratorType > |
SurfaceOutputIteratorType | difference (const PolygonWH_2 &, const NoVolume &, SurfaceOutputIteratorType out) |
|
template<typename PointOutputIteratorType > |
PointOutputIteratorType | difference (const Point_3 &a, const Point_3 &b, PointOutputIteratorType out) |
|
template<typename PointOutputIteratorType > |
PointOutputIteratorType | difference (const Point_3 &a, const Segment_3 &b, PointOutputIteratorType out) |
|
template<typename PointOutputIteratorType > |
PointOutputIteratorType | difference (const Point_3 &a, const Triangle_3 &b, PointOutputIteratorType out) |
|
template<typename PointOutputIteratorType > |
PointOutputIteratorType | difference (const Point_3 &a, const MarkedPolyhedron &b, PointOutputIteratorType out) |
|
template<typename SegmentType , typename SegmentOrSurfaceType , typename SegmentOutputIteratorType > |
SegmentOutputIteratorType | difference (const SegmentType &a, const SegmentOrSurfaceType &b, SegmentOutputIteratorType out) |
|
template<typename SegmentOutputIteratorType > |
SegmentOutputIteratorType | difference (const Segment_2 &segment, const PolygonWH_2 &polygon, SegmentOutputIteratorType out) |
|
bool | isHoleOf (const Polygon_2 &hole, const Polygon_2 &poly) |
|
template<typename PolygonOutputIteratorType > |
PolygonOutputIteratorType | fix_cgal_valid_polygon (const PolygonWH_2 &p, PolygonOutputIteratorType out) |
|
PolygonWH_2 | fix_sfs_valid_polygon (const PolygonWH_2 &p) |
|
template<typename OutputIteratorType > |
OutputIteratorType | difference (const Triangle_3 &p, const Triangle_3 &q, OutputIteratorType out) |
|
template<typename VolumeOutputIteratorType > |
VolumeOutputIteratorType | difference (const MarkedPolyhedron &a, const MarkedPolyhedron &b, VolumeOutputIteratorType out) |
|
template<typename TriangleOutputIteratorType > |
TriangleOutputIteratorType | collidingTriangles (const FaceSegmentCollide::CollisionVector &collisions, TriangleOutputIteratorType out) |
|
template<typename SegmentOutputIteratorType > |
SegmentOutputIteratorType | difference (const Segment_3 &segment, const MarkedPolyhedron &polyhedron, SegmentOutputIteratorType out) |
|
void | _intersection_solid_triangle (const MarkedPolyhedron &pa, const Triangle_3 &tri, detail::GeometrySet< 3 > &output) |
|
template<typename TriangleOutputIteratorType > |
TriangleOutputIteratorType | difference (const Triangle_3 &triangle, const MarkedPolyhedron &polyhedron, TriangleOutputIteratorType out) |
|
template<typename PolygonOutputIteratorType > |
PolygonOutputIteratorType | difference (const PolygonWH_2 &a, const PolygonWH_2 &b, PolygonOutputIteratorType out) |
|
SFCGAL_API double | distance (const Geometry &gA, const Geometry &gB) |
| Compute the distance between two Geometries. More...
|
|
SFCGAL_API double | distance (const Geometry &gA, const Geometry &gB, NoValidityCheck) |
| Compute the distance between two Geometries. More...
|
|
SFCGAL_API double | distancePointGeometry (const Point &gA, const Geometry &gB) |
| dispatch distance from Point to Geometry More...
|
|
SFCGAL_API double | distancePointPoint (const Point &gA, const Point &gB) |
| distance between two Points More...
|
|
SFCGAL_API double | distancePointLineString (const Point &gA, const LineString &gB) |
| distance between a Point and a LineString More...
|
|
SFCGAL_API double | distancePointPolygon (const Point &gA, const Polygon &gB) |
| distance between a Point and a Polygon More...
|
|
SFCGAL_API double | distancePointTriangle (const Point &gA, const Triangle &gB) |
| distance between a Point and a Triangle More...
|
|
SFCGAL_API double | distanceLineStringGeometry (const LineString &gA, const Geometry &gB) |
| dispatch distance from LineString to Geometry More...
|
|
SFCGAL_API double | distanceLineStringLineString (const LineString &gA, const LineString &gB) |
| distance between two LineStrings More...
|
|
SFCGAL_API double | distanceLineStringPolygon (const LineString &gA, const Polygon &gB) |
| distance between a LineString and a Polygon More...
|
|
SFCGAL_API double | distanceLineStringTriangle (const LineString &gA, const Triangle &gB) |
| distance between a LineString and a Triangle More...
|
|
SFCGAL_API double | distancePolygonGeometry (const Polygon &gA, const Geometry &gB) |
| dispatch distance from Polygon to Geometry More...
|
|
SFCGAL_API double | distancePolygonPolygon (const Polygon &gA, const Polygon &gB) |
| distance between two Polygons More...
|
|
SFCGAL_API double | distancePolygonTriangle (const Polygon &gA, const Triangle &gB) |
| distance between a Polygon and a Triangle More...
|
|
SFCGAL_API double | distanceTriangleGeometry (const Triangle &gA, const Geometry &gB) |
| dispatch distance from a Triangle to a Geometry More...
|
|
SFCGAL_API double | distanceGeometryCollectionToGeometry (const Geometry &gA, const Geometry &gB) |
| dispatch distance from a collection of geometry (gA) to a Geometry (gB) More...
|
|
SFCGAL_API double | distancePointSegment (const Point &p, const Point &a, const Point &b) |
|
SFCGAL_API double | distanceSegmentSegment (const Point &a, const Point &b, const Point &c, const Point &d) |
|
SFCGAL_API double | distance3D (const Geometry &gA, const Geometry &gB) |
| dispatch distance between two Geometries More...
|
|
SFCGAL_API double | distance3D (const Geometry &gA, const Geometry &gB, NoValidityCheck) |
| Compute distance between two 3D Geometries. More...
|
|
SFCGAL_API double | distancePointGeometry3D (const Point &gA, const Geometry &gB) |
| dispatch distance from Point to Geometry More...
|
|
SFCGAL_API double | distancePointPoint3D (const Point &gA, const Point &gB) |
| distance between two Points More...
|
|
SFCGAL_API double | distancePointLineString3D (const Point &gA, const LineString &gB) |
| distance between a Point and a LineString More...
|
|
SFCGAL_API double | distancePointTriangle3D (const Point &gA, const Triangle &gB) |
| distance between a Point and a Triangle More...
|
|
SFCGAL_API double | distancePointPolygon3D (const Point &gA, const Polygon &gB) |
| distance between a Point and a Triangle More...
|
|
SFCGAL_API double | distancePointSolid3D (const Point &gA, const Solid &gB) |
| distance between a Point and a Solid More...
|
|
SFCGAL_API double | distanceLineStringGeometry3D (const LineString &gA, const Geometry &gB) |
| dispatch distance between a LineString and a Geometry More...
|
|
SFCGAL_API double | distanceLineStringLineString3D (const LineString &gA, const LineString &gB) |
| distance between two LineStrings More...
|
|
SFCGAL_API double | distanceLineStringTriangle3D (const LineString &gA, const Triangle &gB) |
| distance between a LineString and a Triangle More...
|
|
SFCGAL_API double | distanceLineStringPolygon3D (const LineString &gA, const Polygon &gB) |
| distance between a LineString and a Polygon More...
|
|
SFCGAL_API double | distanceLineStringSolid3D (const LineString &gA, const Solid &gB) |
| distance between a LineString and a Solid More...
|
|
SFCGAL_API double | distanceTriangleGeometry3D (const Triangle &gA, const Geometry &gB) |
| dispatch distance between a Triangle and a Geometry More...
|
|
SFCGAL_API double | distanceTriangleSolid3D (const Triangle &gA, const Solid &gB) |
| distance between a Triangle and a Solid More...
|
|
SFCGAL_API double | distancePolygonGeometry3D (const Polygon &gA, const Geometry &gB) |
| dispatch distance between a Polygon and a Geometry More...
|
|
SFCGAL_API double | distanceSolidGeometry3D (const Solid &gA, const Geometry &gB) |
| dispatch distance between a Solid and a Geometry More...
|
|
SFCGAL_API double | distanceSolidSolid3D (const Solid &gA, const Solid &gB) |
| distance between two Solids More...
|
|
SFCGAL_API double | distanceGeometryCollectionToGeometry3D (const Geometry &gA, const Geometry &gB) |
| dispatch distance from a collection of geometry (gA) to a Geometry (gB) More...
|
|
SFCGAL_API double | distancePointSegment3D (const Point &p, const Point &a, const Point &b) |
|
SFCGAL_API double | distancePointTriangle3D (const Point &p, const Point &a, const Point &b, const Point &c) |
|
SFCGAL_API double | distanceSegmentSegment3D (const Point &a, const Point &b, const Point &c, const Point &d) |
|
SFCGAL_API double | distanceSegmentTriangle3D (const Point &sA, const Point &sB, const Point &tA, const Point &tB, const Point &tC) |
|
SFCGAL_API double | distanceTriangleTriangle3D (const Triangle &gA, const Triangle &gB) |
| distance between two Triangles More...
|
|
SFCGAL_API std::unique_ptr< Geometry > | extrude (const Geometry &g, Kernel::FT dx, Kernel::FT dy, Kernel::FT dz) |
| Returns a Geometry equal to the specified Geometry, extruded by the specified displacement. More...
|
|
SFCGAL_API std::unique_ptr< Geometry > | 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 std::unique_ptr< Geometry > | 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...
|
|
SFCGAL_API std::unique_ptr< Geometry > | extrude (const Geometry &g, const Kernel::Vector_3 &v) |
| Returns a Geometry equal to the specified Geometry, extruded by the specified displacement vector. More...
|
|
SFCGAL_API void | force2D (Geometry &g) |
| force a geometry to be 2D (project on O,x,y) More...
|
|
SFCGAL_API void | force3D (Geometry &g, const Kernel::FT &defaultZ=0) |
| force a 2D geometry to be 3D (replace undefined Z by defaultZ, existing Z values remains unchanged) More...
|
|
SFCGAL_API std::unique_ptr< Geometry > | intersection (const Geometry &ga, const Geometry &gb) |
| Intersection on 2D geometries. More...
|
|
SFCGAL_API std::unique_ptr< Geometry > | intersection (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
| Intersection on 2D geometries. More...
|
|
SFCGAL_API std::unique_ptr< Geometry > | intersection3D (const Geometry &ga, const Geometry &gb) |
| Intersection on 3D geometries. More...
|
|
SFCGAL_API std::unique_ptr< Geometry > | intersection3D (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
| Intersection on 3D geometries. More...
|
|
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 > &) |
|
SFCGAL_API bool | intersects (const Geometry &ga, const Geometry &gb) |
| Robust intersection test on 2D geometries. More...
|
|
SFCGAL_API bool | intersects3D (const Geometry &ga, const Geometry &gb) |
| Robust intersection test on 3D geometries. More...
|
|
SFCGAL_API bool | intersects (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
| Intersection test on 2D geometries. More...
|
|
SFCGAL_API bool | intersects3D (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
| Intersection test on 3D geometries. More...
|
|
template<int Dim> |
bool | intersects (const detail::GeometrySet< Dim > &a, const detail::GeometrySet< Dim > &b) |
| Intersection test on GeometrySet. More...
|
|
template<int Dim> |
bool | intersects (const detail::PrimitiveHandle< Dim > &a, const detail::PrimitiveHandle< Dim > &b) |
| Intersection test on a PrimitiveHandle. More...
|
|
bool | selfIntersects (const LineString &l) |
| Self intersection test for 2D LineString (false if only endpoint touch) More...
|
|
bool | selfIntersects3D (const LineString &l) |
| Self intersection test for 3D LineString (false if only endpoints touch) More...
|
|
bool | selfIntersects (const PolyhedralSurface &s, const SurfaceGraph &g) |
| Self intersection test for 2D PolyhedralSurface (false if only point touch) More...
|
|
bool | selfIntersects3D (const PolyhedralSurface &s, const SurfaceGraph &g) |
| Self intersection test for 3D PolyhedralSurface (false if only point touch) More...
|
|
bool | selfIntersects (const TriangulatedSurface &s, const SurfaceGraph &g) |
| Self intersection test for 2D TriangulatedSurface (false if only point touch) More...
|
|
bool | selfIntersects3D (const TriangulatedSurface &s, const SurfaceGraph &g) |
| Self intersection test for 3D TriangulatedSurface (false if only point touch) More...
|
|
const SFCGAL_API Validity | isValid (const Geometry &g, const double &toleranceAbs=1e-9) |
| Check validity of a geometry. More...
|
|
SFCGAL_API void | propagateValidityFlag (Geometry &g, bool valid) |
| Sets the geometry flag on a geometry and propagate to every internal geometries. More...
|
|
SFCGAL_API double | length (const Geometry &g) |
| Compute the 2D length for a Geometry (0 for incompatible types) More...
|
|
SFCGAL_API double | length (const LineString &g) |
| Compute the 2D length for a LineString. More...
|
|
SFCGAL_API double | length (const GeometryCollection &g) |
| Compute the 2D length for a GeometryCollection. More...
|
|
SFCGAL_API double | length3D (const Geometry &g) |
| Compute the 2D length for a geometry. More...
|
|
SFCGAL_API double | length3D (const LineString &g) |
| Compute the 3D length for a LineString. More...
|
|
SFCGAL_API double | length3D (const GeometryCollection &g) |
| Compute the 3D length for a GeometryCollection. More...
|
|
SFCGAL_API std::unique_ptr< LineString > | lineSubstring (const LineString &ls, double start, double end) |
| Retrieve a substring of a specified LineString, between the specified fractional distances from the start of the specified LineString. More...
|
|
SFCGAL_API std::unique_ptr< Geometry > | minkowskiSum (const Geometry &gA, const Polygon &gB) |
| 2D minkowski sum (p+q) More...
|
|
SFCGAL_API std::unique_ptr< Geometry > | minkowskiSum (const Geometry &gA, const Polygon &gB, NoValidityCheck) |
| 2D minkowski sum (p+q) More...
|
|
template<typename Kernel > |
CGAL::Vector_3< Kernel > | normal3D (const CGAL::Point_3< Kernel > &a, const CGAL::Point_3< Kernel > &b, const CGAL::Point_3< Kernel > &c) |
| Returns the 3D normal to 3 consecutive points. More...
|
|
template<typename Kernel > |
CGAL::Vector_3< Kernel > | normal3D (const LineString &ls, bool exact=true) |
| Returns the 3D normal to a ring (supposed to be planar and closed). More...
|
|
template<typename Kernel > |
CGAL::Vector_3< Kernel > | normal3D (const Polygon &polygon, bool exact=true) |
| Returns the 3D normal to a polygon (supposed to be planar). More...
|
|
SFCGAL_API std::unique_ptr< MultiPolygon > | offset (const Geometry &g, const double &r) |
| [experimental]compute polygon offset More...
|
|
SFCGAL_API std::unique_ptr< MultiPolygon > | offset (const Geometry &g, const double &r, NoValidityCheck) |
| [experimental]compute polygon offset More...
|
|
SFCGAL_API void | makeValidOrientation (CGAL::Polygon_2< Kernel > &polygon) |
| Make valid 2D orientation. More...
|
|
SFCGAL_API void | makeValidOrientation (CGAL::Polygon_with_holes_2< Kernel > &polygon) |
| Make valid 2D orientation. More...
|
|
SFCGAL_API void | makeValidOrientation (Polygon &polygon) |
| Make valid 2D orientation. More...
|
|
SFCGAL_API bool | hasConsistentOrientation3D (const TriangulatedSurface &g) |
| Test if a Geometry has a consistent orientation. More...
|
|
SFCGAL_API bool | hasConsistentOrientation3D (const PolyhedralSurface &g) |
| Test if a PolyhedralSurface has a consistent orientation. More...
|
|
SFCGAL_API void | makeConsistentOrientation3D (TriangulatedSurface &g) |
| Try to make consistent orientation in a TriangulatedSurface. More...
|
|
SFCGAL_API bool | isCounterClockWiseOriented (const Polygon &) |
| Test if a 2D surface is oriented counter clockwise. More...
|
|
SFCGAL_API bool | isCounterClockWiseOriented (const Triangle &) |
| Test if a 2D surface is oriented counter clockwise. More...
|
|
SFCGAL_API bool | isCounterClockWiseOriented (const LineString &) |
| Test if a 2D surface is oriented counter clockwise. More...
|
|
template<typename Kernel > |
bool | hasPlane3D (const Polygon &polygon, CGAL::Point_3< Kernel > &a, CGAL::Point_3< Kernel > &b, CGAL::Point_3< Kernel > &c) |
| Test if a 3D plane can be extracted from a Polygon. More...
|
|
template<typename Kernel > |
bool | hasPlane3D (const Polygon &polygon) |
| Test if a 3D plane can be extracted from a Polygon. More...
|
|
template<typename Kernel > |
void | plane3D (const Polygon &polygon, CGAL::Point_3< Kernel > &a, CGAL::Point_3< Kernel > &b, CGAL::Point_3< Kernel > &c) |
| Get 3 non collinear points from a Polygon. More...
|
|
template<typename Kernel > |
CGAL::Plane_3< Kernel > | plane3D (const Polygon &polygon) |
| Returns the oriented 3D plane of a polygon (supposed to be planar). More...
|
|
template<typename Kernel > |
CGAL::Plane_3< Kernel > | plane3D (const Polygon &polygon, const Plane3DInexactUnsafe &) |
| Returns the oriented 3D plane of a polygon (supposed to be planar) - inexact version. More...
|
|
template<typename Kernel > |
CGAL::Plane_3< Kernel > | plane3D (const Polygon &polygon, bool exact) |
| Returns the oriented 3D plane of a polygon (supposed to be planar). More...
|
|
template<typename Kernel > |
bool | isPlane3D (const Geometry &geom, const double &toleranceAbs) |
| Test if all points of a geometry lie in the same plane. More...
|
|
SFCGAL_API std::unique_ptr< MultiLineString > | approximateMedialAxis (const Geometry &g) |
| build an approximate medial axis for a Polygon More...
|
|
SFCGAL_API std::unique_ptr< MultiLineString > | straightSkeleton (const Geometry &g, bool autoOrientation=true, bool innerOnly=false, bool outputDistanceInM=false, const double &toleranceAbs=1e-8) |
| build a 2D straight skeleton for a Polygon More...
|
|
SFCGAL_API std::unique_ptr< MultiLineString > | straightSkeleton (const Geometry &g, bool autoOrientation, NoValidityCheck, bool innerOnly=false, bool outputDistanceInM=false, const double &toleranceAbs=1e-8) |
| build a 2D straight skeleton for a Polygon More...
|
|
SFCGAL_API std::unique_ptr< MultiLineString > | 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...
|
|
SFCGAL_API std::unique_ptr< MultiLineString > | 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...
|
|
SFCGAL_API std::unique_ptr< SFCGAL::Geometry > | tesselate (const Geometry &) |
| Tesselate a geometry: this will triangulate surfaces (including polyhedral and solid's surfaces) and keep untouched points, lines, etc. More...
|
|
SFCGAL_API std::unique_ptr< SFCGAL::Geometry > | tesselate (const Geometry &, NoValidityCheck) |
| Tesselate a geometry: this will triangulate surfaces (including polyhedral and solid's surfaces) and keep untouched points, lines, etc. More...
|
|
SFCGAL_API void | translate (Geometry &g, const Kernel::Vector_3 &v) |
| translate a geometry from a given vector More...
|
|
SFCGAL_API void | translate (Geometry &g, const Kernel::Vector_2 &v) |
| translate a geometry from a given vector More...
|
|
SFCGAL_API void | translate (Geometry &g, const Kernel::FT dx, const Kernel::FT dy, const Kernel::FT dz) |
| translate a geometry from a given vector More...
|
|
SFCGAL_API std::unique_ptr< Geometry > | union_ (const Geometry &ga, const Geometry &gb) |
| Union on 2D geometries. More...
|
|
SFCGAL_API std::unique_ptr< Geometry > | union_ (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
| Union on 2D geometries. More...
|
|
SFCGAL_API std::unique_ptr< Geometry > | union3D (const Geometry &ga, const Geometry &gb) |
| Union on 3D geometries. More...
|
|
SFCGAL_API std::unique_ptr< Geometry > | union3D (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
| Union on 3D geometries. More...
|
|
template<int Dim> |
void | union_ (const detail::GeometrySet< Dim > &a, const detail::GeometrySet< Dim > &b, detail::GeometrySet< Dim > &) |
|
template<int Dim> |
void | union_ (const detail::PrimitiveHandle< Dim > &a, const detail::PrimitiveHandle< Dim > &b, detail::GeometrySet< Dim > &) |
|
const SFCGAL_API Kernel::FT | volume (const Geometry &g) |
| Computes the volume of a geometry. More...
|
|
const SFCGAL_API Kernel::FT | volume (const Solid &g, NoValidityCheck) |
| Computes the volume of a Solid. More...
|
|
template<class OutputIterator > |
void | alpha_edges (const Alpha_shape_2 &A, OutputIterator out) |
|
static auto | computeAlpha (const Geometry &g, Alpha_shape_2 &alphaShape, double alpha=0, size_t nb_components=1) -> double |
|
static auto | alpha_to_geometry (const Alpha_shape_2 &A, bool allow_holes) -> std::unique_ptr< Geometry > |
|
auto | covers (const PrimitiveHandle< 3 > &, const PrimitiveHandle< 3 > &) -> bool |
|
template<int Dim> |
auto | segmentsLength (const GeometrySet< Dim > &gs) -> double |
|
auto | solidsVolume (const GeometrySet< 3 > &gs, bool planarSurface=false) -> double |
|
auto | surfacesArea (const GeometrySet< 2 > &gs) -> double |
|
auto | surfacesArea (const GeometrySet< 3 > &gs) -> double |
|
auto | solidsVolume (const GeometrySet< 2 > &) -> double |
|
template<int Dim> |
auto | equalLength (const GeometrySet< Dim > &a, const GeometrySet< Dim > &b, int dim) -> bool |
|
template<int Dim> |
auto | covers (const GeometrySet< Dim > &a, const GeometrySet< Dim > &b) -> bool |
|
template bool | covers< 2 > (const GeometrySet< 2 > &a, const GeometrySet< 2 > &b) |
|
template bool | covers< 3 > (const GeometrySet< 3 > &a, const GeometrySet< 3 > &b) |
|
template<typename OutputIteratorType > |
auto | difference (const Point_2 &primitive, const PrimitiveHandle< 2 > &pb, OutputIteratorType out) -> OutputIteratorType |
|
template<typename OutputIteratorType > |
auto | difference (const Segment_2 &primitive, const PrimitiveHandle< 2 > &pb, OutputIteratorType out) -> OutputIteratorType |
|
template<typename OutputIteratorType > |
auto | difference (const PolygonWH_2 &primitive, const PrimitiveHandle< 2 > &pb, OutputIteratorType out) -> OutputIteratorType |
|
template<typename OutputIteratorType > |
auto | difference (const Point_3 &primitive, const PrimitiveHandle< 3 > &pb, OutputIteratorType out) -> OutputIteratorType |
|
template<typename OutputIteratorType > |
auto | difference (const Segment_3 &primitive, const PrimitiveHandle< 3 > &pb, OutputIteratorType out) -> OutputIteratorType |
|
template<typename OutputIteratorType > |
auto | difference (const Triangle_3 &primitive, const PrimitiveHandle< 3 > &pb, OutputIteratorType out) -> OutputIteratorType |
|
template<typename OutputIteratorType > |
auto | difference (const MarkedPolyhedron &primitive, const PrimitiveHandle< 3 > &pb, OutputIteratorType out) -> OutputIteratorType |
|
template<typename Primitive , typename PrimitiveHandleConstIterator > |
auto | difference (const Primitive &primitive, PrimitiveHandleConstIterator begin, PrimitiveHandleConstIterator end) -> std::vector< Primitive > |
|
void | appendDifference (const PrimitiveHandle< 2 > &pa, CollisionMapper< 2 >::PrimitiveHandleSet::const_iterator begin, CollisionMapper< 2 >::PrimitiveHandleSet::const_iterator end, GeometrySet< 2 > &output) |
|
void | appendDifference (const PrimitiveHandle< 3 > &pa, CollisionMapper< 3 >::PrimitiveHandleSet::const_iterator begin, CollisionMapper< 3 >::PrimitiveHandleSet::const_iterator end, GeometrySet< 3 > &output) |
|
void | post_difference (const GeometrySet< 2 > &input, GeometrySet< 2 > &output) |
| difference post processing More...
|
|
void | post_difference (const GeometrySet< 3 > &input, GeometrySet< 3 > &output) |
|
template void | difference< 2 > (const GeometrySet< 2 > &a, const GeometrySet< 2 > &b, GeometrySet< 2 > &) |
|
template void | difference< 3 > (const GeometrySet< 3 > &a, const GeometrySet< 3 > &b, GeometrySet< 3 > &) |
|
auto | boundingCircle (const Geometry &geom) -> const Circle |
|
auto | boundingSphere (const Geometry &geom) -> const Sphere |
|
auto | squaredDistancePointTriangle3D (const Point_3 &p, const Triangle_3 &abc) -> squared_distance_t |
|
auto | squaredDistanceSegmentTriangle3D (const Segment_3 &sAB, const Triangle_3 &tABC) -> squared_distance_t |
|
auto | squaredDistanceTriangleTriangle3D (const Triangle_3 &triangleA, const Triangle_3 &triangleB) -> squared_distance_t |
|
auto | extrude (const Point &g, const Kernel::Vector_3 &v) -> LineString * |
|
auto | extrude (const LineString &g, const Kernel::Vector_3 &v) -> PolyhedralSurface * |
|
auto | extrude (const Polygon &g, const Kernel::Vector_3 &v) -> Solid * |
|
auto | extrude (const Triangle &g, const Kernel::Vector_3 &v) -> Solid * |
|
auto | extrude (const MultiPoint &g, const Kernel::Vector_3 &v) -> MultiLineString * |
|
auto | extrude (const MultiLineString &g, const Kernel::Vector_3 &v) -> PolyhedralSurface * |
|
auto | extrude (const MultiPolygon &g, const Kernel::Vector_3 &v) -> MultiSolid * |
|
auto | extrude (const TriangulatedSurface &g, const Kernel::Vector_3 &v) -> Solid * |
|
auto | extrude (const PolyhedralSurface &g, const Kernel::Vector_3 &v) -> Solid * |
|
auto | extrude (const GeometryCollection &g, const Kernel::Vector_3 &v) -> GeometryCollection * |
| extrude each geometry in a GeometryCollection More...
|
|
auto | extrude (const Geometry &g, const Kernel::FT &dx, const Kernel::FT &dy, const Kernel::FT &dz, NoValidityCheck) -> std::unique_ptr< Geometry > |
|
void | intersection (const PrimitiveHandle< 3 > &pa, const PrimitiveHandle< 3 > &pb, GeometrySet< 3 > &output, dim_t< 3 >) |
|
void | intersection (const PrimitiveHandle< 2 > &pa, const PrimitiveHandle< 2 > &pb, GeometrySet< 2 > &output, dim_t< 2 >) |
|
template<int Dim> |
void | dispatch_intersection_sym (const PrimitiveHandle< Dim > &pa, const PrimitiveHandle< Dim > &pb, GeometrySet< Dim > &output) |
|
template void | intersection< 2 > (const PrimitiveHandle< 2 > &a, const PrimitiveHandle< 2 > &b, GeometrySet< 2 > &) |
|
template void | intersection< 3 > (const PrimitiveHandle< 3 > &a, const PrimitiveHandle< 3 > &b, GeometrySet< 3 > &) |
|
void | post_intersection (const GeometrySet< 2 > &input, GeometrySet< 2 > &output) |
| intersection post processing More...
|
|
void | post_intersection (const GeometrySet< 3 > &input, GeometrySet< 3 > &output) |
|
template void | intersection< 2 > (const GeometrySet< 2 > &a, const GeometrySet< 2 > &b, GeometrySet< 2 > &) |
|
template void | intersection< 3 > (const GeometrySet< 3 > &a, const GeometrySet< 3 > &b, GeometrySet< 3 > &) |
|
auto | numIntersectionPoints (const CGAL::Polygon_with_holes_2< Kernel > &poly) -> int |
|
void | _intersection_solid_segment (const PrimitiveHandle< 3 > &pa, const PrimitiveHandle< 3 > &pb, GeometrySet< 3 > &output) |
|
void | _intersection_solid_triangle (const MarkedPolyhedron &pa, const CGAL::Triangle_3< Kernel > &tri, GeometrySet< 3 > &output) |
|
void | _intersection_solid_solid (const MarkedPolyhedron &pa, const MarkedPolyhedron &pb, GeometrySet< 3 > &output) |
|
auto | _intersects (const PrimitiveHandle< 2 > &pa, const PrimitiveHandle< 2 > &pb) -> bool |
|
auto | _intersects (const PrimitiveHandle< 3 > &pa, const PrimitiveHandle< 3 > &pb) -> bool |
|
template<int Dim> |
auto | dispatch_intersects_sym (const PrimitiveHandle< Dim > &pa, const PrimitiveHandle< Dim > &pb) -> bool |
|
template<int Dim> |
auto | intersects (const PrimitiveHandle< Dim > &pa, const PrimitiveHandle< Dim > &pb) -> bool |
| Intersection test on a PrimitiveHandle. More...
|
|
template<int Dim> |
auto | intersects (const GeometrySet< Dim > &a, const GeometrySet< Dim > &b) -> bool |
| Intersection test on GeometrySet. More...
|
|
template bool | intersects< 2 > (const GeometrySet< 2 > &a, const GeometrySet< 2 > &b) |
|
template bool | intersects< 3 > (const GeometrySet< 3 > &a, const GeometrySet< 3 > &b) |
|
template bool | intersects< 2 > (const PrimitiveHandle< 2 > &a, const PrimitiveHandle< 2 > &b) |
|
template bool | intersects< 3 > (const PrimitiveHandle< 3 > &a, const PrimitiveHandle< 3 > &b) |
|
template<int Dim> |
auto | selfIntersectsImpl (const LineString &line) -> bool |
|
template<int Dim> |
auto | selfIntersectsImpl (const PolyhedralSurface &s, const SurfaceGraph &graph) -> bool |
|
template<int Dim> |
auto | selfIntersectsImpl (const TriangulatedSurface &tin, const SurfaceGraph &graph) -> bool |
|
auto | isValid (const Point &p) -> const Validity |
|
auto | isValid (const LineString &l, const double &toleranceAbs) -> const Validity |
|
auto | isValid (const Polygon &p, const double &toleranceAbs) -> const Validity |
|
auto | isValid (const Triangle &t, const double &toleranceAbs) -> const Validity |
|
auto | isValid (const MultiLineString &ml, const double &toleranceAbs) -> const Validity |
|
auto | isValid (const MultiPolygon &mp, const double &toleranceAbs) -> const Validity |
|
auto | isValid (const GeometryCollection &gc, const double &toleranceAbs) -> const Validity |
|
auto | isValid (const TriangulatedSurface &tin, const SurfaceGraph &graph, const double &toleranceAbs) -> const Validity |
|
auto | isValid (const TriangulatedSurface &tin, const double &toleranceAbs) -> const Validity |
|
auto | isValid (const PolyhedralSurface &s, const SurfaceGraph &graph, const double &toleranceAbs) -> const Validity |
|
auto | isValid (const PolyhedralSurface &s, const double &toleranceAbs) -> const Validity |
|
auto | isValid (const Solid &solid, const double &toleranceAbs) -> const Validity |
|
auto | isValid (const MultiSolid &ms, const double &toleranceAbs) -> const Validity |
|
void | minkowskiSum (const Geometry &gA, const Polygon_2 &gB, CGAL::Polygon_set_2< Kernel > &polygonSet) |
| dispatch gA+gB sum More...
|
|
void | minkowskiSum (const Point &gA, const Polygon_2 &gB, Polygon_set_2 &polygonSet) |
|
void | minkowskiSum (const LineString &gA, const Polygon_2 &gB, Polygon_set_2 &polygonSet) |
|
void | minkowskiSum (const Polygon &gA, const Polygon_2 &gB, Polygon_set_2 &polygonSet) |
|
void | minkowskiSum (const Solid &gA, const Polygon_2 &gB, Polygon_set_2 &polygonSet) |
|
void | minkowskiSumCollection (const Geometry &gA, const Polygon_2 &gB, Polygon_set_2 &polygonSet) |
|
void | offset (const Geometry &g, const double &radius, Offset_polygon_set_2 &polygonSet) |
| dispatch a geometry More...
|
|
void | offset (const Point &g, const double &radius, Offset_polygon_set_2 &polygonSet) |
| offset for a Point More...
|
|
void | offset (const LineString &g, const double &radius, Offset_polygon_set_2 &polygonSet) |
| offset for a LineString More...
|
|
void | offset (const Polygon &g, const double &radius, Offset_polygon_set_2 &polygonSet) |
| offset for a Polygon More...
|
|
void | offsetCollection (const Geometry &g, const double &radius, Offset_polygon_set_2 &polygonSet) |
| offset for MultiPoint, MultiLineString, MultiPolygon, TriangulatedSurface, PolyhedralSurface More...
|
|
auto | approximate (const Offset_polygon_2 &polygon, const int &n=0) -> Polygon_2 |
| approximate an Offset_polygon_2 (filter null segments) More...
|
|
auto | approximate (const Offset_polygon_with_holes_2 &polygon, const int &n=0) -> Polygon_with_holes_2 |
| approximate an Offset More...
|
|
auto | polygonSetToMultiPolygon (const Offset_polygon_set_2 &polygonSet, const int &n) -> std::unique_ptr< MultiPolygon > |
| convert Offset_polygon_set_2 to MultiPolygon More...
|
|
auto | circleToPolygon (const Kernel::Circle_2 &circle) -> Offset_polygon_2 |
| helper to create a polygon from a circle More...
|
|
template<typename T > |
auto | operator<< (std::ostream &out, std::set< T * > &obs) -> std::ostream & |
|
template<int Dim, class OutputIterator > |
auto | compute_bboxes (const detail::GeometrySet< Dim > &gs, OutputIterator out) -> OutputIterator |
|
template<class Handle > |
void | union_point_point (Handle a, Handle b) |
|
template<class Handle > |
void | union_point_segment (Handle a, Handle b) |
|
void | union_point_surface (Handle< 2 > a, Handle< 2 > b) |
|
void | union_point_surface (Handle< 3 > a, Handle< 3 > b) |
|
void | union_point_volume (const Handle< 2 > &, const Handle< 2 > &) |
|
void | union_point_volume (Handle< 3 > a, Handle< 3 > b) |
|
template<int Dim> |
void | union_segment_segment (Handle< Dim > a, Handle< Dim > b) |
|
void | union_segment_segment (const Handle< 2 > &a, const Handle< 2 > &b) |
|
void | union_segment_segment (const Handle< 3 > &a, const Handle< 3 > &b) |
|
void | union_segment_surface (Handle< 2 > a, Handle< 2 > b) |
|
void | union_segment_surface (Handle< 3 > a, Handle< 3 > b) |
|
void | union_segment_volume (const Handle< 2 > &, const Handle< 2 > &) |
|
void | union_segment_volume (Handle< 3 > a, Handle< 3 > b) |
|
void | union_surface_surface (Handle< 2 > a, Handle< 2 > b) |
|
void | union_surface_surface (Handle< 3 > a, Handle< 3 > b) |
|
void | union_surface_volume (const Handle< 2 > &, const Handle< 2 > &) |
|
void | union_surface_volume (Handle< 3 > a, Handle< 3 > b) |
|
void | union_volume_volume (const Handle< 2 > &, const Handle< 2 > &) |
|
void | union_volume_volume (Handle< 3 > a, Handle< 3 > b) |
|
template<int Dim> |
void | collectPrimitives (const typename HandledBox< Dim >::Vector &boxes, detail::GeometrySet< Dim > &output) |
|
void | handleLeakTest () |
|