SFCGAL  1.4.1
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
SFCGAL Namespace Reference

Namespaces

 algorithm
 
 detail
 
 generator
 
 graph
 
 io
 
 tools
 
 transform
 
 triangulate
 

Classes

class  ConstGeometryVisitor
 Visitor for const geometries. More...
 
class  Coordinate
 Represents the Coordinate of a Point (wraps either an empty structure, or a Kernel::Point_2, or a Kernel::Point_3) More...
 
class  CoordinateDimensionVisitor
 
struct  do_toPoint_d
 Private structures used to implement partial function specialization. More...
 
struct  do_toPoint_d< 3 >
 
class  Envelope
 Represents a bounding box. More...
 
class  Exception
 Base SFCGAL Exception. More...
 
class  Geometry
 OGC/SFA based Geometry abstract class. More...
 
class  GeometryCollection
 A GeometryCollection in SFA. More...
 
class  GeometryInvalidityException
 SFCGAL Exception thrown when invalid geometries are found before entering an algo. More...
 
class  GeometryVisitor
 GeometryVisitor. More...
 
class  GetXVisitor
 
class  GetYVisitor
 
class  GetZVisitor
 
class  InappropriateGeometryException
 SFCGAL Exception thrown when geometry is inapropriate for a function. More...
 
class  LineString
 A LineString in SFA. More...
 
class  Logger
 [Singleton]Logger class More...
 
class  MultiLineString
 A MultiLineString in SFA. More...
 
class  MultiPoint
 A MultiPoint in SFA. More...
 
class  MultiPolygon
 A MultiPolygon in SFA. More...
 
class  MultiSolid
 A MultiSolid. More...
 
class  NonFiniteValueException
 SFCGAL Exception thrown when non finite value is found. More...
 
class  NotImplementedException
 SFCGAL Exception thrown when a function is not implemented. More...
 
struct  Plane_from_facet
 
class  Point
 A point in SFA. More...
 
class  Polygon
 A Polygon in SFA with holes. More...
 
class  PolyhedralSurface
 A PolyhedralSurface in SFA modeled as a Polygon soup. More...
 
class  PreparedGeometry
 A PreparedGeometry is a shell around a SFCGAL::Geometry. More...
 
class  RoundVisitor
 
class  Solid
 A Solid modeled with an exteriorShell and interiorShells materialized by PolyhedralSurface. More...
 
class  Surface
 Abstract Surface class. More...
 
struct  TestGeometry
 
class  ToPoint2Visitor
 
class  ToPoint3Visitor
 
class  Transform
 Represents a coordinate transform. More...
 
class  Triangle
 [OGC/SFA]Triangle More...
 
class  Triangulated2Polyhedron
 
class  TriangulatedSurface
 A TriangulatedSurface in SFA modeled as a Triangle soup. More...
 
struct  Validity
 the class, convertible to bool, that stores the reason why a geom is invalid More...
 
class  WktParseException
 SFCGAL Exception thrown when parsing WKT. More...
 

Typedefs

typedef CGAL::Exact_predicates_exact_constructions_kernel Kernel
 default Kernel More...
 
typedef CGAL::Gmpq QT
 Quotient type. More...
 
typedef uint32_t srid_t
 
using Point_2 = CGAL::Point_2< Kernel >
 
using Segment_2 = CGAL::Segment_2< Kernel >
 
using Triangle_2 = CGAL::Triangle_2< Kernel >
 

Enumerations

enum  GeometryType {
  TYPE_POINT = 1, TYPE_LINESTRING = 2, TYPE_POLYGON = 3, TYPE_MULTIPOINT = 4,
  TYPE_MULTILINESTRING = 5, TYPE_MULTIPOLYGON = 6, TYPE_GEOMETRYCOLLECTION = 7, TYPE_POLYHEDRALSURFACE = 15,
  TYPE_TRIANGULATEDSURFACE = 16, TYPE_TRIANGLE = 100, TYPE_SOLID = 101, TYPE_MULTISOLID = 102,
  TYPE_POINT = 1, TYPE_LINESTRING = 2, TYPE_POLYGON = 3, TYPE_MULTIPOINT = 4,
  TYPE_MULTILINESTRING = 5, TYPE_MULTIPOLYGON = 6, TYPE_GEOMETRYCOLLECTION = 7, TYPE_POLYHEDRALSURFACE = 15,
  TYPE_TRIANGULATEDSURFACE = 16, TYPE_TRIANGLE = 100, TYPE_SOLID = 101, TYPE_MULTISOLID = 102
}
 [OGC/SFA]8.2.3 "A common list of codes for geometric types" More...
 
enum  CoordinateType {
  COORDINATE_XY = 0, COORDINATE_XYZ = 1000, COORDINATE_XYM = 2000, COORDINATE_XYZM = 3000,
  COORDINATE_XY = 0, COORDINATE_XYZ = 1000, COORDINATE_XYM = 2000, COORDINATE_XYZM = 3000
}
 coordinate types (XY, XYZ, XYM, etc.) More...
 
enum  GeometryType {
  TYPE_POINT = 1, TYPE_LINESTRING = 2, TYPE_POLYGON = 3, TYPE_MULTIPOINT = 4,
  TYPE_MULTILINESTRING = 5, TYPE_MULTIPOLYGON = 6, TYPE_GEOMETRYCOLLECTION = 7, TYPE_POLYHEDRALSURFACE = 15,
  TYPE_TRIANGULATEDSURFACE = 16, TYPE_TRIANGLE = 100, TYPE_SOLID = 101, TYPE_MULTISOLID = 102,
  TYPE_POINT = 1, TYPE_LINESTRING = 2, TYPE_POLYGON = 3, TYPE_MULTIPOINT = 4,
  TYPE_MULTILINESTRING = 5, TYPE_MULTIPOLYGON = 6, TYPE_GEOMETRYCOLLECTION = 7, TYPE_POLYHEDRALSURFACE = 15,
  TYPE_TRIANGULATEDSURFACE = 16, TYPE_TRIANGLE = 100, TYPE_SOLID = 101, TYPE_MULTISOLID = 102
}
 [OGC/SFA]8.2.3 "A common list of codes for geometric types" More...
 
enum  CoordinateType {
  COORDINATE_XY = 0, COORDINATE_XYZ = 1000, COORDINATE_XYM = 2000, COORDINATE_XYZM = 3000,
  COORDINATE_XY = 0, COORDINATE_XYZ = 1000, COORDINATE_XYM = 2000, COORDINATE_XYZM = 3000
}
 coordinate types (XY, XYZ, XYM, etc.) More...
 

Functions

void SFCGAL_API SFCGAL_ASSERT_GEOMETRY_VALIDITY (const Geometry &g)
 Functions used to assert for geometry validity. More...
 
void SFCGAL_API SFCGAL_ASSERT_GEOMETRY_VALIDITY_2D (const Geometry &g)
 
void SFCGAL_API SFCGAL_ASSERT_GEOMETRY_VALIDITY_3D (const Geometry &g)
 
void SFCGAL_API SFCGAL_ASSERT_GEOMETRY_VALIDITY_ON_PLANE (const Geometry &g)
 
const std::vector< TestGeometrycreateTestGeometries ()
 
SFCGAL_API Loggerlogger ()
 get the logger More...
 
SFCGAL_API bool operator== (const Envelope &, const Envelope &)
 Global comparison operator on Envelope. More...
 
SFCGAL_API bool operator== (const Geometry &, const Geometry &)
 Equality operator. More...
 
SFCGAL_API std::ostream & operator<< (std::ostream &, const Envelope &)
 Ostream operator for Envelope;. More...
 
SFCGAL_API std::ostream & operator<< (std::ostream &, const Geometry &)
 Ostream operator for Geometry;. More...
 
auto almostEqual (const double a, const double b, const double epsilon) -> bool
 
auto almostEqual (const Kernel::FT &a, const Kernel::FT &b, const Kernel::FT &epsilon) -> bool
 
double NaN ()
 shortcut to get NaN for double More...
 
double round (const double &v)
 round a double to the nearest integer More...
 
SFCGAL_API CGAL::Gmpz floor (const CGAL::Gmpq &v)
 floor a rational to an integer More...
 
SFCGAL_API CGAL::Gmpz ceil (const CGAL::Gmpq &v)
 ceil a rational to an integer More...
 
SFCGAL_API CGAL::Gmpz round (const CGAL::Gmpq &v)
 round a rational to an integer More...
 
const SFCGAL_API char * Version ()
 
const SFCGAL_API char * Full_Version ()
 
void SFCGAL_ASSERT_GEOMETRY_VALIDITY_ (const Geometry &g, const std::string &ctxt)
 
template SFCGAL_API std::unique_ptr< detail::MarkedPolyhedronTriangulatedSurface::toPolyhedron_3< Kernel, detail::MarkedPolyhedron > () const
 

Variables

const char _sfcgal_version [] = SFCGAL_VERSION
 
const char _sfcgal_full_version [] = SFCGAL_FULL_VERSION
 

Detailed Description

SFCGAL

Copyright (C) 2021 Loïc Bartoletti - Oslandia <infos@oslandia.com>

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Library General Public License for more details.

You should have received a copy of the GNU Library General Public
License along with this library; if not, see

http://www.gnu.org/licenses/.

Typedef Documentation

◆ Kernel

typedef CGAL::Exact_predicates_exact_constructions_kernel SFCGAL::Kernel

default Kernel

◆ Point_2

using SFCGAL::Point_2 = typedef CGAL::Point_2<Kernel>

◆ QT

typedef CGAL::Gmpq SFCGAL::QT

Quotient type.

◆ Segment_2

using SFCGAL::Segment_2 = typedef CGAL::Segment_2<Kernel>

◆ srid_t

typedef uint32_t SFCGAL::srid_t

◆ Triangle_2

using SFCGAL::Triangle_2 = typedef CGAL::Triangle_2<Kernel>

Function Documentation

◆ almostEqual() [1/2]

auto SFCGAL::almostEqual ( const double  a,
const double  b,
const double  epsilon 
) -> bool
inline

◆ almostEqual() [2/2]

auto SFCGAL::almostEqual ( const Kernel::FT &  a,
const Kernel::FT &  b,
const Kernel::FT &  epsilon 
) -> bool
inline

◆ ceil()

SFCGAL_API CGAL::Gmpz SFCGAL::ceil ( const CGAL::Gmpq &  v)

ceil a rational to an integer

◆ createTestGeometries()

const std::vector< TestGeometry > SFCGAL::createTestGeometries ( )
inline

◆ floor()

SFCGAL_API CGAL::Gmpz SFCGAL::floor ( const CGAL::Gmpq &  v)

floor a rational to an integer

◆ Full_Version()

auto SFCGAL::Full_Version ( )

◆ logger()

SFCGAL_API Logger & SFCGAL::logger ( )

get the logger

◆ NaN()

double SFCGAL::NaN ( )
inline

shortcut to get NaN for double

◆ operator<<() [1/2]

SFCGAL_API std::ostream & SFCGAL::operator<< ( std::ostream &  ,
const Envelope  
)

Ostream operator for Envelope;.

◆ operator<<() [2/2]

SFCGAL_API std::ostream & SFCGAL::operator<< ( std::ostream &  ,
const Geometry  
)

Ostream operator for Geometry;.

◆ operator==() [1/2]

SFCGAL_API bool SFCGAL::operator== ( const Envelope ,
const Envelope  
)

Global comparison operator on Envelope.

◆ operator==() [2/2]

SFCGAL_API bool SFCGAL::operator== ( const Geometry ,
const Geometry  
)

Equality operator.

Function used to compare geometries FIXME Since we do not have (yet) a real "equals" operator, we only compare points coordinates.

Todo:
only compare coordinate points
Precondition
the two geometries must be valid
Todo:
only compare coordinate points
Precondition
the two geometries must be valid

◆ round() [1/2]

SFCGAL_API CGAL::Gmpz SFCGAL::round ( const CGAL::Gmpq &  v)

round a rational to an integer

◆ round() [2/2]

double SFCGAL::round ( const double &  v)
inline

round a double to the nearest integer

◆ SFCGAL_ASSERT_GEOMETRY_VALIDITY()

void SFCGAL_API SFCGAL::SFCGAL_ASSERT_GEOMETRY_VALIDITY ( const Geometry g)

Functions used to assert for geometry validity.

Note
exception message is apparently limited in length, thus print the reason for invalidity before its text representation (that can be very long)

◆ SFCGAL_ASSERT_GEOMETRY_VALIDITY_()

void SFCGAL::SFCGAL_ASSERT_GEOMETRY_VALIDITY_ ( const Geometry g,
const std::string &  ctxt 
)

◆ SFCGAL_ASSERT_GEOMETRY_VALIDITY_2D()

void SFCGAL_API SFCGAL::SFCGAL_ASSERT_GEOMETRY_VALIDITY_2D ( const Geometry g)

◆ SFCGAL_ASSERT_GEOMETRY_VALIDITY_3D()

void SFCGAL_API SFCGAL::SFCGAL_ASSERT_GEOMETRY_VALIDITY_3D ( const Geometry g)

◆ SFCGAL_ASSERT_GEOMETRY_VALIDITY_ON_PLANE()

void SFCGAL_API SFCGAL::SFCGAL_ASSERT_GEOMETRY_VALIDITY_ON_PLANE ( const Geometry g)

◆ TriangulatedSurface::toPolyhedron_3< Kernel, detail::MarkedPolyhedron >()

◆ Version()

auto SFCGAL::Version ( )

Variable Documentation

◆ _sfcgal_full_version

const char SFCGAL::_sfcgal_full_version[] = SFCGAL_FULL_VERSION

◆ _sfcgal_version

const char SFCGAL::_sfcgal_version[] = SFCGAL_VERSION