SFCGAL
Typedefs | Functions
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. More...
 
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. More...
 
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)
 Basic building generator relying on a straight skeleton. More...
 
auto disc (const Point &center, const double &radius, const unsigned int &nQuadrantSegments=8U)
 Generate a discrete circle. More...
 
auto _hoch (const std::vector< Kernel::Vector_2 > &points) -> std::vector< Kernel::Vector_2 >
 
auto hoch (const unsigned int &order)
 generate hoch snowflake More...
 
auto _sierpinski (const std::vector< Kernel::Triangle_2 > &triangles) -> std::vector< Kernel::Triangle_2 >
 
auto sierpinski (const unsigned int &order)
 generate hoch snowflake More...
 

Typedef Documentation

◆ Point_2

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

◆ Point_3

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

◆ Polygon_2

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

◆ Polygon_with_holes_2

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

◆ Straight_skeleton_2

using SFCGAL::generator::Straight_skeleton_2 = typedef 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/3]

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/3]

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() [3/3]

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()

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()

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

generate hoch snowflake

Todo:
unittest

◆ sierpinski()

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

generate hoch snowflake

Todo:
unittest