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

Namespaces

 algorithm
 
 io
 

Classes

struct  BoxCollection
 BoxCollection for use with CGAL::Box_intersection_d. More...
 
class  CollectionElement
 CollectionElement, a Primitive with flags Primitive : Point_d, Segment_d, Surface_d, Volume_d. More...
 
struct  ComparePoints
 
struct  ComplexComparator
 lexicographic order on complex More...
 
struct  dim_t
 Create a distinct type for each dimension. More...
 
class  EnvelopeVisitor
 Get the list of points from a Geometry. More...
 
class  ForceValidityVisitor
 
class  GeometrySet
 A GeometrySet represents a set of CGAL primitives. More...
 
class  GetPointsVisitor
 Get the list of points from a Geometry. 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  HandleCollection
 HandleCollection. Used to store PrimitiveHandle. More...
 
class  Interval
 Represents an interval. More...
 
struct  IsPrimitiveLarger
 Tests if a primitive type has a larger dimension than another one. More...
 
struct  Items_with_mark_on_hedge
 
struct  NoVolume
 Type traits for CGAL types. More...
 
struct  Point_d
 Another way of looking at TypeForDimension<Dim>::Point. More...
 
struct  PrimitiveBox
 PrimitiveBox. Type used for CGAL::Box_intersection_d. 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< 2 >::Surface >
 
struct  PrimitiveDimension< TypeForDimension< 2 >::Volume >
 
struct  PrimitiveDimension< TypeForDimension< 3 >::Segment >
 
struct  PrimitiveDimension< TypeForDimension< 3 >::Surface >
 
struct  PrimitiveDimension< TypeForDimension< 3 >::Volume >
 
struct  PrimitiveHandle
 Primitive handle. Holds a pointer to a primitive, through the 'handle' member. 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  TypeForDimension
 Generic traits, default dimension is 2. More...
 
struct  TypeForDimension< 3 >
 Specialization for dimension = 3. More...
 
struct  Volume_d
 Another way of looking at TypeForDimension<Dim>::Volume. 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)
 
std::ostream & operator<< (std::ostream &, const GeometrySet< 2 > &g)
 Display operator. More...
 
std::ostream & 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 >)
 
std::auto_ptr< MultiPolygonpolygonSetToMultiPolygon (const CGAL::Polygon_set_2< Kernel > &polygonSet)
 convert a CGAL::Polygon_set_2 to a MultiPolygon More...
 

Typedef Documentation

Enumeration Type Documentation

Flags available for each type of Geometry type.

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

Enumerator
FLAG_IS_PLANAR 

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

Enumerator
PrimitivePoint 
PrimitiveSegment 
PrimitiveSurface 
PrimitiveVolume 

Function Documentation

void SFCGAL::detail::_collect_points ( const CGAL::Polygon_with_holes_2< Kernel > &  poly,
GeometrySet< 2 >::PointCollection &  points 
)
void SFCGAL::detail::_collect_points ( const CGAL::Triangle_3< Kernel > &  tri,
GeometrySet< 3 >::PointCollection &  points 
)
void SFCGAL::detail::_collect_points ( const NoVolume ,
GeometrySet< 2 >::PointCollection &   
)
void SFCGAL::detail::_collect_points ( const MarkedPolyhedron poly,
GeometrySet< 3 >::PointCollection &  points 
)
void SFCGAL::detail::_decompose_polygon ( const Polygon poly,
GeometrySet< 2 >::SurfaceCollection &  surfaces,
dim_t< 2 >   
)
void SFCGAL::detail::_decompose_polygon ( const Polygon poly,
GeometrySet< 3 >::SurfaceCollection &  surfaces,
dim_t< 3 >   
)
void SFCGAL::detail::_decompose_solid ( const Solid ,
GeometrySet< 2 >::VolumeCollection &  ,
dim_t< 2 >   
)
void SFCGAL::detail::_decompose_solid ( const Solid solid,
GeometrySet< 3 >::VolumeCollection &  volumes,
dim_t< 3 >   
)
void SFCGAL::detail::_decompose_triangle ( const Triangle tri,
GeometrySet< 2 >::SurfaceCollection &  surfaces,
dim_t< 2 >   
)
void SFCGAL::detail::_decompose_triangle ( const Triangle tri,
GeometrySet< 3 >::SurfaceCollection &  surfaces,
dim_t< 3 >   
)
template<int Dim, class IT >
void SFCGAL::detail::_filter_covered ( IT  ibegin,
IT  iend,
GeometrySet< Dim > &  output 
)
CGAL::Bbox_2 SFCGAL::detail::compute_solid_bbox ( const NoVolume ,
dim_t< 2 >   
)
inline
CGAL::Bbox_3 SFCGAL::detail::compute_solid_bbox ( const TypeForDimension< 3 >::Volume &  vol,
dim_t< 3 >   
)
inline
template<class Primitive >
std::ostream& SFCGAL::detail::operator<< ( std::ostream &  ostr,
const CollectionElement< Primitive > &  p 
)
SFCGAL_API std::ostream & SFCGAL::detail::operator<< ( std::ostream &  ostr,
const GeometrySet< 2 > &  g 
)

Display operator.

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

Display operator.

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

convert a CGAL::Polygon_set_2 to a MultiPolygon

Todo:
unittest
template<int Dim>
void SFCGAL::detail::recompose_points ( const typename GeometrySet< Dim >::PointCollection &  points,
std::vector< Geometry * > &  rpoints,
dim_t< Dim >   
)
template<int Dim>
void SFCGAL::detail::recompose_segments ( const typename GeometrySet< Dim >::SegmentCollection &  segments,
std::vector< Geometry * > &  lines,
dim_t< Dim >   
)
void SFCGAL::detail::recompose_surfaces ( const GeometrySet< 2 >::SurfaceCollection &  surfaces,
std::vector< Geometry * > &  output,
dim_t< 2 >   
)
void SFCGAL::detail::recompose_surfaces ( const GeometrySet< 3 >::SurfaceCollection &  surfaces,
std::vector< Geometry * > &  output,
dim_t< 3 >   
)
void SFCGAL::detail::recompose_volumes ( const GeometrySet< 2 >::VolumeCollection &  ,
std::vector< Geometry * > &  ,
dim_t< 2 >   
)
void SFCGAL::detail::recompose_volumes ( const GeometrySet< 3 >::VolumeCollection &  volumes,
std::vector< Geometry * > &  output,
dim_t< 3 >   
)