Namespace SFCGAL::algorithm
Namespace List > SFCGAL > algorithm
Classes
Type | Name |
---|---|
class | BoundaryVisitor |
class | Buffer3D Computes a 3D buffer around a Point orLineString . |
struct | Circle |
struct | CollisionMapper <Dim> |
class | ConsistentOrientationBuilder |
struct | EmptyPrimitive |
struct | FaceBbox |
struct | FaceSegmentCollide |
class | Handle <Dim> |
struct | HandledBox <Dim> |
struct | Is_not_marked |
struct | LoopDetector |
struct | Nearer <typename PointType> |
struct | NoValidityCheck |
struct | Plane3DInexactUnsafe |
struct | Segment_d <Dim> |
struct | Sphere |
class | SurfaceGraph |
struct | Surface_d <Dim> |
struct | Surface_d< 2 > <> |
struct | Surface_d< 3 > <> |
struct | UnionOnBoxCollision <Dim> |
struct | found_an_intersection |
struct | intersection_cb <Dim> |
struct | intersects_cb <Dim> |
struct | intersects_volume_x |
Public Types
Type | Name |
---|---|
typedef CGAL::Alpha_shape_2< Triangulation_2 > | Alpha_shape_2 |
typedef Alpha_shape_2::Alpha_shape_edges_iterator | Alpha_shape_edges_iterator |
typedef CGAL::Arrangement_2< Traits_2 > | Arrangement |
typedef CGAL::Arrangement_2< CGAL::Arr_segment_traits_2< Kernel > > | Arrangement_2 |
typedef CGAL::Box_intersection_d::Box_with_handle_d< double, 3, MarkedPolyhedron::Halfedge_around_facet_const_circulator > | FaceBboxBase |
typedef Arrangement_2::Face_const_handle | Face_const_handle |
typedef Arrangement_2::Face_handle | Face_handle |
typedef CGAL::Alpha_shape_face_base_2< Kernel > | Fb |
typedef Arrangement_2::Halfedge_const_handle | Halfedge_const_handle |
typedef detail::MarkedPolyhedron | MarkedPolyhedron |
typedef CGAL::Surface_mesh< Point_3 > | Mesh |
typedef CGAL::Nef_polyhedron_3< Kernel > | Nef_polyhedron_3 |
typedef detail::NoVolume | NoVolume |
enum | PartitionAlgorithm |
typedef CGAL::Plane_3< SFCGAL::Kernel > | Plane_3 |
typedef CGAL::Point_2< Kernel > | Point_2 |
typedef CGAL::Point_3< SFCGAL::Kernel > | Point_3 |
typedef CGAL::Polygon_with_holes_2< Kernel > | PolygonWH_2 |
typedef CGAL::Polygon_with_holes_2< Kernel > | PolygonWithHoles |
typedef CGAL::Polygon_2< SFCGAL::Kernel > | Polygon_2 |
typedef CGAL::Polygon_with_holes_2< Kernel > | Polygon_with_holes_2 |
typedef CGAL::Polyhedron_3< Kernel > | Polyhedron_3 |
typedef std::vector< Kernel::Point_3 > | Polyline_3 |
enum | PrimitiveType |
typedef boost::shared_ptr< T > | SHARED_PTR |
typedef CGAL::Segment_2< Kernel > | Segment_2 |
typedef CGAL::Segment_3< Kernel > | Segment_3 |
typedef CGAL::Straight_skeleton_2< Kernel > | Straight_skeleton_2 |
typedef CGAL::Triangular_expansion_visibility_2< Arrangement_2, CGAL::Tag_true > | TEV |
typedef Traits::Point_2 | TPoint_2 |
typedef Traits::Polygon_2 | TPolygon_2 |
typedef CGAL::Triangulation_data_structure_2< Vb, Fb > | Tds |
typedef CGAL::Partition_traits_2< Kernel > | Traits |
typedef CGAL::Arr_non_caching_segment_basic_traits_2< Kernel > | Traits_2 |
typedef CGAL::Triangle_2< SFCGAL::Kernel > | Triangle_2 |
typedef CGAL::Triangle_3< SFCGAL::Kernel > | Triangle_3 |
typedef CGAL::Delaunay_triangulation_2< Kernel, Tds > | Triangulation_2 |
typedef CGAL::Alpha_shape_vertex_base_2< Kernel > | Vb |
typedef CGAL::Vector_2< Kernel > | Vector_2 |
typedef CGAL::Vector_3< Kernel > | Vector_3 |
Public Functions
Type | Name |
---|---|
void | _intersection_solid_segment (const PrimitiveHandle< 3 > & pa, const PrimitiveHandle< 3 > & pb, GeometrySet< 3 > & output) |
void | _intersection_solid_solid (const MarkedPolyhedron & pa, const MarkedPolyhedron & pb, GeometrySet< 3 > & output) |
void | _intersection_solid_triangle (const MarkedPolyhedron & pa, const Triangle_3 & tri, detail::GeometrySet< 3 > & output) |
void | _intersection_solid_triangle (const MarkedPolyhedron & pa, const CGAL::Triangle_3< Kernel > & tri, GeometrySet< 3 > & output) |
auto | _intersects (const PrimitiveHandle< 2 > & pa, const PrimitiveHandle< 2 > & pb) |
auto | _intersects (const PrimitiveHandle< 3 > & pa, const PrimitiveHandle< 3 > & pb) |
auto | alphaShapes (const Geometry & g, double alpha=1, bool allow_holes=false) |
void | alpha_edges (const Alpha_shape_2 & A, OutputIterator out) |
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) |
auto | approximate (const Offset_polygon_2 & polygon, const int & n=0) approximate an Offset_polygon_2 (filter null segments) |
auto | approximate (const Offset_polygon_with_holes_2 & polygon, const int & n=0) approximate an Offset |
auto | approximateMedialAxis (const Geometry & g) build an approximate medial axis for a Polygon __ |
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 | area (const Triangle & g) |
auto | area (const Polygon & g) |
auto | area (const GeometryCollection & g) |
auto | area (const TriangulatedSurface & g) |
auto | area (const PolyhedralSurface & g) |
auto | area3D (const Geometry & g, NoValidityCheck) |
auto | area3D (const Geometry & g) |
auto | area3D (const Polygon & g) |
auto | area3D (const Triangle & g) |
auto | area3D (const GeometryCollection & g) |
auto | area3D (const PolyhedralSurface & g) |
auto | area3D (const TriangulatedSurface & g) |
auto | boundingCircle (const Geometry & geom) |
auto | boundingSphere (const Geometry & geom) |
auto | circleToPolygon (const Kernel::Circle_2 & circle) helper to create a polygon from a circle |
auto | collect (const Geometry & ga, const Geometry & gb) |
std::unique_ptr< Geometry > | collect (GeometryIterator begin, GeometryIterator end) |
void | collectPrimitives (const typename HandledBox< Dim >::Vector & boxes, detail::GeometrySet< Dim > & output) |
auto | collectionExtractPolygons (std::unique_ptr< Geometry > g) |
auto | collectionHomogenize (std::unique_ptr< Geometry > coll) |
auto | collectionToMulti (std::unique_ptr< Geometry > coll) |
TriangleOutputIteratorType | collidingTriangles (const FaceSegmentCollide::CollisionVector & collisions, TriangleOutputIteratorType out) |
auto | compute_bboxes (const detail::GeometrySet< Dim > & gs, OutputIterator out) |
auto | convexHull (const Geometry & g) |
auto | convexHull3D (const Geometry & g) |
auto | covers (const PrimitiveHandle< 3 > &, const PrimitiveHandle< 3 > &) |
auto | covers (const detail::GeometrySet< Dim > & a, const detail::GeometrySet< Dim > & b) |
auto | covers (const Geometry & ga, const Geometry & gb) |
bool | covers (const detail::GeometrySet< Dim > & a, const detail::GeometrySet< Dim > & b) |
bool | covers (const detail::PrimitiveHandle< Dim > & a, const detail::PrimitiveHandle< Dim > & b) |
auto | covers3D (const Geometry & ga, const Geometry & gb) |
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 | difference (const Point_2 & primitive, const PrimitiveHandle< 2 > & pb, OutputIteratorType out) |
auto | difference (const Segment_2 & primitive, const PrimitiveHandle< 2 > & pb, OutputIteratorType out) |
auto | difference (const PolygonWH_2 & primitive, const PrimitiveHandle< 2 > & pb, OutputIteratorType out) |
auto | difference (const Point_3 & primitive, const PrimitiveHandle< 3 > & pb, OutputIteratorType out) |
auto | difference (const Segment_3 & primitive, const PrimitiveHandle< 3 > & pb, OutputIteratorType out) |
auto | difference (const Triangle_3 & primitive, const PrimitiveHandle< 3 > & pb, OutputIteratorType out) |
auto | difference (const MarkedPolyhedron & primitive, const PrimitiveHandle< 3 > & pb, OutputIteratorType out) |
auto | difference (const Primitive & primitive, PrimitiveHandleConstIterator begin, PrimitiveHandleConstIterator end) |
void | difference (const GeometrySet< Dim > & a, const GeometrySet< Dim > & b, GeometrySet< Dim > & output) |
auto | difference (const Geometry & ga, const Geometry & gb, NoValidityCheck) |
auto | difference (const Geometry & ga, const Geometry & gb) |
PointOutputIteratorType | difference (const Point_2 & a, const Point_2 & b, PointOutputIteratorType out) |
PointOutputIteratorType | difference (const Point_2 & a, const Segment_2 & b, PointOutputIteratorType out) |
PointOutputIteratorType | difference (const Point_2 & a, const PolygonWH_2 & b, PointOutputIteratorType out) |
PointOutputIteratorType | difference (const Point_2 &, const NoVolume &, PointOutputIteratorType out) |
SegmentOutputIteratorType | difference (const Segment_2 &, const NoVolume &, SegmentOutputIteratorType out) |
SurfaceOutputIteratorType | difference (const PolygonWH_2 &, const NoVolume &, SurfaceOutputIteratorType out) |
PointOutputIteratorType | difference (const Point_3 & a, const Point_3 & b, PointOutputIteratorType out) |
PointOutputIteratorType | difference (const Point_3 & a, const Segment_3 & b, PointOutputIteratorType out) |
PointOutputIteratorType | difference (const Point_3 & a, const Triangle_3 & b, PointOutputIteratorType out) |
PointOutputIteratorType | difference (const Point_3 & a, const MarkedPolyhedron & b, PointOutputIteratorType out) |
SegmentOutputIteratorType | difference (const SegmentType & a, const SegmentOrSurfaceType & b, SegmentOutputIteratorType out) |
SegmentOutputIteratorType | difference (const Segment_2 & segment, const PolygonWH_2 & polygon, SegmentOutputIteratorType out) |
OutputIteratorType | difference (const Triangle_3 & p, const Triangle_3 & q, OutputIteratorType out) |
VolumeOutputIteratorType | difference (const MarkedPolyhedron & a, const MarkedPolyhedron & b, VolumeOutputIteratorType out) |
SegmentOutputIteratorType | difference (const Segment_3 & segment, const MarkedPolyhedron & polyhedron, SegmentOutputIteratorType out) |
TriangleOutputIteratorType | difference (const Triangle_3 & triangle, const MarkedPolyhedron & polyhedron, TriangleOutputIteratorType out) |
PolygonOutputIteratorType | difference (const PolygonWH_2 & a, const PolygonWH_2 & b, PolygonOutputIteratorType out) |
auto | difference3D (const Geometry & ga, const Geometry & gb, NoValidityCheck) |
auto | difference3D (const Geometry & ga, const Geometry & gb) |
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 > &) |
void | dispatch_intersection_sym (const PrimitiveHandle< Dim > & pa, const PrimitiveHandle< Dim > & pb, GeometrySet< Dim > & output) |
auto | dispatch_intersects_sym (const PrimitiveHandle< Dim > & pa, const PrimitiveHandle< Dim > & pb) |
auto | distance (const Geometry & gA, const Geometry & gB, NoValidityCheck) |
auto | distance (const Geometry & gA, const Geometry & gB) |
auto | distance3D (const Geometry & gA, const Geometry & gB, NoValidityCheck) |
auto | distance3D (const Geometry & gA, const Geometry & gB) |
auto | distanceGeometryCollectionToGeometry (const Geometry & gA, const Geometry & gB) |
auto | distanceGeometryCollectionToGeometry3D (const Geometry & gA, const Geometry & gB) |
auto | distanceLineStringGeometry (const LineString & gA, const Geometry & gB) |
auto | distanceLineStringGeometry3D (const LineString & gA, const Geometry & gB) |
auto | distanceLineStringLineString (const LineString & gA, const LineString & gB) |
auto | distanceLineStringLineString3D (const LineString & gA, const LineString & gB) |
auto | distanceLineStringPolygon (const LineString & gA, const Polygon & gB) |
auto | distanceLineStringPolygon3D (const LineString & gA, const Polygon & gB) |
auto | distanceLineStringSolid3D (const LineString & gA, const Solid & gB) |
auto | distanceLineStringTriangle (const LineString & gA, const Triangle & gB) |
auto | distanceLineStringTriangle3D (const LineString & gA, const Triangle & gB) |
auto | distancePointGeometry (const Point & gA, const Geometry & gB) |
auto | distancePointGeometry3D (const Point & gA, const Geometry & gB) |
auto | distancePointLineString (const Point & gA, const LineString & gB) |
auto | distancePointLineString3D (const Point & gA, const LineString & gB) |
auto | distancePointPoint (const Point & gA, const Point & gB) |
auto | distancePointPoint3D (const Point & gA, const Point & gB) |
auto | distancePointPolygon (const Point & gA, const Polygon & gB) |
auto | distancePointPolygon3D (const Point & gA, const Polygon & gB) |
auto | distancePointSegment (const Point & p, const Point & a, const Point & b) |
auto | distancePointSegment3D (const Point & p, const Point & a, const Point & b) |
auto | distancePointSolid3D (const Point & gA, const Solid & gB) |
auto | distancePointTriangle (const Point & gA, const Triangle & gB) |
auto | distancePointTriangle3D (const Point & gA, const Triangle & gB) |
auto | distancePointTriangle3D (const Point & p_, const Point & a_, const Point & b_, const Point & c_) |
auto | distancePolygonGeometry (const Polygon & gA, const Geometry & gB) |
auto | distancePolygonGeometry3D (const Polygon & gA, const Geometry & gB) |
auto | distancePolygonPolygon (const Polygon & gA, const Polygon & gB) |
auto | distancePolygonTriangle (const Polygon & gA, const Triangle & gB) |
auto | distanceSegmentSegment (const Point & a, const Point & b, const Point & c, const Point & d) |
auto | distanceSegmentSegment3D (const Point & a, const Point & b, const Point & c, const Point & d) |
auto | distanceSegmentTriangle3D (const Point & sA_, const Point & sB_, const Point & tA_, const Point & tB_, const Point & tC_) |
auto | distanceSolidGeometry3D (const Solid & gA, const Geometry & gB) |
auto | distanceSolidSolid3D (const Solid & gA, const Solid & gB) |
auto | distanceTriangleGeometry (const Triangle & gA, const Geometry & gB) |
auto | distanceTriangleGeometry3D (const Triangle & gA, const Geometry & gB) |
auto | distanceTriangleSolid3D (const Triangle & gA, const Solid & gB) |
auto | distanceTriangleTriangle3D (const Triangle & gA, const Triangle & gB) |
bool | do_intersect (const Point_2 & point, const PolygonWH_2 & polygon) |
auto | equalLength (const GeometrySet< Dim > & a, const GeometrySet< Dim > & b, int dim) |
auto | extrude (const Point & g, const Kernel::Vector_3 & v) |
auto | extrude (const LineString & g, const Kernel::Vector_3 & v) |
auto | extrude (const Polygon & g, const Kernel::Vector_3 & v, bool addTop=true) |
auto | extrude (const Triangle & g, const Kernel::Vector_3 & v) |
auto | extrude (const MultiPoint & g, const Kernel::Vector_3 & v) |
auto | extrude (const MultiLineString & g, const Kernel::Vector_3 & v) |
auto | extrude (const MultiPolygon & g, const Kernel::Vector_3 & v) |
auto | extrude (const TriangulatedSurface & g, const Kernel::Vector_3 & v) |
auto | extrude (const PolyhedralSurface & g, const Kernel::Vector_3 & v) |
auto | extrude (const GeometryCollection & g, const Kernel::Vector_3 & v) |
auto | extrude (const Geometry & g, const Kernel::Vector_3 & v) Returns a Geometry equal to the specifiedGeometry , extruded by the specified displacement vector. |
auto | extrude (const Geometry & g, const Kernel::FT & dx, const Kernel::FT & dy, const Kernel::FT & dz, NoValidityCheck) |
auto | extrude (const Geometry & g, const Kernel::FT & dx, const Kernel::FT & dy, const Kernel::FT & dz) Returns a Geometry equal to the specifiedGeometry , 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 specifiedGeometry , extruded by the specified displacement. |
SFCGAL_API auto | extrude (const Polygon & g, const double & height) |
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 specifiedGeometry , extruded by the specified displacement. |
auto | extrudeStraightSkeleton (const Polygon & g, double height) |
auto | extrudeStraightSkeleton (const Geometry & g, double height) |
auto | extrudeStraightSkeleton (const Geometry & g, double building_height, double roof_height) |
SFCGAL_API auto | extrudedStraightSkeleton (const Polygon & g, double height) build a 3D straight skeleton extruded for a Polygon __ |
PolygonOutputIteratorType | fix_cgal_valid_polygon (const PolygonWH_2 & p, PolygonOutputIteratorType out) |
PolygonWH_2 | fix_sfs_valid_polygon (const PolygonWH_2 & p) |
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) |
auto | geometryToNef (const Geometry & g) |
void | handleLeakTest () |
auto | hasConsistentOrientation3D (const TriangulatedSurface & g) |
auto | hasConsistentOrientation3D (const PolyhedralSurface & g) |
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 . |
bool | hasPlane3D (const Polygon & polygon) |
auto | intersection (const CGAL::Triangle_3< Kernel > & a, const CGAL::Triangle_3< Kernel > & b) |
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 >) |
void | intersection (const PrimitiveHandle< Dim > & pa, const PrimitiveHandle< Dim > & pb, GeometrySet< Dim > & output) |
void | intersection (const GeometrySet< Dim > & a, const GeometrySet< Dim > & b, GeometrySet< Dim > & output) |
auto | intersection (const Geometry & ga, const Geometry & gb, NoValidityCheck) |
auto | intersection (const Geometry & ga, const Geometry & gb) |
auto | intersection3D (const Geometry & ga, const Geometry & gb, NoValidityCheck) |
auto | intersection3D (const Geometry & ga, const Geometry & gb) |
template void | intersection< 2 > (const PrimitiveHandle< 2 > & a, const PrimitiveHandle< 2 > & b, GeometrySet< 2 > &) |
template void | intersection< 2 > (const GeometrySet< 2 > & a, const GeometrySet< 2 > & b, GeometrySet< 2 > &) |
template void | intersection< 3 > (const PrimitiveHandle< 3 > & a, const PrimitiveHandle< 3 > & b, GeometrySet< 3 > &) |
template void | intersection< 3 > (const GeometrySet< 3 > & a, const GeometrySet< 3 > & b, GeometrySet< 3 > &) |
auto | intersects (const detail::PrimitiveHandle< Dim > & a, const detail::PrimitiveHandle< Dim > & b) |
auto | intersects (const detail::GeometrySet< Dim > & a, const detail::GeometrySet< Dim > & b) |
auto | intersects (const Geometry & ga, const Geometry & gb) |
auto | intersects (const Geometry & ga, const Geometry & gb, NoValidityCheck) |
bool | intersects (const detail::GeometrySet< Dim > & a, const detail::GeometrySet< Dim > & b) |
bool | intersects (const detail::PrimitiveHandle< Dim > & a, const detail::PrimitiveHandle< Dim > & b) |
auto | intersects3D (const Geometry & ga, const Geometry & gb) |
auto | intersects3D (const Geometry & ga, const Geometry & gb, NoValidityCheck) |
template bool | intersects< 2 > (const GeometrySet< 2 > & a, const GeometrySet< 2 > & b) |
template bool | intersects< 2 > (const PrimitiveHandle< 2 > & a, const PrimitiveHandle< 2 > & b) |
template bool | intersects< 3 > (const GeometrySet< 3 > & a, const GeometrySet< 3 > & b) |
template bool | intersects< 3 > (const PrimitiveHandle< 3 > & a, const PrimitiveHandle< 3 > & b) |
auto | isClosed (const SurfaceGraph & graph) |
auto | isConnected (const SurfaceGraph & graph) |
auto | isCounterClockWiseOriented (const LineString & ls) |
auto | isCounterClockWiseOriented (const Triangle & tri) |
auto | isCounterClockWiseOriented (const Polygon & poly) |
bool | isHoleOf (const Polygon_2 & hole, const Polygon_2 & poly) |
bool | isPlane3D (const Geometry & geom, const double & toleranceAbs) |
auto | isValid (const Point & p) |
auto | isValid (const LineString & l, const double & toleranceAbs) |
auto | isValid (const Polygon & p, const double & toleranceAbs) |
auto | isValid (const Triangle & t, const double & toleranceAbs) |
auto | isValid (const MultiLineString & ml, const double & toleranceAbs) |
auto | isValid (const MultiPolygon & mp, const double & toleranceAbs) |
auto | isValid (const GeometryCollection & gc, const double & toleranceAbs) |
auto | isValid (const TriangulatedSurface & tin, const SurfaceGraph & graph, const double & toleranceAbs) |
auto | isValid (const TriangulatedSurface & tin, const double & toleranceAbs) |
auto | isValid (const PolyhedralSurface & s, const SurfaceGraph & graph, const double & toleranceAbs) |
auto | isValid (const PolyhedralSurface & s, const double & toleranceAbs) |
auto | isValid (const Solid & solid, const double & toleranceAbs) |
auto | isValid (const MultiSolid & ms, const double & toleranceAbs) |
auto | isValid (const Geometry & g, const double & toleranceAbs) Check validity of a geometry. |
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 specifiedLineString . |
void | makeConsistentOrientation3D (TriangulatedSurface & g) |
void | makeValidOrientation (CGAL::Polygon_2< Kernel > & polygon) |
void | makeValidOrientation (CGAL::Polygon_with_holes_2< Kernel > & polygon) |
void | makeValidOrientation (Polygon & polygon) |
void | minkowskiSum (const Geometry & gA, const Polygon_2 & gB, CGAL::Polygon_set_2< Kernel > & polygonSet) |
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) |
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 | 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) |
void | minkowskiSumCollection (const Geometry & gA, const Polygon_2 & gB, Polygon_set_2 & polygonSet) |
auto | nefToGeometry (const Nef_polyhedron_3 & nef) |
CGAL::Vector_3< Kernel > | normal3D (const CGAL::Point_3< Kernel > & a, const CGAL::Point_3< Kernel > & b, const CGAL::Point_3< Kernel > & c) |
CGAL::Vector_3< Kernel > | normal3D (const LineString & ls, bool exact=true) |
CGAL::Vector_3< Kernel > | normal3D (const Polygon & polygon, bool exact=true) |
auto | numIntersectionPoints (const CGAL::Polygon_with_holes_2< Kernel > & poly) |
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 __ |
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 | offsetCollection (const Geometry & g, const double & radius, Offset_polygon_set_2 & polygonSet) offset for MultiPoint ,MultiLineString ,MultiPolygon ,TriangulatedSurface ,PolyhedralSurface __ |
auto | operator<< (std::ostream & out, std::set< T * > & obs) |
auto | optimal_alpha_shapes (const Geometry & g, bool allow_holes=false, size_t nb_components=1) |
auto | partition_2 (const Geometry & g, PartitionAlgorithm alg=y_monotone) |
auto | perpendicular_vector (const Kernel::Vector_3 & v) |
void | plane3D (const Polygon & polygon, CGAL::Point_3< Kernel > & a, CGAL::Point_3< Kernel > & b, CGAL::Point_3< Kernel > & c) |
CGAL::Plane_3< Kernel > | plane3D (const Polygon & polygon) |
CGAL::Plane_3< Kernel > | plane3D (const Polygon & polygon, const Plane3DInexactUnsafe &) |
CGAL::Plane_3< Kernel > | plane3D (const Polygon & polygon, bool exact) |
auto | polygonSetToMultiPolygon (const Offset_polygon_set_2 & polygonSet, const int & n) convert Offset_polygon_set_2 to MultiPolygon __ |
void | post_difference (const GeometrySet< 2 > & input, GeometrySet< 2 > & output) |
void | post_difference (const GeometrySet< 3 > & input, GeometrySet< 3 > & output) |
void | post_intersection (const GeometrySet< 2 > & input, GeometrySet< 2 > & output) |
void | post_intersection (const GeometrySet< 3 > & input, GeometrySet< 3 > & output) |
void | propagateValidityFlag (Geometry & g, bool valid) |
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) |
void | scale (Geometry & g, double sx, double sy, double sz=0.0) |
void | scale (Geometry & g, double sx, double sy, double sz, double cx, double cy, double cz) |
auto | segmentsLength (const GeometrySet< Dim > & gs) |
auto | selfIntersects (const LineString & l) |
auto | selfIntersects (const PolyhedralSurface & s, const SurfaceGraph & g) |
auto | selfIntersects (const TriangulatedSurface & s, const SurfaceGraph & g) |
auto | selfIntersects3D (const LineString & l) |
auto | selfIntersects3D (const PolyhedralSurface & s, const SurfaceGraph & g) |
auto | selfIntersects3D (const TriangulatedSurface & s, const SurfaceGraph & g) |
auto | selfIntersectsImpl (const LineString & line) |
auto | selfIntersectsImpl (const PolyhedralSurface & s, const SurfaceGraph & graph) |
auto | selfIntersectsImpl (const TriangulatedSurface & tin, const SurfaceGraph & graph) |
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 | solidsVolume (const GeometrySet< 3 > & gs, bool planarSurface=false) |
auto | solidsVolume (const GeometrySet< 2 > &) |
auto | squaredDistancePointTriangle3D (const Point_3 & p, const Triangle_3 & abc) |
auto | squaredDistanceSegmentTriangle3D (const Segment_3 & sAB, const Triangle_3 & tABC) |
auto | squaredDistanceTriangleTriangle3D (const Triangle_3 & triangleA, const Triangle_3 & triangleB) |
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 | 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 . |
auto | surfacesArea (const GeometrySet< 2 > & gs) |
auto | surfacesArea (const GeometrySet< 3 > & gs) |
auto | tesselate (const Geometry & g, NoValidityCheck) |
auto | tesselate (const Geometry & g) |
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 |
auto | union3D (const Geometry & ga, const Geometry & gb, NoValidityCheck) |
auto | union3D (const Geometry & ga, const Geometry & gb) |
auto | union_ (const Geometry & ga, const Geometry & gb, NoValidityCheck) |
auto | union_ (const Geometry & ga, const Geometry & gb) |
void | union_ (const detail::GeometrySet< Dim > & a, const detail::GeometrySet< Dim > & b, detail::GeometrySet< Dim > &) |
void | union_ (const detail::PrimitiveHandle< Dim > & a, const detail::PrimitiveHandle< Dim > & b, detail::GeometrySet< Dim > &) |
void | union_point_point (Handle a, Handle b) |
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) |
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) |
auto | visibility (const Geometry & polygon, const Geometry & point) build the visibility polygon of a Point inside aPolygon __ |
auto | visibility (const Geometry & polygon, const Geometry & point, NoValidityCheck) build the visibility polygon of a Point inside aPolygon __ |
auto | visibility (const Geometry & polygon, const Geometry & pointA, const Geometry & pointB) build the visibility polygon of the segment [pointA ; pointB] on a Polygon __ |
auto | visibility (const Geometry & polygon, const Geometry & pointA, const Geometry & pointB, NoValidityCheck) build the visibility polygon of a Point inside aPolygon __ |
auto | volume (const Solid & g, NoValidityCheck) |
auto | volume (const Geometry & g) |
Public Static Functions
Type | Name |
---|---|
auto | alpha_to_geometry (const Alpha_shape_2 & A, bool allow_holes) |
auto | computeAlpha (const Geometry & g, Alpha_shape_2 & alphaShape, double alpha=0, size_t nb_components=1) |
auto | polygons_to_geometry (const std::list< TPolygon_2 > & polys) |
auto | query_visibility (Face_handle fh, Halfedge_const_handle he) |
auto | toTPolygon_2 (const Polygon & poly) |
Public Types Documentation
typedef Alpha_shape_2
using SFCGAL::algorithm::Alpha_shape_2 = typedef CGAL::Alpha_shape_2<Triangulation_2>;
typedef Alpha_shape_edges_iterator
using SFCGAL::algorithm::Alpha_shape_edges_iterator = typedef Alpha_shape_2::Alpha_shape_edges_iterator;
typedef Arrangement
using SFCGAL::algorithm::Arrangement = typedef CGAL::Arrangement_2<Traits_2>;
typedef Arrangement_2
typedef CGAL::Arrangement_2< Traits_2 > SFCGAL::algorithm::Arrangement_2;
typedef FaceBboxBase
typedef CGAL::Box_intersection_d::Box_with_handle_d< double, 3, MarkedPolyhedron::Halfedge_around_facet_const_circulator> SFCGAL::algorithm::FaceBboxBase;
typedef Face_const_handle
using SFCGAL::algorithm::Face_const_handle = typedef Arrangement_2::Face_const_handle;
typedef Face_handle
using SFCGAL::algorithm::Face_handle = typedef Arrangement_2::Face_handle;
typedef Fb
using SFCGAL::algorithm::Fb = typedef CGAL::Alpha_shape_face_base_2<Kernel>;
typedef Halfedge_const_handle
using SFCGAL::algorithm::Halfedge_const_handle = typedef Arrangement_2::Halfedge_const_handle;
typedef MarkedPolyhedron
typedef detail::MarkedPolyhedron SFCGAL::algorithm::MarkedPolyhedron;
typedef Mesh
using SFCGAL::algorithm::Mesh = typedef CGAL::Surface_mesh<Point_3>;
typedef Nef_polyhedron_3
using SFCGAL::algorithm::Nef_polyhedron_3 = typedef CGAL::Nef_polyhedron_3<Kernel>;
typedef NoVolume
typedef detail::NoVolume SFCGAL::algorithm::NoVolume;
enum PartitionAlgorithm
enum SFCGAL::algorithm::PartitionAlgorithm {
y_monotone,
approx_convex,
greene_approx_convex,
optimal_convex
};
Partition algorithm available
Since:
1.4.2
typedef Plane_3
typedef CGAL::Plane_3< Kernel > SFCGAL::algorithm::Plane_3;
typedef Point_2
typedef Kernel::Point_2 SFCGAL::algorithm::Point_2;
typedef Point_3
typedef Kernel::Point_3 SFCGAL::algorithm::Point_3;
typedef PolygonWH_2
typedef CGAL::Polygon_with_holes_2<Kernel> SFCGAL::algorithm::PolygonWH_2;
typedef PolygonWithHoles
using SFCGAL::algorithm::PolygonWithHoles = typedef CGAL::Polygon_with_holes_2<Kernel>;
typedef Polygon_2
typedef CGAL::Polygon_2< Kernel > SFCGAL::algorithm::Polygon_2;
typedef Polygon_with_holes_2
using SFCGAL::algorithm::Polygon_with_holes_2 = typedef CGAL::Polygon_with_holes_2<Kernel>;
typedef Polyhedron_3
typedef CGAL::Polyhedron_3< Kernel > SFCGAL::algorithm::Polyhedron_3;
typedef Polyline_3
using SFCGAL::algorithm::Polyline_3 = typedef std::vector<Kernel::Point_3>;
enum PrimitiveType
enum SFCGAL::algorithm::PrimitiveType {
PrimitivePoint = 0,
PrimitiveSegment = 1,
PrimitiveSurface = 2,
PrimitiveVolume = 3,
PrimitiveEmpty = 4
};
typedef SHARED_PTR
using SFCGAL::algorithm::SHARED_PTR = typedef boost::shared_ptr<T>;
typedef Segment_2
typedef Kernel::Segment_2 SFCGAL::algorithm::Segment_2;
typedef Segment_3
typedef CGAL::Segment_3< Kernel > SFCGAL::algorithm::Segment_3;
typedef Straight_skeleton_2
using SFCGAL::algorithm::Straight_skeleton_2 = typedef CGAL::Straight_skeleton_2<Kernel>;
typedef TEV
using SFCGAL::algorithm::TEV = typedef CGAL::Triangular_expansion_visibility_2<Arrangement_2, CGAL::Tag_true>;
typedef TPoint_2
using SFCGAL::algorithm::TPoint_2 = typedef Traits::Point_2;
typedef TPolygon_2
using SFCGAL::algorithm::TPolygon_2 = typedef Traits::Polygon_2;
typedef Tds
using SFCGAL::algorithm::Tds = typedef CGAL::Triangulation_data_structure_2<Vb, Fb>;
typedef Traits
using SFCGAL::algorithm::Traits = typedef CGAL::Partition_traits_2<Kernel>;
typedef Traits_2
typedef CGAL::Arr_segment_traits_2< Kernel > SFCGAL::algorithm::Traits_2;
typedef Triangle_2
typedef CGAL::Triangle_2< Kernel > SFCGAL::algorithm::Triangle_2;
typedef Triangle_3
typedef CGAL::Triangle_3< Kernel > SFCGAL::algorithm::Triangle_3;
typedef Triangulation_2
using SFCGAL::algorithm::Triangulation_2 = typedef CGAL::Delaunay_triangulation_2<Kernel, Tds>;
typedef Vb
using SFCGAL::algorithm::Vb = typedef CGAL::Alpha_shape_vertex_base_2<Kernel>;
typedef Vector_2
typedef CGAL::Vector_2<Kernel> SFCGAL::algorithm::Vector_2;
typedef Vector_3
typedef CGAL::Vector_3<Kernel> SFCGAL::algorithm::Vector_3;
Public Functions Documentation
function _intersection_solid_segment
void SFCGAL::algorithm::_intersection_solid_segment (
const PrimitiveHandle < 3 > & pa,
const PrimitiveHandle < 3 > & pb,
GeometrySet < 3 > & output
)
function _intersection_solid_solid
void SFCGAL::algorithm::_intersection_solid_solid (
const MarkedPolyhedron & pa,
const MarkedPolyhedron & pb,
GeometrySet < 3 > & output
)
function _intersection_solid_triangle
void SFCGAL::algorithm::_intersection_solid_triangle (
const MarkedPolyhedron & pa,
const Triangle_3 & tri,
detail::GeometrySet < 3 > & output
)
function _intersection_solid_triangle
void SFCGAL::algorithm::_intersection_solid_triangle (
const MarkedPolyhedron & pa,
const CGAL::Triangle_3< Kernel > & tri,
GeometrySet < 3 > & output
)
function _intersects
auto SFCGAL::algorithm::_intersects (
const PrimitiveHandle < 2 > & pa,
const PrimitiveHandle < 2 > & pb
)
function _intersects
auto SFCGAL::algorithm::_intersects (
const PrimitiveHandle < 3 > & pa,
const PrimitiveHandle < 3 > & pb
)
function alphaShapes
auto SFCGAL::algorithm::alphaShapes (
const Geometry & g,
double alpha=1,
bool allow_holes=false
)
Compute the 2D alpha shapes for a geometry https://doc.cgal.org/latest/Alpha_shapes_2/index.html#Chapter_2D_Alpha_Shapes
Since:
1.4.1
function alpha_edges
template<class OutputIterator>
void SFCGAL::algorithm::alpha_edges (
const Alpha_shape_2 & A,
OutputIterator out
)
function appendDifference
void SFCGAL::algorithm::appendDifference (
const PrimitiveHandle < 2 > & pa,
CollisionMapper < 2 >::PrimitiveHandleSet::const_iterator begin,
CollisionMapper < 2 >::PrimitiveHandleSet::const_iterator end,
GeometrySet < 2 > & output
)
function appendDifference
void SFCGAL::algorithm::appendDifference (
const PrimitiveHandle < 3 > & pa,
CollisionMapper < 3 >::PrimitiveHandleSet::const_iterator begin,
CollisionMapper < 3 >::PrimitiveHandleSet::const_iterator end,
GeometrySet < 3 > & output
)
function approximate
auto SFCGAL::algorithm::approximate (
const Offset_polygon_2 & polygon,
const int & n=0
)
function approximate
auto SFCGAL::algorithm::approximate (
const Offset_polygon_with_holes_2 & polygon,
const int & n=0
)
function approximateMedialAxis
build an approximate medial axis for a Polygon __
auto SFCGAL::algorithm::approximateMedialAxis (
const Geometry & g
)
Parameters:
g
input geometry
Precondition:
g is a valid geometry
Exception:
- NotImplementedException If g is a Polygon with point touching rings.
function area
Compute the 2D area for a Geometry .
auto SFCGAL::algorithm::area (
const Geometry & g,
NoValidityCheck
)
Warning:
Z component is ignored, there is no 2D projection for 3D geometries
Precondition:
g is a valid geometry
Warning:
No actual validity check is done
function area
Compute the 2D area for a Geometry .
auto SFCGAL::algorithm::area (
const Geometry & g
)
Warning:
Z component is ignored, there is no 2D projection for 3D geometries
Precondition:
g is a valid geometry
function area
auto SFCGAL::algorithm::area (
const Triangle & g
)
Returns Compute the 2D area for a Triangle
function area
auto SFCGAL::algorithm::area (
const Polygon & g
)
Returns Compute the 2D area for a Polygon
function area
auto SFCGAL::algorithm::area (
const GeometryCollection & g
)
Returns the 2D area for a GeometryCollection
function area
auto SFCGAL::algorithm::area (
const TriangulatedSurface & g
)
Returns the 2D area for a TriangulatedSurface
function area
auto SFCGAL::algorithm::area (
const PolyhedralSurface & g
)
Returns the 2D area for a TriangulatedSurface
function area3D
auto SFCGAL::algorithm::area3D (
const Geometry & g,
NoValidityCheck
)
– area3D
Returns 3D area for a Geometry
Warning:
Solid area is set to 0 (might be defined as the area of the surface)
Precondition:
g is a valid geometry
Warning:
No actual validity check is done
function area3D
auto SFCGAL::algorithm::area3D (
const Geometry & g
)
Returns 3D area for a Geometry
Warning:
Solid area is set to 0 (might be defined as the area of the surface)
Precondition:
g is a valid geometry
function area3D
auto SFCGAL::algorithm::area3D (
const Polygon & g
)
Returns 3D area for a Polygon
function area3D
auto SFCGAL::algorithm::area3D (
const Triangle & g
)
Returns the 3D area for a Triangle
function area3D
auto SFCGAL::algorithm::area3D (
const GeometryCollection & g
)
Returns the 3D area for a MultiPolygon
function area3D
auto SFCGAL::algorithm::area3D (
const PolyhedralSurface & g
)
Returns the 3D area for a PolyhedralSurface
function area3D
auto SFCGAL::algorithm::area3D (
const TriangulatedSurface & g
)
Returns the 3D area for a TriangulatedSurface
function boundingCircle
auto SFCGAL::algorithm::boundingCircle (
const Geometry & geom
)
function boundingSphere
auto SFCGAL::algorithm::boundingSphere (
const Geometry & geom
)
function circleToPolygon
auto SFCGAL::algorithm::circleToPolygon (
const Kernel::Circle_2 & circle
)
function collect
auto SFCGAL::algorithm::collect (
const Geometry & ga,
const Geometry & gb
)
Returns an aggregate of ga and gb
function collect
template<typename GeometryIterator>
std::unique_ptr< Geometry > SFCGAL::algorithm::collect (
GeometryIterator begin,
GeometryIterator end
)
Returns an aggregate of a list of geometries
function collectPrimitives
template<int Dim>
void SFCGAL::algorithm::collectPrimitives (
const typename HandledBox < Dim >::Vector & boxes,
detail::GeometrySet < Dim > & output
)
function collectionExtractPolygons
auto SFCGAL::algorithm::collectionExtractPolygons (
std::unique_ptr< Geometry > g
)
function collectionHomogenize
auto 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.
Warning:
Ownership is taken from the parameter
function collectionToMulti
auto SFCGAL::algorithm::collectionToMulti (
std::unique_ptr< Geometry > coll
)
Given a geometry collection of triangles, TINs and polygons returns a MultiPolygon
Warning:
Ownership is taken from the parameter
function collidingTriangles
template<typename TriangleOutputIteratorType>
TriangleOutputIteratorType SFCGAL::algorithm::collidingTriangles (
const FaceSegmentCollide::CollisionVector & collisions,
TriangleOutputIteratorType out
)
function compute_bboxes
template<int Dim, class OutputIterator>
auto SFCGAL::algorithm::compute_bboxes (
const detail::GeometrySet < Dim > & gs,
OutputIterator out
)
function convexHull
auto SFCGAL::algorithm::convexHull (
const Geometry & g
)
Compute the 2D convex hull for a geometry
function convexHull3D
auto SFCGAL::algorithm::convexHull3D (
const Geometry & g
)
Compute the 3D convex hull for a geometry
Todo
improve to handle collinear points and coplanar points
function covers
auto SFCGAL::algorithm::covers (
const PrimitiveHandle < 3 > &,
const PrimitiveHandle < 3 > &
)
function covers
template<int Dim>
auto SFCGAL::algorithm::covers (
const detail::GeometrySet < Dim > & a,
const detail::GeometrySet < Dim > & b
)
@
function covers
auto SFCGAL::algorithm::covers (
const Geometry & ga,
const Geometry & gb
)
Cover test on 2D geometries. Checks if gA covers gB. Force projection to z=0 if needed @
function covers
template<int Dim>
bool SFCGAL::algorithm::covers (
const detail::GeometrySet < Dim > & a,
const detail::GeometrySet < Dim > & b
)
@
function covers
template<int Dim>
bool SFCGAL::algorithm::covers (
const detail::PrimitiveHandle < Dim > & a,
const detail::PrimitiveHandle < Dim > & b
)
@
function covers3D
auto SFCGAL::algorithm::covers3D (
const Geometry & ga,
const Geometry & gb
)
Cover test on 3D geometries. Checks if gA covers gB. Assume z = 0 if needed
function covers< 2 >
template bool SFCGAL::algorithm::covers< 2 > (
const GeometrySet < 2 > & a,
const GeometrySet < 2 > & b
)
function covers< 3 >
template bool SFCGAL::algorithm::covers< 3 > (
const GeometrySet < 3 > & a,
const GeometrySet < 3 > & b
)
function difference
template<typename OutputIteratorType>
auto SFCGAL::algorithm::difference (
const Point_2 & primitive,
const PrimitiveHandle < 2 > & pb,
OutputIteratorType out
)
function difference
template<typename OutputIteratorType>
auto SFCGAL::algorithm::difference (
const Segment_2 & primitive,
const PrimitiveHandle < 2 > & pb,
OutputIteratorType out
)
function difference
template<typename OutputIteratorType>
auto SFCGAL::algorithm::difference (
const PolygonWH_2 & primitive,
const PrimitiveHandle < 2 > & pb,
OutputIteratorType out
)
function difference
template<typename OutputIteratorType>
auto SFCGAL::algorithm::difference (
const Point_3 & primitive,
const PrimitiveHandle < 3 > & pb,
OutputIteratorType out
)
function difference
template<typename OutputIteratorType>
auto SFCGAL::algorithm::difference (
const Segment_3 & primitive,
const PrimitiveHandle < 3 > & pb,
OutputIteratorType out
)
function difference
template<typename OutputIteratorType>
auto SFCGAL::algorithm::difference (
const Triangle_3 & primitive,
const PrimitiveHandle < 3 > & pb,
OutputIteratorType out
)
function difference
template<typename OutputIteratorType>
auto SFCGAL::algorithm::difference (
const MarkedPolyhedron & primitive,
const PrimitiveHandle < 3 > & pb,
OutputIteratorType out
)
function difference
template<typename Primitive, typename PrimitiveHandleConstIterator>
auto SFCGAL::algorithm::difference (
const Primitive & primitive,
PrimitiveHandleConstIterator begin,
PrimitiveHandleConstIterator end
)
function difference
template<int Dim>
void SFCGAL::algorithm::difference (
const GeometrySet < Dim > & a,
const GeometrySet < Dim > & b,
GeometrySet < Dim > & output
)
function difference
auto SFCGAL::algorithm::difference (
const Geometry & ga,
const Geometry & gb,
NoValidityCheck
)
Diffrence on 2D geometries. No validity check variant
Precondition:
ga and gb are valid geometries
Warning:
No actual validity check is done.
function difference
auto SFCGAL::algorithm::difference (
const Geometry & ga,
const Geometry & gb
)
Difference on 2D geometries.
Precondition:
ga and gb are valid geometries
function difference
template<typename PointOutputIteratorType>
PointOutputIteratorType SFCGAL::algorithm::difference (
const Point_2 & a,
const Point_2 & b,
PointOutputIteratorType out
)
function difference
template<typename PointOutputIteratorType>
PointOutputIteratorType SFCGAL::algorithm::difference (
const Point_2 & a,
const Segment_2 & b,
PointOutputIteratorType out
)
function difference
template<typename PointOutputIteratorType>
PointOutputIteratorType SFCGAL::algorithm::difference (
const Point_2 & a,
const PolygonWH_2 & b,
PointOutputIteratorType out
)
function difference
template<typename PointOutputIteratorType>
PointOutputIteratorType SFCGAL::algorithm::difference (
const Point_2 &,
const NoVolume &,
PointOutputIteratorType out
)
function difference
template<typename SegmentOutputIteratorType>
SegmentOutputIteratorType SFCGAL::algorithm::difference (
const Segment_2 &,
const NoVolume &,
SegmentOutputIteratorType out
)
function difference
template<typename SurfaceOutputIteratorType>
SurfaceOutputIteratorType SFCGAL::algorithm::difference (
const PolygonWH_2 &,
const NoVolume &,
SurfaceOutputIteratorType out
)
function difference
template<typename PointOutputIteratorType>
PointOutputIteratorType SFCGAL::algorithm::difference (
const Point_3 & a,
const Point_3 & b,
PointOutputIteratorType out
)
function difference
template<typename PointOutputIteratorType>
PointOutputIteratorType SFCGAL::algorithm::difference (
const Point_3 & a,
const Segment_3 & b,
PointOutputIteratorType out
)
function difference
template<typename PointOutputIteratorType>
PointOutputIteratorType SFCGAL::algorithm::difference (
const Point_3 & a,
const Triangle_3 & b,
PointOutputIteratorType out
)
function difference
template<typename PointOutputIteratorType>
PointOutputIteratorType SFCGAL::algorithm::difference (
const Point_3 & a,
const MarkedPolyhedron & b,
PointOutputIteratorType out
)
function difference
template<typename SegmentType, typename SegmentOrSurfaceType, typename SegmentOutputIteratorType>
SegmentOutputIteratorType SFCGAL::algorithm::difference (
const SegmentType & a,
const SegmentOrSurfaceType & b,
SegmentOutputIteratorType out
)
function difference
template<typename SegmentOutputIteratorType>
SegmentOutputIteratorType SFCGAL::algorithm::difference (
const Segment_2 & segment,
const PolygonWH_2 & polygon,
SegmentOutputIteratorType out
)
function difference
template<typename OutputIteratorType>
OutputIteratorType SFCGAL::algorithm::difference (
const Triangle_3 & p,
const Triangle_3 & q,
OutputIteratorType out
)
function difference
template<typename VolumeOutputIteratorType>
VolumeOutputIteratorType SFCGAL::algorithm::difference (
const MarkedPolyhedron & a,
const MarkedPolyhedron & b,
VolumeOutputIteratorType out
)
function difference
template<typename SegmentOutputIteratorType>
SegmentOutputIteratorType SFCGAL::algorithm::difference (
const Segment_3 & segment,
const MarkedPolyhedron & polyhedron,
SegmentOutputIteratorType out
)
function difference
template<typename TriangleOutputIteratorType>
TriangleOutputIteratorType SFCGAL::algorithm::difference (
const Triangle_3 & triangle,
const MarkedPolyhedron & polyhedron,
TriangleOutputIteratorType out
)
function difference
template<typename PolygonOutputIteratorType>
PolygonOutputIteratorType SFCGAL::algorithm::difference (
const PolygonWH_2 & a,
const PolygonWH_2 & b,
PolygonOutputIteratorType out
)
function difference3D
auto SFCGAL::algorithm::difference3D (
const Geometry & ga,
const Geometry & gb,
NoValidityCheck
)
Difference on 3D geometries. Assume z = 0 if needed
Precondition:
ga and gb are valid geometries
Warning:
@ No actual validity check is done
function difference3D
auto SFCGAL::algorithm::difference3D (
const Geometry & ga,
const Geometry & gb
)
Difference on 3D geometries. Assume z = 0 if needed
Precondition:
ga and gb are valid geometries
function difference< 2 >
template void SFCGAL::algorithm::difference< 2 > (
const GeometrySet < 2 > & a,
const GeometrySet < 2 > & b,
GeometrySet < 2 > &
)
function difference< 3 >
template void SFCGAL::algorithm::difference< 3 > (
const GeometrySet < 3 > & a,
const GeometrySet < 3 > & b,
GeometrySet < 3 > &
)
function dispatch_intersection_sym
template<int Dim>
void SFCGAL::algorithm::dispatch_intersection_sym (
const PrimitiveHandle < Dim > & pa,
const PrimitiveHandle < Dim > & pb,
GeometrySet < Dim > & output
)
function dispatch_intersects_sym
template<int Dim>
auto SFCGAL::algorithm::dispatch_intersects_sym (
const PrimitiveHandle < Dim > & pa,
const PrimitiveHandle < Dim > & pb
)
function distance
auto SFCGAL::algorithm::distance (
const Geometry & gA,
const Geometry & gB,
NoValidityCheck
)
Compute the distance between two Geometries
Precondition:
gA is a valid geometry
Precondition:
gB is a valid geometry
Warning:
No actual validity check is done
function distance
auto SFCGAL::algorithm::distance (
const Geometry & gA,
const Geometry & gB
)
Compute the distance between two Geometries
Precondition:
gA is a valid geometry
Precondition:
gB is a valid geometry
function distance3D
auto SFCGAL::algorithm::distance3D (
const Geometry & gA,
const Geometry & gB,
NoValidityCheck
)
Compute distance between two 3D Geometries
Precondition:
gA is a valid geometry
Precondition:
gB is a valid geometry
Warning:
No actual validity check is done
function distance3D
auto SFCGAL::algorithm::distance3D (
const Geometry & gA,
const Geometry & gB
)
dispatch distance between two Geometries
Todo
complete with solid Compute distance between two 3D Geometries
Precondition:
gA is a valid geometry
Precondition:
gB is a valid geometry
function distanceGeometryCollectionToGeometry
auto SFCGAL::algorithm::distanceGeometryCollectionToGeometry (
const Geometry & gA,
const Geometry & gB
)
dispatch distance from a collection of geometry (gA) to a Geometry (gB)
function distanceGeometryCollectionToGeometry3D
auto SFCGAL::algorithm::distanceGeometryCollectionToGeometry3D (
const Geometry & gA,
const Geometry & gB
)
dispatch distance from a collection of geometry (gA) to a Geometry (gB)
function distanceLineStringGeometry
auto SFCGAL::algorithm::distanceLineStringGeometry (
const LineString & gA,
const Geometry & gB
)
dispatch distance from LineString to Geometry
function distanceLineStringGeometry3D
auto SFCGAL::algorithm::distanceLineStringGeometry3D (
const LineString & gA,
const Geometry & gB
)
dispatch distance between a LineString and a Geometry
function distanceLineStringLineString
auto SFCGAL::algorithm::distanceLineStringLineString (
const LineString & gA,
const LineString & gB
)
distance between two LineStrings
function distanceLineStringLineString3D
auto SFCGAL::algorithm::distanceLineStringLineString3D (
const LineString & gA,
const LineString & gB
)
distance between two LineStrings
function distanceLineStringPolygon
auto SFCGAL::algorithm::distanceLineStringPolygon (
const LineString & gA,
const Polygon & gB
)
distance between a LineString and a Polygon
function distanceLineStringPolygon3D
auto SFCGAL::algorithm::distanceLineStringPolygon3D (
const LineString & gA,
const Polygon & gB
)
distance between a LineString and a Polygon
Todo
same method than distancePointPolygon3D (unify if triangulate is available)
function distanceLineStringSolid3D
auto SFCGAL::algorithm::distanceLineStringSolid3D (
const LineString & gA,
const Solid & gB
)
distance between a LineString and a Solid
function distanceLineStringTriangle
auto SFCGAL::algorithm::distanceLineStringTriangle (
const LineString & gA,
const Triangle & gB
)
distance between a LineString and a Triangle
function distanceLineStringTriangle3D
auto SFCGAL::algorithm::distanceLineStringTriangle3D (
const LineString & gA,
const Triangle & gB
)
distance between a LineString and a Triangle
function distancePointGeometry
auto SFCGAL::algorithm::distancePointGeometry (
const Point & gA,
const Geometry & gB
)
dispatch distance from Point to Geometry
function distancePointGeometry3D
auto SFCGAL::algorithm::distancePointGeometry3D (
const Point & gA,
const Geometry & gB
)
dispatch distance from Point to Geometry
function distancePointLineString
auto SFCGAL::algorithm::distancePointLineString (
const Point & gA,
const LineString & gB
)
distance between a Point and a LineString
function distancePointLineString3D
auto SFCGAL::algorithm::distancePointLineString3D (
const Point & gA,
const LineString & gB
)
distance between a Point and a LineString
function distancePointPoint
auto SFCGAL::algorithm::distancePointPoint (
const Point & gA,
const Point & gB
)
distance between two Points
function distancePointPoint3D
auto SFCGAL::algorithm::distancePointPoint3D (
const Point & gA,
const Point & gB
)
distance between two Points
function distancePointPolygon
auto SFCGAL::algorithm::distancePointPolygon (
const Point & gA,
const Polygon & gB
)
distance between a Point and a Polygon
function distancePointPolygon3D
auto SFCGAL::algorithm::distancePointPolygon3D (
const Point & gA,
const Polygon & gB
)
distance between a Point and a Triangle
function distancePointSegment
auto SFCGAL::algorithm::distancePointSegment (
const Point & p,
const Point & a,
const Point & b
)
function distancePointSegment3D
auto SFCGAL::algorithm::distancePointSegment3D (
const Point & p,
const Point & a,
const Point & b
)
function distancePointSolid3D
auto SFCGAL::algorithm::distancePointSolid3D (
const Point & gA,
const Solid & gB
)
distance between a Point and a Solid
function distancePointTriangle
auto SFCGAL::algorithm::distancePointTriangle (
const Point & gA,
const Triangle & gB
)
distance between a Point and a Triangle
function distancePointTriangle3D
auto SFCGAL::algorithm::distancePointTriangle3D (
const Point & gA,
const Triangle & gB
)
distance between a Point and a Triangle
function distancePointTriangle3D
auto SFCGAL::algorithm::distancePointTriangle3D (
const Point & p_,
const Point & a_,
const Point & b_,
const Point & c_
)
function distancePolygonGeometry
auto SFCGAL::algorithm::distancePolygonGeometry (
const Polygon & gA,
const Geometry & gB
)
dispatch distance from Polygon to Geometry
function distancePolygonGeometry3D
auto SFCGAL::algorithm::distancePolygonGeometry3D (
const Polygon & gA,
const Geometry & gB
)
dispatch distance between a Polygon and a Geometry
function distancePolygonPolygon
auto SFCGAL::algorithm::distancePolygonPolygon (
const Polygon & gA,
const Polygon & gB
)
distance between two Polygons
function distancePolygonTriangle
auto SFCGAL::algorithm::distancePolygonTriangle (
const Polygon & gA,
const Triangle & gB
)
distance between a Polygon and a Triangle
function distanceSegmentSegment
auto SFCGAL::algorithm::distanceSegmentSegment (
const Point & a,
const Point & b,
const Point & c,
const Point & d
)
function distanceSegmentSegment3D
auto SFCGAL::algorithm::distanceSegmentSegment3D (
const Point & a,
const Point & b,
const Point & c,
const Point & d
)
function distanceSegmentTriangle3D
auto SFCGAL::algorithm::distanceSegmentTriangle3D (
const Point & sA_,
const Point & sB_,
const Point & tA_,
const Point & tB_,
const Point & tC_
)
function distanceSolidGeometry3D
auto SFCGAL::algorithm::distanceSolidGeometry3D (
const Solid & gA,
const Geometry & gB
)
dispatch distance between a Solid and a Geometry
function distanceSolidSolid3D
auto SFCGAL::algorithm::distanceSolidSolid3D (
const Solid & gA,
const Solid & gB
)
distance between two Solids
function distanceTriangleGeometry
auto SFCGAL::algorithm::distanceTriangleGeometry (
const Triangle & gA,
const Geometry & gB
)
dispatch distance from a Triangle to a Geometry
function distanceTriangleGeometry3D
auto SFCGAL::algorithm::distanceTriangleGeometry3D (
const Triangle & gA,
const Geometry & gB
)
dispatch distance between a Triangle and a Geometry
function distanceTriangleSolid3D
auto SFCGAL::algorithm::distanceTriangleSolid3D (
const Triangle & gA,
const Solid & gB
)
distance between a Triangle and a Solid
function distanceTriangleTriangle3D
auto SFCGAL::algorithm::distanceTriangleTriangle3D (
const Triangle & gA,
const Triangle & gB
)
distance between two Triangles
function do_intersect
inline bool SFCGAL::algorithm::do_intersect (
const Point_2 & point,
const PolygonWH_2 & polygon
)
function equalLength
template<int Dim>
auto SFCGAL::algorithm::equalLength (
const GeometrySet < Dim > & a,
const GeometrySet < Dim > & b,
int dim
)
function extrude
auto SFCGAL::algorithm::extrude (
const Point & g,
const Kernel::Vector_3 & v
)
function extrude
auto SFCGAL::algorithm::extrude (
const LineString & g,
const Kernel::Vector_3 & v
)
function extrude
auto SFCGAL::algorithm::extrude (
const Polygon & g,
const Kernel::Vector_3 & v,
bool addTop=true
)
function extrude
auto SFCGAL::algorithm::extrude (
const Triangle & g,
const Kernel::Vector_3 & v
)
function extrude
auto SFCGAL::algorithm::extrude (
const MultiPoint & g,
const Kernel::Vector_3 & v
)
function extrude
auto SFCGAL::algorithm::extrude (
const MultiLineString & g,
const Kernel::Vector_3 & v
)
function extrude
auto SFCGAL::algorithm::extrude (
const MultiPolygon & g,
const Kernel::Vector_3 & v
)
function extrude
auto SFCGAL::algorithm::extrude (
const TriangulatedSurface & g,
const Kernel::Vector_3 & v
)
Warning:
suppose that the TriangulatedSurface is connected
Todo
take orientation in account
function extrude
auto SFCGAL::algorithm::extrude (
const PolyhedralSurface & g,
const Kernel::Vector_3 & v
)
Warning:
doesn't take orientation in account
Todo
take orientation in account
function extrude
auto SFCGAL::algorithm::extrude (
const GeometryCollection & g,
const Kernel::Vector_3 & v
)
extrude each geometry in a GeometryCollection
function extrude
Returns a Geometry equal to the specifiedGeometry , extruded by the specified displacement vector.
auto SFCGAL::algorithm::extrude (
const Geometry & g,
const Kernel::Vector_3 & v
)
Parameters:
g
The specified Geometry.v
The specified displacement vector.
Returns:
A Geometry equal to g extruded by the displacement vector v.
Precondition:
g must be a valid geometry.
Note:
If g is such that g.isMeasured() is true, then, since there is no common expectation of the values of the measures on the returned Geometry, all measures from the result are removed.
Todo
Improve extrude for 3D surfaces - Extrude only faces whose scalar_product(v,normal) > 0 and use Polyhedron union to get output geometries with a clean topology.
function extrude
auto SFCGAL::algorithm::extrude (
const Geometry & g,
const Kernel::FT & dx,
const Kernel::FT & dy,
const Kernel::FT & dz,
NoValidityCheck
)
function extrude
Returns a Geometry equal to the specifiedGeometry , extruded by the specified displacement.
auto SFCGAL::algorithm::extrude (
const Geometry & g,
const Kernel::FT & dx,
const Kernel::FT & dy,
const Kernel::FT & dz
)
Parameters:
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.
Returns:
A Geometry equal to g extruded by the displacement vector {dx, dy, dz}.
Precondition:
g must be a valid geometry.
Precondition:
dx, dy and dz must all be finite.
Note:
If g is such that g.isMeasured() is true, then, since there is no common expectation of the values of the measures on the returned Geometry, all measures from the result are removed.
function extrude
Returns a Geometry equal to the specifiedGeometry , extruded by the specified displacement.
SFCGAL_API auto SFCGAL::algorithm::extrude (
const Geometry & g,
const double & dx,
const double & dy,
const double & dz
)
Parameters:
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.
Returns:
A Geometry equal to g extruded by the displacement vector {dx, dy, dz}.
Precondition:
g must be a valid geometry.
Precondition:
dx, dy and dz must all be finite.
Note:
If g is such that g.isMeasured() is true, then, since there is no common expectation of the values of the measures on the returned Geometry, all measures from the result are removed.
Warning:
No actual validity check is conducted.
function extrude
SFCGAL_API auto SFCGAL::algorithm::extrude (
const Polygon & g,
const double & height
)
function extrude
Returns a Geometry equal to the specifiedGeometry , extruded by the specified displacement.
SFCGAL_API std::unique_ptr< Geometry > SFCGAL::algorithm::extrude (
const Geometry & g,
const Kernel::FT & dx,
const Kernel::FT & dy,
const Kernel::FT & dz,
NoValidityCheck & nvc
)
Parameters:
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.
Returns:
A Geometry equal to g extruded by the displacement vector {dx, dy, dz}.
Precondition:
g must be a valid geometry.
Precondition:
dx, dy and dz must all be finite.
Note:
If g is such that g.isMeasured() is true, then, since there is no common expectation of the values of the measures on the returned Geometry, all measures from the result are removed.
Warning:
No actual validity check is conducted.
function extrudeStraightSkeleton
auto SFCGAL::algorithm::extrudeStraightSkeleton (
const Polygon & g,
double height
)
function extrudeStraightSkeleton
auto SFCGAL::algorithm::extrudeStraightSkeleton (
const Geometry & g,
double height
)
function extrudeStraightSkeleton
auto SFCGAL::algorithm::extrudeStraightSkeleton (
const Geometry & g,
double building_height,
double roof_height
)
function extrudedStraightSkeleton
build a 3D straight skeleton extruded for a Polygon __
SFCGAL_API auto SFCGAL::algorithm::extrudedStraightSkeleton (
const Polygon & g,
double height
)
Exception:
- NotImplementedException If g is a Polygon with point touching rings.
function fix_cgal_valid_polygon
template<typename PolygonOutputIteratorType>
PolygonOutputIteratorType SFCGAL::algorithm::fix_cgal_valid_polygon (
const PolygonWH_2 & p,
PolygonOutputIteratorType out
)
function fix_sfs_valid_polygon
inline PolygonWH_2 SFCGAL::algorithm::fix_sfs_valid_polygon (
const PolygonWH_2 & p
)
function force2D
force a geometry to be 2D (project on O,x,y)
void SFCGAL::algorithm::force2D (
Geometry & g
)
Warning:
ignore empty geometries
function force3D
force a 2D geometry to be 3D (replace undefined Z by defaultZ, existing Z values remains unchanged)
void SFCGAL::algorithm::force3D (
Geometry & g,
const Kernel::FT & defaultZ=0
)
Warning:
ignore empty geometries
function geometryToNef
auto SFCGAL::algorithm::geometryToNef (
const Geometry & g
)
function handleLeakTest
void SFCGAL::algorithm::handleLeakTest ()
function hasConsistentOrientation3D
auto SFCGAL::algorithm::hasConsistentOrientation3D (
const TriangulatedSurface & g
)
Test if a Geometry has a consistent orientation
function hasConsistentOrientation3D
auto SFCGAL::algorithm::hasConsistentOrientation3D (
const PolyhedralSurface & g
)
Test if a PolyhedralSurface has a consistent orientation
function hasPlane3D
template<typename Kernel>
bool SFCGAL::algorithm::hasPlane3D (
const Polygon & polygon,
CGAL::Point_3< Kernel > & a,
CGAL::Point_3< Kernel > & b,
CGAL::Point_3< Kernel > & c
)
function hasPlane3D
template<typename Kernel>
bool SFCGAL::algorithm::hasPlane3D (
const Polygon & polygon
)
Test if a 3D plane can be extracted from a Polygon
function intersection
auto SFCGAL::algorithm::intersection (
const CGAL::Triangle_3< Kernel > & a,
const CGAL::Triangle_3< Kernel > & b
)
function intersection
void SFCGAL::algorithm::intersection (
const PrimitiveHandle < 3 > & pa,
const PrimitiveHandle < 3 > & pb,
GeometrySet < 3 > & output,
dim_t < 3 >
)
function intersection
void SFCGAL::algorithm::intersection (
const PrimitiveHandle < 2 > & pa,
const PrimitiveHandle < 2 > & pb,
GeometrySet < 2 > & output,
dim_t < 2 >
)
function intersection
template<int Dim>
void SFCGAL::algorithm::intersection (
const PrimitiveHandle < Dim > & pa,
const PrimitiveHandle < Dim > & pb,
GeometrySet < Dim > & output
)
function intersection
template<int Dim>
void SFCGAL::algorithm::intersection (
const GeometrySet < Dim > & a,
const GeometrySet < Dim > & b,
GeometrySet < Dim > & output
)
function intersection
auto SFCGAL::algorithm::intersection (
const Geometry & ga,
const Geometry & gb,
NoValidityCheck
)
Intersection on 2D geometries. No validity check variant
Precondition:
ga and gb are valid geometries
Warning:
No actual validity check is done.
function intersection
auto SFCGAL::algorithm::intersection (
const Geometry & ga,
const Geometry & gb
)
Intersection on 2D geometries.
Precondition:
ga and gb are valid geometries
function intersection3D
auto SFCGAL::algorithm::intersection3D (
const Geometry & ga,
const Geometry & gb,
NoValidityCheck
)
Intersection on 3D geometries. Assume z = 0 if needed
Precondition:
ga and gb are valid geometries
Warning:
@ No actual validity check is done
function intersection3D
auto SFCGAL::algorithm::intersection3D (
const Geometry & ga,
const Geometry & gb
)
Intersection on 3D geometries. Assume z = 0 if needed
Precondition:
ga and gb are valid geometries
function intersection< 2 >
template void SFCGAL::algorithm::intersection< 2 > (
const PrimitiveHandle < 2 > & a,
const PrimitiveHandle < 2 > & b,
GeometrySet < 2 > &
)
function intersection< 2 >
template void SFCGAL::algorithm::intersection< 2 > (
const GeometrySet < 2 > & a,
const GeometrySet < 2 > & b,
GeometrySet < 2 > &
)
function intersection< 3 >
template void SFCGAL::algorithm::intersection< 3 > (
const PrimitiveHandle < 3 > & a,
const PrimitiveHandle < 3 > & b,
GeometrySet < 3 > &
)
function intersection< 3 >
template void SFCGAL::algorithm::intersection< 3 > (
const GeometrySet < 3 > & a,
const GeometrySet < 3 > & b,
GeometrySet < 3 > &
)
function intersects
template<int Dim>
auto SFCGAL::algorithm::intersects (
const detail::PrimitiveHandle < Dim > & a,
const detail::PrimitiveHandle < Dim > & b
)
Intersection test on a PrimitiveHandle
function intersects
template<int Dim>
auto SFCGAL::algorithm::intersects (
const detail::GeometrySet < Dim > & a,
const detail::GeometrySet < Dim > & b
)
Intersection test on GeometrySet
function intersects
auto SFCGAL::algorithm::intersects (
const Geometry & ga,
const Geometry & gb
)
Robust intersection test on 2D geometries. Force projection to z=0 if needed
Precondition:
ga and gb are valid geometries
function intersects
auto SFCGAL::algorithm::intersects (
const Geometry & ga,
const Geometry & gb,
NoValidityCheck
)
Intersection test on 2D geometries. Force projection to z=0 if needed
Precondition:
ga and gb are valid geometries
Warning:
the validity is assumed, no actual check is done
function intersects
template<int Dim>
bool SFCGAL::algorithm::intersects (
const detail::GeometrySet < Dim > & a,
const detail::GeometrySet < Dim > & b
)
Intersection test on GeometrySet
function intersects
template<int Dim>
bool SFCGAL::algorithm::intersects (
const detail::PrimitiveHandle < Dim > & a,
const detail::PrimitiveHandle < Dim > & b
)
Intersection test on a PrimitiveHandle
function intersects3D
auto SFCGAL::algorithm::intersects3D (
const Geometry & ga,
const Geometry & gb
)
Robust intersection test on 3D geometries. Assume z = 0 if needed
Precondition:
ga and gb are valid geometries
function intersects3D
auto SFCGAL::algorithm::intersects3D (
const Geometry & ga,
const Geometry & gb,
NoValidityCheck
)
Intersection test on 3D geometries. Assume z = 0 if needed
Precondition:
ga and gb are valid geometries
Warning:
the validity is assumed, no actual check is done
function intersects< 2 >
template bool SFCGAL::algorithm::intersects< 2 > (
const GeometrySet < 2 > & a,
const GeometrySet < 2 > & b
)
function intersects< 2 >
template bool SFCGAL::algorithm::intersects< 2 > (
const PrimitiveHandle < 2 > & a,
const PrimitiveHandle < 2 > & b
)
function intersects< 3 >
template bool SFCGAL::algorithm::intersects< 3 > (
const GeometrySet < 3 > & a,
const GeometrySet < 3 > & b
)
function intersects< 3 >
template bool SFCGAL::algorithm::intersects< 3 > (
const PrimitiveHandle < 3 > & a,
const PrimitiveHandle < 3 > & b
)
function isClosed
auto SFCGAL::algorithm::isClosed (
const SurfaceGraph & graph
)
test if a surface is closed, the graph should be build beforehand
Note:
the surface may not be connected, eg. two spheres will yield a true result
function isConnected
auto SFCGAL::algorithm::isConnected (
const SurfaceGraph & graph
)
test if a surface is connected, the graph should be build beforehand
function isCounterClockWiseOriented
auto SFCGAL::algorithm::isCounterClockWiseOriented (
const LineString & ls
)
Test if a 2D surface is oriented counter clockwise
function isCounterClockWiseOriented
auto SFCGAL::algorithm::isCounterClockWiseOriented (
const Triangle & tri
)
Test if a 2D surface is oriented counter clockwise
function isCounterClockWiseOriented
auto SFCGAL::algorithm::isCounterClockWiseOriented (
const Polygon & poly
)
Test if a 2D surface is oriented counter clockwise
function isHoleOf
inline bool SFCGAL::algorithm::isHoleOf (
const Polygon_2 & hole,
const Polygon_2 & poly
)
function isPlane3D
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
function isValid
auto SFCGAL::algorithm::isValid (
const Point & p
)
Note:
empty geometries are valid, but the test is only performed in the interface function in individual functions for implementation, an assertion !empty is present for this reason
function isValid
auto SFCGAL::algorithm::isValid (
const LineString & l,
const double & toleranceAbs
)
function isValid
auto SFCGAL::algorithm::isValid (
const Polygon & p,
const double & toleranceAbs
)
function isValid
auto SFCGAL::algorithm::isValid (
const Triangle & t,
const double & toleranceAbs
)
function isValid
auto SFCGAL::algorithm::isValid (
const MultiLineString & ml,
const double & toleranceAbs
)
function isValid
auto SFCGAL::algorithm::isValid (
const MultiPolygon & mp,
const double & toleranceAbs
)
function isValid
auto SFCGAL::algorithm::isValid (
const GeometryCollection & gc,
const double & toleranceAbs
)
function isValid
auto SFCGAL::algorithm::isValid (
const TriangulatedSurface & tin,
const SurfaceGraph & graph,
const double & toleranceAbs
)
function isValid
auto SFCGAL::algorithm::isValid (
const TriangulatedSurface & tin,
const double & toleranceAbs
)
function isValid
auto SFCGAL::algorithm::isValid (
const PolyhedralSurface & s,
const SurfaceGraph & graph,
const double & toleranceAbs
)
function isValid
auto SFCGAL::algorithm::isValid (
const PolyhedralSurface & s,
const double & toleranceAbs
)
function isValid
auto SFCGAL::algorithm::isValid (
const Solid & solid,
const double & toleranceAbs
)
function isValid
auto SFCGAL::algorithm::isValid (
const MultiSolid & ms,
const double & toleranceAbs
)
function isValid
auto SFCGAL::algorithm::isValid (
const Geometry & g,
const double & toleranceAbs
)
function length
auto SFCGAL::algorithm::length (
const LineString & g
)
function length
auto SFCGAL::algorithm::length (
const GeometryCollection & g
)
function length
auto SFCGAL::algorithm::length (
const Geometry & g
)
function length3D
auto SFCGAL::algorithm::length3D (
const LineString & g
)
function length3D
auto SFCGAL::algorithm::length3D (
const GeometryCollection & g
)
function length3D
Compute the 2D length for a geometry.
auto SFCGAL::algorithm::length3D (
const Geometry & g
)
Returns:
the length of the Geometry, 0 for incompatible types
function lineSubstring
Retrieve a substring of a specified LineString , between the specified fractional distances from the start of the specifiedLineString .
auto SFCGAL::algorithm::lineSubstring (
const LineString & ls,
double start,
double end
)
Parameters:
ls
The specified LineString.start
The fraction along the specified LineString defining the start of the desired substring.end
The fraction along the specified LineString defining the end of the desired substring.
Note:
Negative values of and/or will be interpreted as a fractional distance taken from the end of the specified LineString. +/-0 will always be interpreted as the start of .
Note:
For open lines, a negative length range will result in a line substring terminating at the specified points, but with an orientation reversed relative to . For closed lines the a negative range corresponds to the complentary section of with an orientation equal to that of it.
Returns:
The specified line substring.
Exception:
If
either or have an absolute value greater than 1.
function makeConsistentOrientation3D
void SFCGAL::algorithm::makeConsistentOrientation3D (
TriangulatedSurface & g
)
Try to make consistent orientation in a TriangulatedSurface
function makeValidOrientation
void SFCGAL::algorithm::makeValidOrientation (
CGAL::Polygon_2< Kernel > & polygon
)
Make valid 2D orientation
function makeValidOrientation
void SFCGAL::algorithm::makeValidOrientation (
CGAL::Polygon_with_holes_2< Kernel > & polygon
)
Make valid 2D orientation
function makeValidOrientation
void SFCGAL::algorithm::makeValidOrientation (
Polygon & polygon
)
Make valid 2D orientation
function minkowskiSum
void SFCGAL::algorithm::minkowskiSum (
const Geometry & gA,
const Polygon_2 & gB,
CGAL::Polygon_set_2< Kernel > & polygonSet
)
dispatch gA+gB sum
function minkowskiSum
void SFCGAL::algorithm::minkowskiSum (
const Point & gA,
const Polygon_2 & gB,
Polygon_set_2 & polygonSet
)
function minkowskiSum
void SFCGAL::algorithm::minkowskiSum (
const LineString & gA,
const Polygon_2 & gB,
Polygon_set_2 & polygonSet
)
function minkowskiSum
void SFCGAL::algorithm::minkowskiSum (
const Polygon & gA,
const Polygon_2 & gB,
Polygon_set_2 & polygonSet
)
function minkowskiSum
void SFCGAL::algorithm::minkowskiSum (
const Solid & gA,
const Polygon_2 & gB,
Polygon_set_2 & polygonSet
)
function minkowskiSum
2D minkowski sum (p+q)
auto SFCGAL::algorithm::minkowskiSum (
const Geometry & gA,
const Polygon & gB,
NoValidityCheck
)
Warning:
If gA is a polygon, its orientation is taken into account. A "reversed" polygon (with a clockwise-oriented exterior ring) will involve a minkowski difference rather than a sum.
Todo
missing cases (union)
Precondition:
gA and gB are valid geometries
Warning:
@ No actual validity check is done.
function minkowskiSum
2D minkowski sum (p+q)
auto SFCGAL::algorithm::minkowskiSum (
const Geometry & gA,
const Polygon & gB
)
Warning:
If gA is a polygon, its orientation is taken into account. A "reversed" polygon (with a clockwise-oriented exterior ring) will involve a minkowski difference rather than a sum.
Todo
missing cases (union)
Precondition:
gA and gB are valid geometries
function minkowskiSum3D
3D Minkowski sum (p+q)
auto SFCGAL::algorithm::minkowskiSum3D (
const Geometry & gA,
const Geometry & gB,
NoValidityCheck
)
Precondition:
gA and gB are valid 3D geometries
Warning:
No actual validity check is done.
function minkowskiSum3D
3D Minkowski sum (p+q)
auto SFCGAL::algorithm::minkowskiSum3D (
const Geometry & gA,
const Geometry & gB
)
Precondition:
gA and gB are valid 3D geometries
function minkowskiSumCollection
void SFCGAL::algorithm::minkowskiSumCollection (
const Geometry & gA,
const Polygon_2 & gB,
Polygon_set_2 & polygonSet
)
function nefToGeometry
auto SFCGAL::algorithm::nefToGeometry (
const Nef_polyhedron_3 & nef
)
function normal3D
template<typename Kernel>
CGAL::Vector_3< Kernel > SFCGAL::algorithm::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.
function normal3D
template<typename Kernel>
CGAL::Vector_3< Kernel > SFCGAL::algorithm::normal3D (
const LineString & ls,
bool exact=true
)
Returns the 3D normal to a ring (supposed to be planar and closed).
Warning:
exact allows to avoid double rounding at the end of the computation
function normal3D
template<typename Kernel>
CGAL::Vector_3< Kernel > SFCGAL::algorithm::normal3D (
const Polygon & polygon,
bool exact=true
)
Returns the 3D normal to a polygon (supposed to be planar).
Warning:
exact allows to avoid double rounding at the end of the computation
function numIntersectionPoints
auto SFCGAL::algorithm::numIntersectionPoints (
const CGAL::Polygon_with_holes_2< Kernel > & poly
)
function offset
void SFCGAL::algorithm::offset (
const Geometry & g,
const double & radius,
Offset_polygon_set_2 & polygonSet
)
function offset
offset for a Point __
void SFCGAL::algorithm::offset (
const Point & g,
const double & radius,
Offset_polygon_set_2 & polygonSet
)
build Point offset
function offset
offset for a LineString __
void SFCGAL::algorithm::offset (
const LineString & g,
const double & radius,
Offset_polygon_set_2 & polygonSet
)
build LineString offset
function offset
void SFCGAL::algorithm::offset (
const Polygon & g,
const double & radius,
Offset_polygon_set_2 & polygonSet
)
function offset
[experimental]compute polygon offset
auto SFCGAL::algorithm::offset (
const Geometry & g,
const double & r,
NoValidityCheck
)
Warning:
test in order to compare with minkowski sum
Precondition:
g is a valid Geometry
Warning:
No actual validity check is done.
function offset
[experimental]compute polygon offset
auto SFCGAL::algorithm::offset (
const Geometry & g,
const double & r
)
Warning:
test in order to compare with minkowski sum
Precondition:
g is a valid Geometry
function offsetCollection
void SFCGAL::algorithm::offsetCollection (
const Geometry & g,
const double & radius,
Offset_polygon_set_2 & polygonSet
)
function operator<<
template<typename T>
auto SFCGAL::algorithm::operator<< (
std::ostream & out,
std::set< T * > & obs
)
function optimal_alpha_shapes
auto SFCGAL::algorithm::optimal_alpha_shapes (
const Geometry & g,
bool allow_holes=false,
size_t nb_components=1
)
Compute the optimal 2D alpha shapes for a geometry https://doc.cgal.org/latest/Alpha_shapes_2/index.html#Chapter_2D_Alpha_Shapes
Since:
1.4.1
function partition_2
auto SFCGAL::algorithm::partition_2 (
const Geometry & g,
PartitionAlgorithm alg=y_monotone
)
Compute the partition of a 2D polygon https://doc.cgal.org/latest/Partition_2/index.html#Chapter_2D_Polygon_Partitioning
Since:
1.4.2
function perpendicular_vector
auto SFCGAL::algorithm::perpendicular_vector (
const Kernel::Vector_3 & v
)
function plane3D
template<typename Kernel>
void SFCGAL::algorithm::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
function plane3D
template<typename Kernel>
CGAL::Plane_3< Kernel > SFCGAL::algorithm::plane3D (
const Polygon & polygon
)
Returns the oriented 3D plane of a polygon (supposed to be planar). May return degenerate plane.
function plane3D
template<typename Kernel>
CGAL::Plane_3< Kernel > SFCGAL::algorithm::plane3D (
const Polygon & polygon,
const Plane3DInexactUnsafe &
)
Returns the oriented 3D plane of a polygon (supposed to be planar) - inexact version.
Warning:
Will divide by zero if polygon is degenerate.
Warning:
result is rounded to double (avoid huge expression tree).
function plane3D
template<typename Kernel>
CGAL::Plane_3< Kernel > SFCGAL::algorithm::plane3D (
const Polygon & polygon,
bool exact
)
Returns the oriented 3D plane of a polygon (supposed to be planar). This is legacy code for SFCGAL users and should be deprecated.
Warning:
result is rounded to double if exact is false (avoid huge expression tree).
Warning:
Will divide by zero if polygon is degenerate. This maintains the previous behaviour.
function polygonSetToMultiPolygon
auto SFCGAL::algorithm::polygonSetToMultiPolygon (
const Offset_polygon_set_2 & polygonSet,
const int & n
)
function post_difference
void SFCGAL::algorithm::post_difference (
const GeometrySet < 2 > & input,
GeometrySet < 2 > & output
)
difference post processing
function post_difference
void SFCGAL::algorithm::post_difference (
const GeometrySet < 3 > & input,
GeometrySet < 3 > & output
)
function post_intersection
void SFCGAL::algorithm::post_intersection (
const GeometrySet < 2 > & input,
GeometrySet < 2 > & output
)
intersection post processing
function post_intersection
void SFCGAL::algorithm::post_intersection (
const GeometrySet < 3 > & input,
GeometrySet < 3 > & output
)
function propagateValidityFlag
void SFCGAL::algorithm::propagateValidityFlag (
Geometry & g,
bool valid
)
Sets the geometry flag on a geometry and propagate to every internal geometries
function rotate
Rotate a geometry in 2D around the origin (0,0)
void SFCGAL::algorithm::rotate (
Geometry & g,
const Kernel::FT & angle
)
Parameters:
g
The geometry to rotateangle
Rotation angle in radians
function rotate
Rotate a geometry in 2D around a specified point.
void SFCGAL::algorithm::rotate (
Geometry & g,
const Kernel::FT & angle,
const Point & origin
)
Parameters:
g
The geometry to rotateangle
Rotation angle in radiansorigin
Point of origin for the rotation
function rotate
Rotate a geometry in 3D around a specified axis and origin.
void SFCGAL::algorithm::rotate (
Geometry & g,
const Kernel::FT & angle,
const Kernel::Vector_3 & axis,
const Point & origin=Point (0, 0, 0)
)
Parameters:
g
The geometry to rotateangle
Rotation angle in radiansaxis
The axis of rotationorigin
Point of origin for the rotation
function rotateX
Rotate a geometry around the X axis.
void SFCGAL::algorithm::rotateX (
Geometry & g,
const Kernel::FT & angle
)
Parameters:
g
The geometry to rotateangle
Rotation angle in radians
function rotateY
Rotate a geometry around the Y axis.
void SFCGAL::algorithm::rotateY (
Geometry & g,
const Kernel::FT & angle
)
Parameters:
g
The geometry to rotateangle
Rotation angle in radians
function rotateZ
Rotate a geometry around the Z axis.
void SFCGAL::algorithm::rotateZ (
Geometry & g,
const Kernel::FT & angle
)
Parameters:
g
The geometry to rotateangle
Rotation angle in radians
function scale
void SFCGAL::algorithm::scale (
Geometry & g,
double s
)
Scale a geometry by a given factor
Parameters:
g
input geometrys
scale factor
function scale
void SFCGAL::algorithm::scale (
Geometry & g,
double sx,
double sy,
double sz=0.0
)
Scale a geometry by different factors for each dimension
Parameters:
g
input geometrysx
scale factor for x dimensionsy
scale factor for y dimensionsz
scale factor for z dimension
function scale
void SFCGAL::algorithm::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
Parameters:
g
input geometrysx
scale factor for x dimensionsy
scale factor for y dimensionsz
scale factor for z dimensioncx
x-coordinate of the center pointcy
y-coordinate of the center pointcz
z-coordinate of the center point
function segmentsLength
template<int Dim>
auto SFCGAL::algorithm::segmentsLength (
const GeometrySet < Dim > & gs
)
function selfIntersects
auto SFCGAL::algorithm::selfIntersects (
const LineString & l
)
Self intersection test for 2D LineString (false if only endpoint touch)
function selfIntersects
auto SFCGAL::algorithm::selfIntersects (
const PolyhedralSurface & s,
const SurfaceGraph & g
)
Self intersection test for 2D PolyhedralSurface (false if only point touch)
function selfIntersects
auto SFCGAL::algorithm::selfIntersects (
const TriangulatedSurface & s,
const SurfaceGraph & g
)
Self intersection test for 2D TriangulatedSurface (false if only point touch)
function selfIntersects3D
auto SFCGAL::algorithm::selfIntersects3D (
const LineString & l
)
Self intersection test for 3D LineString (false if only endpoints touch)
function selfIntersects3D
auto SFCGAL::algorithm::selfIntersects3D (
const PolyhedralSurface & s,
const SurfaceGraph & g
)
Self intersection test for 3D PolyhedralSurface (false if only point touch)
function selfIntersects3D
auto SFCGAL::algorithm::selfIntersects3D (
const TriangulatedSurface & s,
const SurfaceGraph & g
)
Self intersection test for 3D TriangulatedSurface (false if only point touch)
function selfIntersectsImpl
template<int Dim>
auto SFCGAL::algorithm::selfIntersectsImpl (
const LineString & line
)
function selfIntersectsImpl
template<int Dim>
auto SFCGAL::algorithm::selfIntersectsImpl (
const PolyhedralSurface & s,
const SurfaceGraph & graph
)
function selfIntersectsImpl
template<int Dim>
auto SFCGAL::algorithm::selfIntersectsImpl (
const TriangulatedSurface & tin,
const SurfaceGraph & graph
)
function signedArea
auto SFCGAL::algorithm::signedArea (
const Triangle & g
)
function signedArea
auto SFCGAL::algorithm::signedArea (
const LineString & g
)
function solidsVolume
auto SFCGAL::algorithm::solidsVolume (
const GeometrySet < 3 > & gs,
bool planarSurface=false
)
function solidsVolume
auto SFCGAL::algorithm::solidsVolume (
const GeometrySet < 2 > &
)
function squaredDistancePointTriangle3D
auto SFCGAL::algorithm::squaredDistancePointTriangle3D (
const Point_3 & p,
const Triangle_3 & abc
)
function squaredDistanceSegmentTriangle3D
auto SFCGAL::algorithm::squaredDistanceSegmentTriangle3D (
const Segment_3 & sAB,
const Triangle_3 & tABC
)
function squaredDistanceTriangleTriangle3D
auto SFCGAL::algorithm::squaredDistanceTriangleTriangle3D (
const Triangle_3 & triangleA,
const Triangle_3 & triangleB
)
function straightSkeleton
build a 2D straight skeleton for a Polygon __
auto SFCGAL::algorithm::straightSkeleton (
const Geometry & g,
bool autoOrientation,
NoValidityCheck,
bool innerOnly=false,
bool outputDistanceInM=false,
const double & toleranceAbs=1e-8
)
Parameters:
g
input geometryautoOrientation
check and fix polygon orientationoutputM
whether to output the distance to border as MtoleranceAbs
Distance tolerance between returned points. A line must have a maximum distance of toleranceAbs.
Precondition:
g is a valid geometry
Warning:
No actual validity check is done
Exception:
- NotImplementedException If g is a Polygon with point touching rings.
function straightSkeleton
build a 2D straight skeleton for a Polygon __
auto SFCGAL::algorithm::straightSkeleton (
const Geometry & g,
bool autoOrientation=true,
bool innerOnly=false,
bool outputDistanceInM=false,
const double & toleranceAbs=1e-8
)
Todo
add supports for TriangulatedSurface and PolyhedralSurface
Parameters:
g
input geometryautoOrientation
check and fix polygon orientationoutputM
whether to output the distance to border as MtoleranceAbs
Distance tolerance between returned points. A line must have a maximum distance of toleranceAbs.
Precondition:
g is a valid geometry
Exception:
- NotImplementedException If g is a Polygon with point touching rings.
function straightSkeleton
build a 2D straight skeleton for a Polygon __
auto SFCGAL::algorithm::straightSkeleton (
const Polygon & g,
bool autoOrientation=true,
bool innerOnly=false,
bool outputDistanceInM=false,
const double & toleranceAbs=1e-8
)
Exception:
- NotImplementedException If g is a Polygon with point touching rings.
function straightSkeleton
build a 2D straight skeleton for a Polygon __
auto SFCGAL::algorithm::straightSkeleton (
const MultiPolygon & g,
bool autoOrientation=true,
bool innerOnly=false,
bool outputDistanceInM=false,
const double & toleranceAbs=1e-8
)
Exception:
- NotImplementedException If g is a Polygon with point touching rings.
function straightSkeletonPartition
Build a 2D straight skeleton partition for a Geometry .
auto SFCGAL::algorithm::straightSkeletonPartition (
const Geometry & g,
bool autoOrientation=true
)
Parameters:
g
The input geometryautoOrientation
Check and fix polygon orientation
Returns:
A unique pointer to a MultiPolygon representing the partitioned geometry
Exception:
- Exception If CGAL fails to create the straight skeleton
Note:
Only Triangle, Polygon, and MultiPolygon geometries are supported
This function creates a partition of the input geometry based on its straight skeleton. For unsupported geometry types, an empty MultiPolygon is returned.
function straightSkeletonPartition
Build a 2D straight skeleton partition for a MultiPolygon .
auto SFCGAL::algorithm::straightSkeletonPartition (
const MultiPolygon & g,
bool autoOrientation=true
)
Parameters:
g
The input multi-polygonautoOrientation
Check and fix polygon orientation
Returns:
A unique pointer to a MultiPolygon representing the partitioned multi-polygon
This function applies the straight skeleton partition to each polygon in the input multi-polygon and combines the results into a single MultiPolygon.
function straightSkeletonPartition
Build a 2D straight skeleton partition for a Polygon .
auto SFCGAL::algorithm::straightSkeletonPartition (
const Polygon & g,
bool autoOrientation=true
)
Parameters:
g
The input polygonautoOrientation
Check and fix polygon orientation (not used in this implementation)
Returns:
A unique pointer to a MultiPolygon representing the partitioned polygon
Exception:
- Exception If CGAL fails to create the straight skeleton
This function creates a partition of the input polygon based on its straight skeleton. It uses CGAL's Arrangement_2 to handle the intersection of skeleton and polygon edges.
function surfacesArea
auto SFCGAL::algorithm::surfacesArea (
const GeometrySet < 2 > & gs
)
function surfacesArea
auto SFCGAL::algorithm::surfacesArea (
const GeometrySet < 3 > & gs
)
function tesselate
auto SFCGAL::algorithm::tesselate (
const Geometry & g,
NoValidityCheck
)
Tesselate a geometry: this will triangulate surfaces (including polyhedral and solid's surfaces) and keep untouched points, lines, etc.
Precondition:
g is a valid geometry
Warning:
No actual validity check is done.
function tesselate
auto SFCGAL::algorithm::tesselate (
const Geometry & g
)
Tesselate a geometry: this will triangulate surfaces (including polyhedral and solid's surfaces) and keep untouched points, lines, etc.
Precondition:
g is a valid geometry
function translate
void SFCGAL::algorithm::translate (
Geometry & g,
const Kernel::Vector_3 & v
)
function translate
void SFCGAL::algorithm::translate (
Geometry & g,
const Kernel::Vector_2 & v
)
function translate
void SFCGAL::algorithm::translate (
Geometry & g,
const Kernel::FT & dx,
const Kernel::FT & dy,
const Kernel::FT & dz
)
function translate
void SFCGAL::algorithm::translate (
Geometry & g,
const double & dx,
const double & dy,
const double & dz
)
function union3D
auto SFCGAL::algorithm::union3D (
const Geometry & ga,
const Geometry & gb,
NoValidityCheck
)
Union on 3D geometries. Assume z = 0 if needed
Precondition:
ga and gb are valid geometries
Warning:
@ No actual validity check is done
function union3D
auto SFCGAL::algorithm::union3D (
const Geometry & ga,
const Geometry & gb
)
Union on 3D geometries. Assume z = 0 if needed
Precondition:
ga and gb are valid geometries
function union_
auto SFCGAL::algorithm::union_ (
const Geometry & ga,
const Geometry & gb,
NoValidityCheck
)
Union on 2D geometries. No validity check variant
Precondition:
ga and gb are valid geometries
Warning:
No actual validity check is done.
function union_
auto SFCGAL::algorithm::union_ (
const Geometry & ga,
const Geometry & gb
)
Union on 2D geometries.
Precondition:
ga and gb are valid geometries
function union_
template<int Dim>
void SFCGAL::algorithm::union_ (
const detail::GeometrySet < Dim > & a,
const detail::GeometrySet < Dim > & b,
detail::GeometrySet < Dim > &
)
function union_
template<int Dim>
void SFCGAL::algorithm::union_ (
const detail::PrimitiveHandle < Dim > & a,
const detail::PrimitiveHandle < Dim > & b,
detail::GeometrySet < Dim > &
)
function union_point_point
template<class Handle>
void SFCGAL::algorithm::union_point_point (
Handle a,
Handle b
)
function union_point_segment
template<class Handle>
void SFCGAL::algorithm::union_point_segment (
Handle a,
Handle b
)
function union_point_surface
void SFCGAL::algorithm::union_point_surface (
Handle < 2 > a,
Handle < 2 > b
)
function union_point_surface
void SFCGAL::algorithm::union_point_surface (
Handle < 3 > a,
Handle < 3 > b
)
function union_point_volume
void SFCGAL::algorithm::union_point_volume (
const Handle < 2 > &,
const Handle < 2 > &
)
function union_point_volume
void SFCGAL::algorithm::union_point_volume (
Handle < 3 > a,
Handle < 3 > b
)
function union_segment_segment
template<int Dim>
void SFCGAL::algorithm::union_segment_segment (
Handle < Dim > a,
Handle < Dim > b
)
function union_segment_segment
void SFCGAL::algorithm::union_segment_segment (
const Handle < 2 > & a,
const Handle < 2 > & b
)
function union_segment_segment
void SFCGAL::algorithm::union_segment_segment (
const Handle < 3 > & a,
const Handle < 3 > & b
)
function union_segment_surface
void SFCGAL::algorithm::union_segment_surface (
Handle < 2 > a,
Handle < 2 > b
)
function union_segment_surface
void SFCGAL::algorithm::union_segment_surface (
Handle < 3 > a,
Handle < 3 > b
)
function union_segment_volume
void SFCGAL::algorithm::union_segment_volume (
const Handle < 2 > &,
const Handle < 2 > &
)
function union_segment_volume
void SFCGAL::algorithm::union_segment_volume (
Handle < 3 > a,
Handle < 3 > b
)
function union_surface_surface
void SFCGAL::algorithm::union_surface_surface (
Handle < 2 > a,
Handle < 2 > b
)
function union_surface_surface
void SFCGAL::algorithm::union_surface_surface (
Handle < 3 > a,
Handle < 3 > b
)
function union_surface_volume
void SFCGAL::algorithm::union_surface_volume (
const Handle < 2 > &,
const Handle < 2 > &
)
function union_surface_volume
void SFCGAL::algorithm::union_surface_volume (
Handle < 3 > a,
Handle < 3 > b
)
function union_volume_volume
void SFCGAL::algorithm::union_volume_volume (
const Handle < 2 > &,
const Handle < 2 > &
)
function union_volume_volume
void SFCGAL::algorithm::union_volume_volume (
Handle < 3 > a,
Handle < 3 > b
)
function visibility
build the visibility polygon of a Point inside aPolygon __
auto SFCGAL::algorithm::visibility (
const Geometry & polygon,
const Geometry & point
)
Parameters:
polygon
input geometrypoint
input geometry
Precondition:
polygon is a valid geometry
Precondition:
point must be inside polygon or on the boundary
function visibility
build the visibility polygon of a Point inside aPolygon __
auto SFCGAL::algorithm::visibility (
const Geometry & polygon,
const Geometry & point,
NoValidityCheck
)
Parameters:
polygon
input geometrypoint
input geometry
Precondition:
polygon is a valid geometry
Precondition:
point must be inside polygon or on the boundary
Warning:
No actual validity check is done
function visibility
build the visibility polygon of the segment [pointA ; pointB] on a Polygon __
auto SFCGAL::algorithm::visibility (
const Geometry & polygon,
const Geometry & pointA,
const Geometry & pointB
)
Parameters:
polygon
input geometrypointA
input geometrypointB
input geometry
Precondition:
polygon is a valid geometry
Precondition:
pointA and pointB must be vertices of poly, adjacents and respect the direction
function visibility
build the visibility polygon of a Point inside aPolygon __
auto SFCGAL::algorithm::visibility (
const Geometry & polygon,
const Geometry & pointA,
const Geometry & pointB,
NoValidityCheck
)
Parameters:
polygon
input geometrypointA
input geometrypointB
input geometry
Precondition:
polygon is a valid geometry
Warning:
No actual validity check is done
Precondition:
pointA and pointB must be vertices of poly, adjacents and respect the direction
function volume
auto SFCGAL::algorithm::volume (
const Solid & g,
NoValidityCheck
)
Computes the volume of a Solid
Precondition:
(not checked) volume is closed and consistently oriented
function volume
auto SFCGAL::algorithm::volume (
const Geometry & g
)
Computes the volume of a geometry
Precondition:
g is a valid Geometry
Public Static Functions Documentation
function alpha_to_geometry
static auto SFCGAL::algorithm::alpha_to_geometry (
const Alpha_shape_2 & A,
bool allow_holes
)
function computeAlpha
static auto SFCGAL::algorithm::computeAlpha (
const Geometry & g,
Alpha_shape_2 & alphaShape,
double alpha=0,
size_t nb_components=1
)
function polygons_to_geometry
static auto SFCGAL::algorithm::polygons_to_geometry (
const std::list< TPolygon_2 > & polys
)
function query_visibility
static auto SFCGAL::algorithm::query_visibility (
Face_handle fh,
Halfedge_const_handle he
)
function toTPolygon_2
static auto SFCGAL::algorithm::toTPolygon_2 (
const Polygon & poly
)
The documentation for this class was generated from the following file /builds/sfcgal/SFCGAL/src/algorithm/alphaShapes.cpp