SFCGAL  2.2.0
Todo List
Class SFCGAL::algorithm::BoundaryVisitor

MultiPolygon, PolyhedralSurface, TriangulatedSurface (same graph algorithm, edges without parallel or opposite)

MultiSolid : faced elimination

GeometryCollection : complex for heterogeneous collection (not supported in GEOS)

Member SFCGAL::algorithm::BoundaryVisitor::getBoundaryFromPolygons (const graph::GeometryGraph &g)
merge resulting edges
Member SFCGAL::algorithm::convexHull3D (const Geometry &g)
improve to handle collinear points and coplanar points
Member SFCGAL::algorithm::distance3D (const Geometry &gA, const Geometry &gB)
complete with solid Compute distance between two 3D Geometries
Precondition
gA is a valid geometry
gB is a valid geometry
Member SFCGAL::algorithm::distanceLineStringPolygon3D (const LineString &gA, const Polygon &gB)

same method than distancePointPolygon3D (unify if triangulate is available)

Member SFCGAL::algorithm::extrude (const Geometry &g, const Kernel::Vector_3 &v)

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.

Member SFCGAL::algorithm::minkowskiSum (const Geometry &gA, const Polygon &gB, NoValidityCheck)
missing cases (union)
Precondition
gA and gB are valid geometries
Warning
@ No actual validity check is done.
Member SFCGAL::algorithm::minkowskiSum (const Geometry &gA, const Polygon &gB)
missing cases (union)
Precondition
gA and gB are valid geometries
Member SFCGAL::algorithm::straightSkeleton (const Geometry &geom, bool autoOrientation=true, bool innerOnly=false, bool outputDistanceInM=false, const double &toleranceAbs=EPSILON) -> std::unique_ptr< MultiLineString >
add supports for TriangulatedSurface and PolyhedralSurface
Parameters
geominput geometry
autoOrientationcheck and fix polygon orientation
innerOnlySkip non-inner edges if requested
outputDistanceInMwhether to output the distance to border as M
toleranceAbsDistance tolerance between returned points. A line must have a maximum distance of toleranceAbs.
Precondition
geom is a valid geometry
Exceptions
NotImplementedExceptionIf geom is a Polygon with point touching rings.
Class SFCGAL::algorithm::SurfaceGraph

unittest

Class SFCGAL::detail::EnvelopeVisitor
ConstPointVisitor
Member SFCGAL::detail::io::WktReader::readPointCoordinate (Point &p)
ZM management
Member SFCGAL::detail::io::WktWriter::write (const Geometry &g, bool exact=false)
replace with visitor dispatch
Member SFCGAL::detail::polygonSetToMultiPolygon (const CGAL::Polygon_set_2< Kernel > &polygonSet)
unittest
Class SFCGAL::Envelope

add asText instead of "print"?

add basic operations (especialy intersects/intersects3D)

Namespace SFCGAL::generator
should be moved from detail to SFCGAL folder
Member SFCGAL::generator::building (const Geometry &g, const Kernel::FT &wallHeight, const Kernel::FT &roofSlope)
unittest
Member SFCGAL::generator::disc (const Point &center, const double &radius, const unsigned int &nQuadrantSegments=8U)
unittest
Member SFCGAL::generator::hoch (const unsigned int &order)
unittest
Member SFCGAL::generator::sierpinski (const unsigned int &order)
unittest
Namespace SFCGAL::graph
should be moved from detail to SFCGAL folder
Class SFCGAL::graph::GeometryGraphBuilderT< Graph >
wrap vertex_descriptor, std::vector< edge_descriptor >, etc. in SharedPoint, SharedLineString, SharedPolygon, etc. and add utility method on the Graph?
Member SFCGAL::operator== (const Geometry &ga, const Geometry &gb) -> bool
only compare coordinate points
Precondition
the two geometries must be valid
Class SFCGAL::Point
strong typing on coordinate dimension?
Class SFCGAL::PolyhedralSurface
do better than a "polygon soup" or add topological view?
Namespace SFCGAL::transform
should be moved from detail to SFCGAL folder
Class SFCGAL::transform::AffineTransform2
unittest
Class SFCGAL::transform::AffineTransform3
unittest
Class SFCGAL::transform::ForceOrderPoints

unittest

move outside (it's not a coordinate transform)?

Class SFCGAL::transform::ForceZOrderPoints

unittest

move outside (it's not a coordinate transform)?

Namespace SFCGAL::triangulate
should be moved into algorithm namespace/folder
Member SFCGAL::triangulate::opentriangulatePolygon3D (const GeometryCollection &g, TriangulatedSurface &triangulatedSurface)

unittest

Member SFCGAL::triangulate::triangulatePolygon3D (const Solid &g, TriangulatedSurface &triangulatedSurface)

unittest

Member SFCGAL::triangulate::triangulatePolygon3D (const Triangle &g, TriangulatedSurface &triangulatedSurface)

unittest

Member SFCGAL::triangulate::triangulatePolygon3D (const TriangulatedSurface &g, TriangulatedSurface &triangulatedSurface)

unittest

Member SFCGAL::triangulate::triangulatePolygon3D (const Polygon &g, TriangulatedSurface &triangulatedSurface)

unittest

Class SFCGAL::TriangulatedSurface
do better than a "triangle soup" or add topological view?