|
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 | 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.
|
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.
|
auto | area (const Geometry &g, NoValidityCheck) |
| Compute the 2D area for a Geometry.
|
auto | area (const Geometry &g) |
| Compute the 2D area for a Geometry.
|
auto | signedArea (const Triangle &g) |
| Compute the 2D signed area for a Triangle.
|
auto | signedArea (const LineString &g) |
| Compute the 2D signed area for a closed LineString.
|
auto | area (const Triangle &g) |
| Returns Compute the 2D area for a Triangle.
|
auto | area (const Polygon &g) |
| Returns Compute the 2D area for a Polygon.
|
auto | area (const GeometryCollection &g) |
| Returns the 2D area for a GeometryCollection.
|
auto | area (const TriangulatedSurface &g) |
| Returns the 2D area for a TriangulatedSurface.
|
auto | area (const PolyhedralSurface &g) |
| Returns the 2D area for a TriangulatedSurface.
|
auto | area3D (const Geometry &g, NoValidityCheck) |
| Returns 3D area for a Geometry.
|
auto | area3D (const Geometry &g) |
| Returns 3D area for a Geometry.
|
auto | area3D (const Polygon &g) |
| Returns 3D area for a Polygon.
|
auto | area3D (const Triangle &g) |
| Returns the 3D area for a Triangle.
|
auto | area3D (const GeometryCollection &g) |
| Returns the 3D area for a MultiPolygon.
|
auto | area3D (const PolyhedralSurface &g) |
| Returns the 3D area for a PolyhedralSurface.
|
auto | area3D (const TriangulatedSurface &g) |
| Returns the 3D area for a TriangulatedSurface.
|
auto | collect (const Geometry &ga, const Geometry &gb) |
| Returns an aggregate of ga and gb.
|
template<typename GeometryIterator> |
std::unique_ptr< Geometry > | collect (GeometryIterator begin, GeometryIterator end) |
| Returns an aggregate of a list of geometries.
|
auto | collectionExtractPolygons (std::unique_ptr< Geometry > g) -> std::unique_ptr< Geometry > |
auto | collectionHomogenize (std::unique_ptr< Geometry > coll) |
| Given a geometry collection, returns the "simplest" representation of the contents.
|
auto | collectionToMulti (std::unique_ptr< Geometry > coll) |
| Given a geometry collection of triangles, TINs and polygons returns a MultiPolygon.
|
auto | isConnected (const SurfaceGraph &graph) |
| test if a surface is connected, the graph should be build beforehand
|
auto | isClosed (const SurfaceGraph &graph) |
| test if a surface is closed, the graph should be build beforehand
|
auto | convexHull (const Geometry &g) |
| Compute the 2D convex hull for a geometry.
|
auto | convexHull3D (const Geometry &g) |
| Compute the 3D convex hull for a 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) |
auto | covers (const Geometry &ga, const Geometry &gb) |
| Cover test on 2D geometries.
|
auto | covers3D (const Geometry &ga, const Geometry &gb) |
| Cover test on 3D geometries.
|
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) |
| @
|
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
|
void | post_difference (const GeometrySet< 3 > &input, GeometrySet< 3 > &output) |
template<int Dim> |
void | difference (const GeometrySet< Dim > &a, const GeometrySet< Dim > &b, GeometrySet< Dim > &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 | difference (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
| Diffrence on 2D geometries.
|
auto | difference (const Geometry &ga, const Geometry &gb) |
| Difference on 2D geometries.
|
auto | difference3D (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
| Difference on 3D geometries.
|
auto | difference3D (const Geometry &ga, const Geometry &gb) |
| Difference on 3D geometries.
|
auto | intersection (const CGAL::Triangle_3< Kernel > &a, const CGAL::Triangle_3< Kernel > &b) -> CGAL::Object |
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) |
auto | distance (const Geometry &gA, const Geometry &gB, NoValidityCheck) |
| Compute the distance between two Geometries.
|
auto | distance (const Geometry &gA, const Geometry &gB) |
| Compute the distance between two Geometries.
|
auto | distancePointGeometry (const Point &gA, const Geometry &gB) |
| dispatch distance from Point to Geometry
|
auto | distancePointPoint (const Point &gA, const Point &gB) |
| distance between two Points
|
auto | distancePointLineString (const Point &gA, const LineString &gB) |
| distance between a Point and a LineString
|
auto | distancePointPolygon (const Point &gA, const Polygon &gB) |
| distance between a Point and a Polygon
|
auto | distancePointTriangle (const Point &gA, const Triangle &gB) |
| distance between a Point and a Triangle
|
auto | distanceLineStringGeometry (const LineString &gA, const Geometry &gB) |
| dispatch distance from LineString to Geometry
|
auto | distanceLineStringLineString (const LineString &gA, const LineString &gB) |
| distance between two LineStrings
|
auto | distanceLineStringPolygon (const LineString &gA, const Polygon &gB) |
| distance between a LineString and a Polygon
|
auto | distanceLineStringTriangle (const LineString &gA, const Triangle &gB) |
| distance between a LineString and a Triangle
|
auto | distancePolygonGeometry (const Polygon &gA, const Geometry &gB) |
| dispatch distance from Polygon to Geometry
|
auto | distancePolygonPolygon (const Polygon &gA, const Polygon &gB) |
| distance between two Polygons
|
auto | distancePolygonTriangle (const Polygon &gA, const Triangle &gB) |
| distance between a Polygon and a Triangle
|
auto | distanceTriangleGeometry (const Triangle &gA, const Geometry &gB) |
| dispatch distance from a Triangle to a Geometry
|
auto | boundingCircle (const Geometry &geom) -> const Circle |
auto | distanceGeometryCollectionToGeometry (const Geometry &gA, const Geometry &gB) |
| dispatch distance from a collection of geometry (gA) to a Geometry (gB)
|
auto | distancePointSegment (const Point &p, const Point &a, const Point &b) -> double |
auto | distanceSegmentSegment (const Point &a, const Point &b, const Point &c, const Point &d) -> double |
auto | distance3D (const Geometry &gA, const Geometry &gB, NoValidityCheck) |
| Compute distance between two 3D Geometries.
|
auto | distance3D (const Geometry &gA, const Geometry &gB) |
| dispatch distance between two Geometries
|
auto | distancePointGeometry3D (const Point &gA, const Geometry &gB) |
| dispatch distance from Point to Geometry
|
auto | distancePointPoint3D (const Point &gA, const Point &gB) |
| distance between two Points
|
auto | distancePointLineString3D (const Point &gA, const LineString &gB) |
| distance between a Point and a LineString
|
auto | distancePointTriangle3D (const Point &gA, const Triangle &gB) |
| distance between a Point and a Triangle
|
auto | distancePointPolygon3D (const Point &gA, const Polygon &gB) |
| distance between a Point and a Triangle
|
auto | distancePointSolid3D (const Point &gA, const Solid &gB) |
| distance between a Point and a Solid
|
auto | distanceLineStringGeometry3D (const LineString &gA, const Geometry &gB) |
| dispatch distance between a LineString and a Geometry
|
auto | distanceLineStringLineString3D (const LineString &gA, const LineString &gB) |
| distance between two LineStrings
|
auto | distanceLineStringTriangle3D (const LineString &gA, const Triangle &gB) |
| distance between a LineString and a Triangle
|
auto | distanceLineStringPolygon3D (const LineString &gA, const Polygon &gB) |
| distance between a LineString and a Polygon
|
auto | distanceLineStringSolid3D (const LineString &gA, const Solid &gB) |
| distance between a LineString and a Solid
|
auto | distanceTriangleGeometry3D (const Triangle &gA, const Geometry &gB) |
| dispatch distance between a Triangle and a Geometry
|
auto | distanceTriangleSolid3D (const Triangle &gA, const Solid &gB) |
| distance between a Triangle and a Solid
|
auto | distancePolygonGeometry3D (const Polygon &gA, const Geometry &gB) |
| dispatch distance between a Polygon and a Geometry
|
auto | distanceSolidGeometry3D (const Solid &gA, const Geometry &gB) |
| dispatch distance between a Solid and a Geometry
|
auto | distanceSolidSolid3D (const Solid &gA, const Solid &gB) |
| distance between two Solids
|
auto | boundingSphere (const Geometry &geom) -> const Sphere |
auto | distanceGeometryCollectionToGeometry3D (const Geometry &gA, const Geometry &gB) |
| dispatch distance from a collection of geometry (gA) to a Geometry (gB)
|
auto | distancePointSegment3D (const Point &p, const Point &a, const Point &b) -> double |
auto | squaredDistancePointTriangle3D (const Point_3 &p, const Triangle_3 &abc) -> squared_distance_t |
auto | distancePointTriangle3D (const Point &p_, const Point &a_, const Point &b_, const Point &c_) -> double |
auto | distanceSegmentSegment3D (const Point &a, const Point &b, const Point &c, const Point &d) -> double |
auto | squaredDistanceSegmentTriangle3D (const Segment_3 &sAB, const Triangle_3 &tABC) -> squared_distance_t |
auto | distanceSegmentTriangle3D (const Point &sA_, const Point &sB_, const Point &tA_, const Point &tB_, const Point &tC_) -> double |
auto | squaredDistanceTriangleTriangle3D (const Triangle_3 &triangleA, const Triangle_3 &triangleB) -> squared_distance_t |
auto | distanceTriangleTriangle3D (const Triangle &gA, const Triangle &gB) |
| distance between two Triangles
|
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, bool addTop=true) -> 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
|
auto | extrude (const Geometry &g, const Kernel::Vector_3 &v) |
| Returns a Geometry equal to the specified Geometry, extruded by the specified displacement vector.
|
auto | extrude (const Geometry &g, const Kernel::FT &dx, const Kernel::FT &dy, const Kernel::FT &dz, NoValidityCheck) -> std::unique_ptr< Geometry > |
auto | extrude (const Geometry &g, const Kernel::FT &dx, const Kernel::FT &dy, const Kernel::FT &dz) |
| Returns a Geometry equal to the specified Geometry, extruded by the specified displacement.
|
SFCGAL_API auto | 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.
|
SFCGAL_API auto | extrude (const Polygon &g, const double &height) -> std::unique_ptr< Geometry > |
SFCGAL_API std::unique_ptr< Geometry > | extrude (const Geometry &g, const Kernel::FT &dx, const Kernel::FT &dy, const Kernel::FT &dz, NoValidityCheck &nvc) |
| Returns a Geometry equal to the specified Geometry, extruded by the specified displacement.
|
void | force2D (Geometry &g) |
| force a geometry to be 2D (project on O,x,y)
|
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)
|
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<int Dim> |
void | intersection (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
|
void | post_intersection (const GeometrySet< 3 > &input, GeometrySet< 3 > &output) |
template<int Dim> |
void | intersection (const GeometrySet< Dim > &a, const GeometrySet< Dim > &b, GeometrySet< Dim > &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 | intersection (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
| Intersection on 2D geometries.
|
auto | intersection (const Geometry &ga, const Geometry &gb) |
| Intersection on 2D geometries.
|
auto | intersection3D (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
| Intersection on 3D geometries.
|
auto | intersection3D (const Geometry &ga, const Geometry &gb) |
| Intersection on 3D geometries.
|
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.
|
template<int Dim> |
auto | intersects (const GeometrySet< Dim > &a, const GeometrySet< Dim > &b) -> bool |
| Intersection test on GeometrySet.
|
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) |
auto | intersects (const Geometry &ga, const Geometry &gb) |
| Robust intersection test on 2D geometries.
|
auto | intersects3D (const Geometry &ga, const Geometry &gb) |
| Robust intersection test on 3D geometries.
|
auto | intersects (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
| Intersection test on 2D geometries.
|
auto | intersects3D (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
| Intersection test on 3D geometries.
|
template<int Dim> |
auto | selfIntersectsImpl (const LineString &line) -> bool |
auto | selfIntersects (const LineString &l) |
| Self intersection test for 2D LineString (false if only endpoint touch)
|
auto | selfIntersects3D (const LineString &l) |
| Self intersection test for 3D LineString (false if only endpoints touch)
|
template<int Dim> |
auto | selfIntersectsImpl (const PolyhedralSurface &s, const SurfaceGraph &graph) -> bool |
auto | selfIntersects (const PolyhedralSurface &s, const SurfaceGraph &g) |
| Self intersection test for 2D PolyhedralSurface (false if only point touch)
|
auto | selfIntersects3D (const PolyhedralSurface &s, const SurfaceGraph &g) |
| Self intersection test for 3D PolyhedralSurface (false if only point touch)
|
template<int Dim> |
auto | selfIntersectsImpl (const TriangulatedSurface &tin, const SurfaceGraph &graph) -> bool |
auto | selfIntersects (const TriangulatedSurface &s, const SurfaceGraph &g) |
| Self intersection test for 2D TriangulatedSurface (false if only point touch)
|
auto | selfIntersects3D (const TriangulatedSurface &s, const SurfaceGraph &g) |
| Self intersection test for 3D TriangulatedSurface (false if only point touch)
|
template<int Dim> |
bool | intersects (const detail::GeometrySet< Dim > &a, const detail::GeometrySet< Dim > &b) |
| Intersection test on GeometrySet.
|
template<int Dim> |
bool | intersects (const detail::PrimitiveHandle< Dim > &a, const detail::PrimitiveHandle< Dim > &b) |
| Intersection test on a PrimitiveHandle.
|
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 |
auto | isValid (const Geometry &g, const double &toleranceAbs=1e-9) |
| Check validity of a geometry.
|
void | propagateValidityFlag (Geometry &g, bool valid) |
| Sets the geometry flag on a geometry and propagate to every internal geometries.
|
auto | length (const LineString &g) |
| Compute the 2D length for a LineString.
|
auto | length (const GeometryCollection &g) |
| Compute the 2D length for a GeometryCollection.
|
auto | length (const Geometry &g) |
| Compute the 2D length for a Geometry (0 for incompatible types)
|
auto | length3D (const LineString &g) |
| Compute the 3D length for a LineString.
|
auto | length3D (const GeometryCollection &g) |
| Compute the 3D length for a GeometryCollection.
|
auto | length3D (const Geometry &g) |
| Compute the 2D length for a geometry.
|
auto | 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.
|
void | minkowskiSum (const Geometry &gA, const Polygon_2 &gB, CGAL::Polygon_set_2< Kernel > &polygonSet) |
| dispatch gA+gB sum
|
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) |
auto | minkowskiSum (const Geometry &gA, const Polygon &gB, NoValidityCheck) |
| 2D minkowski sum (p+q)
|
auto | minkowskiSum (const Geometry &gA, const Polygon &gB) |
| 2D minkowski sum (p+q)
|
auto | perpendicular_vector (const Kernel::Vector_3 &v) -> Kernel::Vector_3 |
auto | geometryToNef (const Geometry &g) -> Nef_polyhedron_3 |
auto | nefToGeometry (const Nef_polyhedron_3 &nef) -> std::unique_ptr< Geometry > |
auto | minkowskiSum3D (const Geometry &gA, const Geometry &gB, NoValidityCheck) |
| 3D Minkowski sum (p+q)
|
auto | minkowskiSum3D (const Geometry &gA, const Geometry &gB) |
| 3D Minkowski sum (p+q)
|
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.
|
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).
|
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).
|
void | offset (const Geometry &g, const double &radius, Offset_polygon_set_2 &polygonSet) |
| dispatch a geometry
|
void | offset (const Point &g, const double &radius, Offset_polygon_set_2 &polygonSet) |
| offset for a Point
|
void | offset (const LineString &g, const double &radius, Offset_polygon_set_2 &polygonSet) |
| offset for a LineString
|
void | offset (const Polygon &g, const double &radius, Offset_polygon_set_2 &polygonSet) |
| offset for a Polygon
|
void | offsetCollection (const Geometry &g, const double &radius, Offset_polygon_set_2 &polygonSet) |
| offset for MultiPoint, MultiLineString, MultiPolygon, TriangulatedSurface, PolyhedralSurface
|
auto | approximate (const Offset_polygon_2 &polygon, const int &n=0) -> Polygon_2 |
| approximate an Offset_polygon_2 (filter null segments)
|
auto | approximate (const Offset_polygon_with_holes_2 &polygon, const int &n=0) -> Polygon_with_holes_2 |
| approximate an Offset
|
auto | polygonSetToMultiPolygon (const Offset_polygon_set_2 &polygonSet, const int &n) -> std::unique_ptr< MultiPolygon > |
| convert Offset_polygon_set_2 to MultiPolygon
|
auto | circleToPolygon (const Kernel::Circle_2 &circle) -> Offset_polygon_2 |
| helper to create a polygon from a circle
|
auto | offset (const Geometry &g, const double &r, NoValidityCheck) |
| [experimental]compute polygon offset
|
auto | offset (const Geometry &g, const double &r) |
| [experimental]compute polygon offset
|
void | makeValidOrientation (CGAL::Polygon_2< Kernel > &polygon) |
| Make valid 2D orientation.
|
void | makeValidOrientation (CGAL::Polygon_with_holes_2< Kernel > &polygon) |
| Make valid 2D orientation.
|
void | makeValidOrientation (Polygon &polygon) |
| Make valid 2D orientation.
|
auto | hasConsistentOrientation3D (const TriangulatedSurface &g) |
| Test if a Geometry has a consistent orientation.
|
auto | hasConsistentOrientation3D (const PolyhedralSurface &g) |
| Test if a PolyhedralSurface has a consistent orientation.
|
void | makeConsistentOrientation3D (TriangulatedSurface &g) |
| Try to make consistent orientation in a TriangulatedSurface.
|
auto | isCounterClockWiseOriented (const LineString &) |
| Test if a 2D surface is oriented counter clockwise.
|
auto | isCounterClockWiseOriented (const Triangle &) |
| Test if a 2D surface is oriented counter clockwise.
|
auto | isCounterClockWiseOriented (const Polygon &) |
| Test if a 2D surface is oriented counter clockwise.
|
static auto | toTPolygon_2 (const Polygon &poly) -> CGAL::Partition_traits_2< Kernel >::Polygon_2 |
static auto | polygons_to_geometry (const std::list< TPolygon_2 > &polys) -> std::unique_ptr< Geometry > |
auto | partition_2 (const Geometry &g, PartitionAlgorithm alg=y_monotone) -> std::unique_ptr< Geometry > |
| Compute the partition of a 2D polygon https://doc.cgal.org/latest/Partition_2/index.html#Chapter_2D_Polygon_Partitioning.
|
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.
|
template<typename Kernel> |
bool | hasPlane3D (const Polygon &polygon) |
| Test if a 3D plane can be extracted from a Polygon.
|
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.
|
template<typename Kernel> |
CGAL::Plane_3< Kernel > | plane3D (const Polygon &polygon) |
| Returns the oriented 3D plane of a polygon (supposed to be planar).
|
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.
|
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).
|
template<typename Kernel> |
bool | isPlane3D (const Geometry &geom, const double &toleranceAbs) |
| Test if all points of a geometry lie in the same plane.
|
void | rotate (Geometry &g, const Kernel::FT &angle) |
| Rotate a geometry in 2D around the origin (0,0)
|
void | rotate (Geometry &g, const Kernel::FT &angle, const Point &origin) |
| Rotate a geometry in 2D around a specified point.
|
void | rotate (Geometry &g, const Kernel::FT &angle, const Kernel::Vector_3 &axis, const Point &origin=Point(0, 0, 0)) |
| Rotate a geometry in 3D around a specified axis and origin.
|
void | rotateX (Geometry &g, const Kernel::FT &angle) |
| Rotate a geometry around the X axis.
|
void | rotateY (Geometry &g, const Kernel::FT &angle) |
| Rotate a geometry around the Y axis.
|
void | rotateZ (Geometry &g, const Kernel::FT &angle) |
| Rotate a geometry around the Z axis.
|
void | scale (Geometry &g, double s) |
| Scale a geometry by a given factor.
|
void | scale (Geometry &g, double sx, double sy, double sz=0.0) |
| Scale a geometry by different factors for each dimension.
|
void | scale (Geometry &g, double sx, double sy, double sz, double cx, double cy, double cz) |
| Scale a geometry by different factors for each dimension around a center point.
|
auto | 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
|
auto | 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
|
auto | 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
|
auto | 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
|
auto | approximateMedialAxis (const Geometry &g) |
| build an approximate medial axis for a Polygon
|
auto | extrudeStraightSkeleton (const Polygon &g, double height) -> std::unique_ptr< PolyhedralSurface > |
auto | extrudeStraightSkeleton (const Geometry &g, double height) -> std::unique_ptr< PolyhedralSurface > |
auto | extrudeStraightSkeleton (const Geometry &g, double building_height, double roof_height) -> std::unique_ptr< PolyhedralSurface > |
auto | straightSkeletonPartition (const Geometry &g, bool autoOrientation=true) |
| Build a 2D straight skeleton partition for a Geometry.
|
auto | straightSkeletonPartition (const MultiPolygon &g, bool autoOrientation=true) |
| Build a 2D straight skeleton partition for a MultiPolygon.
|
auto | straightSkeletonPartition (const Polygon &g, bool autoOrientation=true) |
| Build a 2D straight skeleton partition for a Polygon.
|
SFCGAL_API auto | extrudedStraightSkeleton (const Polygon &g, double height) -> std::unique_ptr< PolyhedralSurface > |
| build a 3D straight skeleton extruded for a Polygon
|
auto | tesselate (const Geometry &, NoValidityCheck) |
| Tesselate a geometry: this will triangulate surfaces (including polyhedral and solid's surfaces) and keep untouched points, lines, etc.
|
auto | tesselate (const Geometry &) |
| Tesselate a geometry: this will triangulate surfaces (including polyhedral and solid's surfaces) and keep untouched points, lines, etc.
|
void | translate (Geometry &g, const Kernel::Vector_3 &v) |
| translate a geometry from a given vector
|
void | translate (Geometry &g, const Kernel::Vector_2 &v) |
| translate a geometry from a given vector
|
void | translate (Geometry &g, const Kernel::FT &dx, const Kernel::FT &dy, const Kernel::FT &dz) |
| translate a geometry from a given vector
|
void | translate (Geometry &g, const double &dx, const double &dy, const double &dz) |
| translate a geometry from double-coordinates
|
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) |
auto | union_ (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
| Union on 2D geometries.
|
auto | union_ (const Geometry &ga, const Geometry &gb) |
| Union on 2D geometries.
|
auto | union3D (const Geometry &ga, const Geometry &gb, NoValidityCheck) |
| Union on 3D geometries.
|
auto | union3D (const Geometry &ga, const Geometry &gb) |
| Union on 3D geometries.
|
void | handleLeakTest () |
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 > &) |
static auto | query_visibility (Face_handle fh, Halfedge_const_handle he) -> std::unique_ptr< Polygon > |
auto | visibility (const Geometry &polygon, const Geometry &point) -> std::unique_ptr< Polygon > |
| build the visibility polygon of a Point inside a Polygon
|
auto | visibility (const Geometry &polygon, const Geometry &point, NoValidityCheck) -> std::unique_ptr< Polygon > |
| build the visibility polygon of a Point inside a Polygon
|
auto | visibility (const Geometry &polygon, const Geometry &pointA, const Geometry &pointB) -> std::unique_ptr< Polygon > |
| build the visibility polygon of the segment [pointA ; pointB] on a Polygon
|
auto | visibility (const Geometry &polygon, const Geometry &pointA, const Geometry &pointB, NoValidityCheck) -> std::unique_ptr< Polygon > |
| build the visibility polygon of a Point inside a Polygon
|
auto | volume (const Solid &g, NoValidityCheck) |
| Computes the volume of a Solid.
|
auto | volume (const Geometry &g) |
| Computes the volume of a geometry.
|