SFCGAL 2.0.0
SFCGAL::generator Namespace Reference

Typedefs

using Point_2 = Kernel::Point_2
using Point_3 = Kernel::Point_3
using Polygon_2 = CGAL::Polygon_2<Kernel>
using Polygon_with_holes_2 = CGAL::Polygon_with_holes_2<Kernel>
using Straight_skeleton_2 = CGAL::Straight_skeleton_2<Kernel>

Functions

auto building (const Polygon &g, const Kernel::FT &wallHeight, const Kernel::FT &roofSlope) -> std::unique_ptr< Geometry >
 Basic building generator relying on a straight skeleton.
auto building (const MultiPolygon &g, const Kernel::FT &wallHeight, const Kernel::FT &roofSlope) -> std::unique_ptr< Geometry >
 Basic building generator relying on a straight skeleton.
void _buildingWall (const Polygon_2 &ring, const Kernel::FT &wallHeight, PolyhedralSurface &shell)
auto building (const Geometry &g, const Kernel::FT &wallHeight, const Kernel::FT &roofSlope) -> std::unique_ptr< Geometry >
SFCGAL_API std::unique_ptr< Geometrybuilding (const Geometry &g, const Kernel::FT &wallHeight, const Kernel::FT &roofSlope)
 Basic building generator relying on a straight skeleton.
auto disc (const Point &center, const double &radius, const unsigned int &nQuadrantSegments) -> std::unique_ptr< Polygon >
SFCGAL_API std::unique_ptr< Polygondisc (const Point &center, const double &radius, const unsigned int &nQuadrantSegments=8U)
 Generate a discrete circle.
auto _hoch (const std::vector< Kernel::Vector_2 > &points) -> std::vector< Kernel::Vector_2 >
auto hoch (const unsigned int &order) -> std::unique_ptr< Polygon >
SFCGAL_API std::unique_ptr< Polygonhoch (const unsigned int &order)
 generate hoch snowflake
auto _sierpinski (const std::vector< Kernel::Triangle_2 > &triangles) -> std::vector< Kernel::Triangle_2 >
auto sierpinski (const unsigned int &order) -> std::unique_ptr< MultiPolygon >
SFCGAL_API std::unique_ptr< MultiPolygonsierpinski (const unsigned int &order)
 generate hoch snowflake

Typedef Documentation

◆ Point_2

using SFCGAL::generator::Point_2 = Kernel::Point_2

◆ Point_3

using SFCGAL::generator::Point_3 = Kernel::Point_3

◆ Polygon_2

using SFCGAL::generator::Polygon_2 = CGAL::Polygon_2<Kernel>

◆ Polygon_with_holes_2

using SFCGAL::generator::Polygon_with_holes_2 = CGAL::Polygon_with_holes_2<Kernel>

◆ Straight_skeleton_2

using SFCGAL::generator::Straight_skeleton_2 = CGAL::Straight_skeleton_2<Kernel>

Function Documentation

◆ _buildingWall()

void SFCGAL::generator::_buildingWall ( const Polygon_2 & ring,
const Kernel::FT & wallHeight,
PolyhedralSurface & shell )

◆ _hoch()

auto SFCGAL::generator::_hoch ( const std::vector< Kernel::Vector_2 > & points) ->std::vector< Kernel::Vector_2 >

◆ _sierpinski()

auto SFCGAL::generator::_sierpinski ( const std::vector< Kernel::Triangle_2 > & triangles) ->std::vector< Kernel::Triangle_2 >

◆ building() [1/4]

SFCGAL_API std::unique_ptr< Geometry > SFCGAL::generator::building ( const Geometry & g,
const Kernel::FT & wallHeight,
const Kernel::FT & roofSlope )

Basic building generator relying on a straight skeleton.

Warning
only supports Polygon and MultiPolygon
Todo
unittest

◆ building() [2/4]

auto SFCGAL::generator::building ( const Geometry & g,
const Kernel::FT & wallHeight,
const Kernel::FT & roofSlope )->std::unique_ptr< Geometry >

◆ building() [3/4]

auto SFCGAL::generator::building ( const MultiPolygon & g,
const Kernel::FT & wallHeight,
const Kernel::FT & roofSlope )->std::unique_ptr< Geometry >

Basic building generator relying on a straight skeleton.

◆ building() [4/4]

auto SFCGAL::generator::building ( const Polygon & g,
const Kernel::FT & wallHeight,
const Kernel::FT & roofSlope )->std::unique_ptr< Geometry >

Basic building generator relying on a straight skeleton.

◆ disc() [1/2]

auto SFCGAL::generator::disc ( const Point & center,
const double & radius,
const unsigned int & nQuadrantSegments )->std::unique_ptr< Polygon >

◆ disc() [2/2]

SFCGAL_API std::unique_ptr< Polygon > SFCGAL::generator::disc ( const Point & center,
const double & radius,
const unsigned int & nQuadrantSegments = 8U )

Generate a discrete circle.

Todo
unittest

◆ hoch() [1/2]

SFCGAL_API std::unique_ptr< Polygon > SFCGAL::generator::hoch ( const unsigned int & order)

generate hoch snowflake

Todo
unittest

◆ hoch() [2/2]

auto SFCGAL::generator::hoch ( const unsigned int & order) ->std::unique_ptr< Polygon >

◆ sierpinski() [1/2]

SFCGAL_API std::unique_ptr< MultiPolygon > SFCGAL::generator::sierpinski ( const unsigned int & order)

generate hoch snowflake

Todo
unittest

◆ sierpinski() [2/2]

auto SFCGAL::generator::sierpinski ( const unsigned int & order) ->std::unique_ptr< MultiPolygon >