SFCGAL  1.4.1
Namespaces | Classes | Typedefs | Enumerations | Functions
SFCGAL::detail Namespace Reference

Namespaces

 algorithm
 
 io
 

Classes

class  GeometrySet
 A GeometrySet represents a set of CGAL primitives. More...
 
struct  PrimitiveHandle
 Primitive handle. More...
 
struct  ComplexComparator
 lexicographic order on complex More...
 
class  EnvelopeVisitor
 Get the list of points from a Geometry. More...
 
class  ForceValidityVisitor
 
struct  ComparePoints
 
struct  PrimitiveBox
 PrimitiveBox. Type used for CGAL::Box_intersection_d. More...
 
struct  BoxCollection
 BoxCollection for use with CGAL::Box_intersection_d. More...
 
struct  HandleCollection
 HandleCollection. Used to store PrimitiveHandle. More...
 
class  CollectionElement
 CollectionElement, a Primitive with flags Primitive : Point_d, Segment_d, Surface_d, Volume_d. More...
 
class  GetPointsVisitor
 Get the list of points from a Geometry. More...
 
class  Interval
 Represents an interval. More...
 
struct  NoVolume
 Type traits for CGAL types. More...
 
struct  TypeForDimension
 Generic traits, default dimension is 2. More...
 
struct  Halfedge_with_mark
 Extended polyhedron_3 type with a boolean marker on halfedges This is used internally for polyhedra boolean operations. More...
 
struct  Items_with_mark_on_hedge
 
struct  TypeForDimension< 3 >
 Specialization for dimension = 3. More...
 
struct  Point_d
 Another way of looking at TypeForDimension<Dim>::Point. More...
 
struct  Segment_d
 Another way of looking at TypeForDimension<Dim>::Segment. More...
 
struct  Surface_d
 Another way of looking at TypeForDimension<Dim>::Surface. More...
 
struct  Volume_d
 Another way of looking at TypeForDimension<Dim>::Volume. More...
 
struct  dim_t
 Create a distinct type for each dimension. More...
 
struct  PrimitiveDimension
 Get a primitive dimension (0: point, 1: line, 2: surface, 3: volume) from a type. More...
 
struct  PrimitiveDimension< TypeForDimension< 2 >::Segment >
 
struct  PrimitiveDimension< TypeForDimension< 3 >::Segment >
 
struct  PrimitiveDimension< TypeForDimension< 2 >::Surface >
 
struct  PrimitiveDimension< TypeForDimension< 3 >::Surface >
 
struct  PrimitiveDimension< TypeForDimension< 2 >::Volume >
 
struct  PrimitiveDimension< TypeForDimension< 3 >::Volume >
 
struct  IsPrimitiveLarger
 Tests if a primitive type has a larger dimension than another one. More...
 

Typedefs

typedef CGAL::Polyhedron_3< Kernel, Items_with_mark_on_hedgeMarkedPolyhedron
 

Enumerations

enum  PrimitiveType { PrimitivePoint = 0 , PrimitiveSegment = 1 , PrimitiveSurface = 2 , PrimitiveVolume = 3 }
 Primitive type enumeration. Note that the value is the dimension ! More...
 
enum  ElementFlag { FLAG_IS_PLANAR = 1 }
 Flags available for each type of Geometry type. More...
 

Functions

void _decompose_triangle (const Triangle &tri, GeometrySet< 2 >::SurfaceCollection &surfaces, dim_t< 2 >)
 
void _decompose_triangle (const Triangle &tri, GeometrySet< 3 >::SurfaceCollection &surfaces, dim_t< 3 >)
 
void _decompose_polygon (const Polygon &poly, GeometrySet< 2 >::SurfaceCollection &surfaces, dim_t< 2 >)
 
void _decompose_polygon (const Polygon &poly, GeometrySet< 3 >::SurfaceCollection &surfaces, dim_t< 3 >)
 
void _decompose_solid (const Solid &, GeometrySet< 2 >::VolumeCollection &, dim_t< 2 >)
 
void _decompose_solid (const Solid &solid, GeometrySet< 3 >::VolumeCollection &volumes, dim_t< 3 >)
 
template<int Dim>
void recompose_points (const typename GeometrySet< Dim >::PointCollection &points, std::vector< Geometry * > &rpoints, dim_t< Dim >)
 
template<int Dim>
void recompose_segments (const typename GeometrySet< Dim >::SegmentCollection &segments, std::vector< Geometry * > &lines, dim_t< Dim >)
 
void recompose_surfaces (const GeometrySet< 2 >::SurfaceCollection &surfaces, std::vector< Geometry * > &output, dim_t< 2 >)
 
void recompose_surfaces (const GeometrySet< 3 >::SurfaceCollection &surfaces, std::vector< Geometry * > &output, dim_t< 3 >)
 
void recompose_volumes (const GeometrySet< 2 >::VolumeCollection &, std::vector< Geometry * > &, dim_t< 2 >)
 
void recompose_volumes (const GeometrySet< 3 >::VolumeCollection &volumes, std::vector< Geometry * > &output, dim_t< 3 >)
 
void _collect_points (const CGAL::Polygon_with_holes_2< Kernel > &poly, GeometrySet< 2 >::PointCollection &points)
 
void _collect_points (const CGAL::Triangle_3< Kernel > &tri, GeometrySet< 3 >::PointCollection &points)
 
void _collect_points (const NoVolume &, GeometrySet< 2 >::PointCollection &)
 
void _collect_points (const MarkedPolyhedron &poly, GeometrySet< 3 >::PointCollection &points)
 
template<int Dim, class IT >
void _filter_covered (IT ibegin, IT iend, GeometrySet< Dim > &output)
 
auto operator<< (std::ostream &, const GeometrySet< 2 > &g)
 Display operator. More...
 
auto operator<< (std::ostream &, const GeometrySet< 3 > &g)
 Display operator. More...
 
template<class Primitive >
std::ostream & operator<< (std::ostream &ostr, const CollectionElement< Primitive > &p)
 
CGAL::Bbox_2 compute_solid_bbox (const NoVolume &, dim_t< 2 >)
 
CGAL::Bbox_3 compute_solid_bbox (const TypeForDimension< 3 >::Volume &vol, dim_t< 3 >)
 
auto polygonSetToMultiPolygon (const CGAL::Polygon_set_2< Kernel > &polygonSet)
 convert a CGAL::Polygon_set_2 to a MultiPolygon More...
 

Typedef Documentation

◆ MarkedPolyhedron

Enumeration Type Documentation

◆ ElementFlag

Flags available for each type of Geometry type.

Primitives can be 'flagged' in order to speed up recomposition

Enumerator
FLAG_IS_PLANAR 

◆ PrimitiveType

Primitive type enumeration. Note that the value is the dimension !

Enumerator
PrimitivePoint 
PrimitiveSegment 
PrimitiveSurface 
PrimitiveVolume 

Function Documentation

◆ _collect_points() [1/4]

void SFCGAL::detail::_collect_points ( const CGAL::Polygon_with_holes_2< Kernel > &  poly,
GeometrySet< 2 >::PointCollection &  points 
)

◆ _collect_points() [2/4]

void SFCGAL::detail::_collect_points ( const CGAL::Triangle_3< Kernel > &  tri,
GeometrySet< 3 >::PointCollection &  points 
)

◆ _collect_points() [3/4]

void SFCGAL::detail::_collect_points ( const MarkedPolyhedron poly,
GeometrySet< 3 >::PointCollection &  points 
)

◆ _collect_points() [4/4]

void SFCGAL::detail::_collect_points ( const NoVolume ,
GeometrySet< 2 >::PointCollection &   
)

◆ _decompose_polygon() [1/2]

void SFCGAL::detail::_decompose_polygon ( const Polygon poly,
GeometrySet< 2 >::SurfaceCollection &  surfaces,
dim_t< 2 >   
)

◆ _decompose_polygon() [2/2]

void SFCGAL::detail::_decompose_polygon ( const Polygon poly,
GeometrySet< 3 >::SurfaceCollection &  surfaces,
dim_t< 3 >   
)

◆ _decompose_solid() [1/2]

void SFCGAL::detail::_decompose_solid ( const Solid ,
GeometrySet< 2 >::VolumeCollection &  ,
dim_t< 2 >   
)

◆ _decompose_solid() [2/2]

void SFCGAL::detail::_decompose_solid ( const Solid solid,
GeometrySet< 3 >::VolumeCollection &  volumes,
dim_t< 3 >   
)

◆ _decompose_triangle() [1/2]

void SFCGAL::detail::_decompose_triangle ( const Triangle tri,
GeometrySet< 2 >::SurfaceCollection &  surfaces,
dim_t< 2 >   
)

◆ _decompose_triangle() [2/2]

void SFCGAL::detail::_decompose_triangle ( const Triangle tri,
GeometrySet< 3 >::SurfaceCollection &  surfaces,
dim_t< 3 >   
)

◆ _filter_covered()

template<int Dim, class IT >
void SFCGAL::detail::_filter_covered ( IT  ibegin,
IT  iend,
GeometrySet< Dim > &  output 
)

◆ compute_solid_bbox() [1/2]

CGAL::Bbox_2 SFCGAL::detail::compute_solid_bbox ( const NoVolume ,
dim_t< 2 >   
)
inline

◆ compute_solid_bbox() [2/2]

CGAL::Bbox_3 SFCGAL::detail::compute_solid_bbox ( const TypeForDimension< 3 >::Volume &  vol,
dim_t< 3 >   
)
inline

◆ operator<<() [1/3]

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

Display operator.

◆ operator<<() [2/3]

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

Display operator.

◆ operator<<() [3/3]

template<class Primitive >
std::ostream& SFCGAL::detail::operator<< ( std::ostream &  ostr,
const CollectionElement< Primitive > &  p 
)

◆ polygonSetToMultiPolygon()

SFCGAL_API std::unique_ptr< MultiPolygon > SFCGAL::detail::polygonSetToMultiPolygon ( const CGAL::Polygon_set_2< Kernel > &  polygonSet)

convert a CGAL::Polygon_set_2 to a MultiPolygon

Todo:
unittest

◆ recompose_points()

template<int Dim>
void SFCGAL::detail::recompose_points ( const typename GeometrySet< Dim >::PointCollection &  points,
std::vector< Geometry * > &  rpoints,
dim_t< Dim >   
)

◆ recompose_segments()

template<int Dim>
void SFCGAL::detail::recompose_segments ( const typename GeometrySet< Dim >::SegmentCollection &  segments,
std::vector< Geometry * > &  lines,
dim_t< Dim >   
)

◆ recompose_surfaces() [1/2]

void SFCGAL::detail::recompose_surfaces ( const GeometrySet< 2 >::SurfaceCollection &  surfaces,
std::vector< Geometry * > &  output,
dim_t< 2 >   
)

◆ recompose_surfaces() [2/2]

void SFCGAL::detail::recompose_surfaces ( const GeometrySet< 3 >::SurfaceCollection &  surfaces,
std::vector< Geometry * > &  output,
dim_t< 3 >   
)

◆ recompose_volumes() [1/2]

void SFCGAL::detail::recompose_volumes ( const GeometrySet< 2 >::VolumeCollection &  ,
std::vector< Geometry * > &  ,
dim_t< 2 >   
)

◆ recompose_volumes() [2/2]

void SFCGAL::detail::recompose_volumes ( const GeometrySet< 3 >::VolumeCollection &  volumes,
std::vector< Geometry * > &  output,
dim_t< 3 >   
)