SFCGAL  2.2.0
Namespaces | Classes | Typedefs | Functions | Variables
SFCGAL Namespace Reference

Default SFCGAL namespace. More...

Namespaces

 algorithm
 Main algorithm namespace.
 
 detail
 Implementation details namespace.
 
 generator
 Generator namespace.
 
 graph
 graph namespace
 
 io
 Main Input/output namespace.
 
 tools
 
 transform
 transform namespace
 
 triangulate
 Triangulate dedicated namespace.
 

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
 
class  Cylinder
 Represents a cylinder in 3D space. More...
 
class  Envelope
 Represents a bounding box. More...
 
class  Exception
 Base SFCGAL Exception. 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 inappropriate 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  Segment
 Represents a line segment in space. More...
 
struct  Simplicity
 the class, convertible to bool, that stores the reason why a geom is not simple More...
 
class  Solid
 A Solid modeled with an exteriorShell and interiorShells materialized by PolyhedralSurface. More...
 
class  Sphere
 Represents a sphere in 3D space. 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

using squared_distance_t = Kernel::FT
 
using Kernel = CGAL::Exact_predicates_exact_constructions_kernel
 default Kernel More...
 
typedef CGAL::Gmpq QT
 Quotient type. More...
 
using Point_2 = CGAL::Point_2< SFCGAL::Kernel >
 
using Triangle_2 = CGAL::Triangle_2< SFCGAL::Kernel >
 
using Polygon_2 = CGAL::Polygon_2< SFCGAL::Kernel >
 
using Vector_2 = CGAL::Vector_2< SFCGAL::Kernel >
 
using Segment_2 = CGAL::Segment_2< Kernel >
 
using Polygon_with_holes_2 = CGAL::Polygon_with_holes_2< SFCGAL::Kernel >
 
using Polygon_set_2 = CGAL::Polygon_set_2< SFCGAL::Kernel >
 
using Point_3 = CGAL::Point_3< SFCGAL::Kernel >
 
using Triangle_3 = CGAL::Triangle_3< SFCGAL::Kernel >
 
using Plane_3 = CGAL::Plane_3< SFCGAL::Kernel >
 
using Segment_3 = CGAL::Segment_3< Kernel >
 
using Vector_3 = CGAL::Vector_3< SFCGAL::Kernel >
 
using Polyhedron_3 = CGAL::Polyhedron_3< Kernel >
 
using Surface_mesh_3 = CGAL::Surface_mesh< Point_3 >
 

Functions

void SFCGAL_API SFCGAL_ASSERT_GEOMETRY_SIMPLICITY (const Geometry &g)
 Functions used to assert for geometry simplicity. More...
 
void SFCGAL_ASSERT_GEOMETRY_VALIDITY_ (const Geometry &g, const std::string &ctxt)
 
void SFCGAL_ASSERT_GEOMETRY_VALIDITY (const Geometry &g)
 Functions used to assert for geometry validity. More...
 
void SFCGAL_ASSERT_GEOMETRY_VALIDITY_2D (const Geometry &g)
 
void SFCGAL_ASSERT_GEOMETRY_VALIDITY_3D (const Geometry &g)
 
void SFCGAL_ASSERT_GEOMETRY_VALIDITY_ON_PLANE (const Geometry &)
 
const std::vector< TestGeometrycreateTestGeometries ()
 
auto logger ()
 get the logger More...
 
auto operator== (const Envelope &, const Envelope &)
 Global comparison operator on Envelope. More...
 
auto operator== (const Geometry &ga, const Geometry &gb) -> bool
 Function used to compare geometries FIXME Since we do not have (yet) a real "equals" operator, we only compare points coordinates. More...
 
auto operator<< (std::ostream &, const Envelope &)
 Ostream operator for Envelope;. More...
 
auto operator<< (std::ostream &, const Geometry &)
 Ostream operator for Geometry;. More...
 
auto floor (const CGAL::Gmpq &v)
 floor a rational to an integer More...
 
auto ceil (const CGAL::Gmpq &v)
 ceil a rational to an integer More...
 
auto round (const CGAL::Gmpq &v)
 round a rational to an integer 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...
 
Kernel::Vector_3 normalizeVector (const Kernel::Vector_3 &vec)
 Normalizes a vector. More...
 
static auto validatePointDimensions (const Point &point1, const Point &point2, const char *point1Name, const char *point2Name) -> void
 
template SFCGAL_API std::unique_ptr< detail::MarkedPolyhedronTriangulatedSurface::toPolyhedron_3< Kernel, detail::MarkedPolyhedron > () const
 
auto Version () -> const char *
 
auto Full_Version () -> const char *
 

Variables

constexpr double EPSILON = 1e-8
 
const char _sfcgal_version [] = SFCGAL_VERSION
 
const char _sfcgal_full_version [] = SFCGAL_FULL_VERSION
 
const uint32_t wkbSRID = 0x20000000
 
const uint32_t wkbM = 0x40000000
 
const uint32_t wkbZ = 0x80000000
 

Detailed Description

Default SFCGAL namespace.

Typedef Documentation

using SFCGAL::Kernel = typedef CGAL::Exact_predicates_exact_constructions_kernel

default Kernel

using SFCGAL::Plane_3 = typedef CGAL::Plane_3<SFCGAL::Kernel>
using SFCGAL::Point_2 = typedef CGAL::Point_2<SFCGAL::Kernel>
using SFCGAL::Point_3 = typedef CGAL::Point_3<SFCGAL::Kernel>
using SFCGAL::Polygon_2 = typedef CGAL::Polygon_2<SFCGAL::Kernel>
using SFCGAL::Polygon_set_2 = typedef CGAL::Polygon_set_2<SFCGAL::Kernel>
using SFCGAL::Polygon_with_holes_2 = typedef CGAL::Polygon_with_holes_2<SFCGAL::Kernel>
using SFCGAL::Polyhedron_3 = typedef CGAL::Polyhedron_3<Kernel>
typedef CGAL::Gmpq SFCGAL::QT

Quotient type.

using SFCGAL::Segment_2 = typedef CGAL::Segment_2<Kernel>
using SFCGAL::Segment_3 = typedef CGAL::Segment_3<Kernel>
using SFCGAL::squared_distance_t = typedef Kernel::FT
using SFCGAL::Surface_mesh_3 = typedef CGAL::Surface_mesh<Point_3>
using SFCGAL::Triangle_2 = typedef CGAL::Triangle_2<SFCGAL::Kernel>
using SFCGAL::Triangle_3 = typedef CGAL::Triangle_3<SFCGAL::Kernel>
using SFCGAL::Vector_2 = typedef CGAL::Vector_2<SFCGAL::Kernel>
using SFCGAL::Vector_3 = typedef CGAL::Vector_3<SFCGAL::Kernel>

Function Documentation

auto SFCGAL::almostEqual ( const double  a,
const double  b,
const double  epsilon 
) -> bool
inline
auto SFCGAL::almostEqual ( const Kernel::FT &  a,
const Kernel::FT &  b,
const Kernel::FT &  epsilon 
) -> bool
inline
SFCGAL_API CGAL::Gmpz SFCGAL::ceil ( const CGAL::Gmpq &  v) -> CGAL::Gmpz

ceil a rational to an integer

const std::vector<TestGeometry> SFCGAL::createTestGeometries ( )
inline
SFCGAL_API CGAL::Gmpz SFCGAL::floor ( const CGAL::Gmpq &  v) -> CGAL::Gmpz

floor a rational to an integer

auto SFCGAL::Full_Version ( ) -> const char *
SFCGAL_API Logger & SFCGAL::logger ( ) -> Logger &

get the logger

double SFCGAL::NaN ( )
inline

shortcut to get NaN for double

Kernel::Vector_3 SFCGAL::normalizeVector ( const Kernel::Vector_3 &  vec)
inline

Normalizes a vector.

Parameters
vThe vector to normalize
Returns
The normalized vector
SFCGAL_API std::ostream & SFCGAL::operator<< ( std::ostream &  ostr,
const Envelope env 
) -> std::ostream &

Ostream operator for Envelope;.

SFCGAL_API std::ostream & SFCGAL::operator<< ( std::ostream &  ostr,
const Geometry &  g 
) -> std::ostream &

Ostream operator for Geometry;.

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

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

Equality operator.

Todo:
only compare coordinate points
Precondition
the two geometries must be valid
SFCGAL_API bool SFCGAL::operator== ( const Envelope a,
const Envelope b 
) -> bool

Global comparison operator on Envelope.

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

round a rational to an integer

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

round a double to the nearest integer

void SFCGAL_API SFCGAL::SFCGAL_ASSERT_GEOMETRY_SIMPLICITY ( const Geometry &  g)

Functions used to assert for geometry simplicity.

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)
void SFCGAL::SFCGAL_ASSERT_GEOMETRY_VALIDITY_ ( const Geometry &  g,
const std::string &  ctxt 
)
void SFCGAL_API SFCGAL::SFCGAL_ASSERT_GEOMETRY_VALIDITY_2D ( const Geometry &  g)
void SFCGAL_API SFCGAL::SFCGAL_ASSERT_GEOMETRY_VALIDITY_3D ( const Geometry &  g)
void SFCGAL_API SFCGAL::SFCGAL_ASSERT_GEOMETRY_VALIDITY_ON_PLANE ( const Geometry &  )
static auto SFCGAL::validatePointDimensions ( const Point point1,
const Point point2,
const char *  point1Name,
const char *  point2Name 
) -> void
static
auto SFCGAL::Version ( ) -> const char *

Variable Documentation

const char SFCGAL::_sfcgal_full_version[] = SFCGAL_FULL_VERSION
const char SFCGAL::_sfcgal_version[] = SFCGAL_VERSION
constexpr double SFCGAL::EPSILON = 1e-8
const uint32_t SFCGAL::wkbM = 0x40000000
const uint32_t SFCGAL::wkbSRID = 0x20000000
const uint32_t SFCGAL::wkbZ = 0x80000000