MEPP2 Project
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
CPolyhedron_from_polygon_builder_3< HDS > Class Template Reference

A polyhedron incremental builder. More...

#include <boolops_cpolyhedron_builder.hpp>

Inheritance diagram for CPolyhedron_from_polygon_builder_3< HDS >:
Inheritance graph
Collaboration diagram for CPolyhedron_from_polygon_builder_3< HDS >:
Collaboration graph

Public Types

typedef HDS::Traits::Point_3 Point_3
 3d point of an halfedge data structure More...
 
typedef std::vector< unsigned long > Indices
 A list of indices (unsigned long) to describe a facet. More...
 
typedef CGAL::Polyhedron_incremental_builder_3< HDSBuilder
 The polyhedron incremental builder. More...
 

Public Member Functions

 CPolyhedron_from_polygon_builder_3 ()
 Constructor. More...
 
void add_triangle (Facet_handle &f, bool invert)
 Adds a triangular facet from a facet of a polyhedron. More...
 
void add_triangle (std::vector< std::vector< unsigned long > > &T, Halfedge_handle &he)
 Adds a list of triangular facet from an intersected facet of a polyhedron. More...
 
void add_vertex (Point3d p, unsigned long &l)
 Adds a Vertex. More...
 
void operator() (HDS &hds)
 this method builds the polyhedron, using the vertices and the facets stored More...
 

Private Member Functions

void add_vertices (Builder &B)
 Used to build the vertices of the polyhedron. More...
 
void add_facets (Builder &B)
 Used to build the facets of the polyhedron. More...
 

Private Attributes

std::vector< Point_3m_Sorted_vertices
 List of the vertices. More...
 
std::vector< Indicesm_Facets_indices
 List of the facets. More...
 

Detailed Description

template<class HDS>
class CPolyhedron_from_polygon_builder_3< HDS >

A polyhedron incremental builder.

Definition at line 34 of file boolops_cpolyhedron_builder.hpp.

Member Typedef Documentation

◆ Builder

template<class HDS >
typename CPolyhedron_from_polygon_builder_3< HDS >::Builder

The polyhedron incremental builder.

Definition at line 53 of file boolops_cpolyhedron_builder.hpp.

◆ Indices

template<class HDS >
typename CPolyhedron_from_polygon_builder_3< HDS >::Indices

A list of indices (unsigned long) to describe a facet.

Definition at line 47 of file boolops_cpolyhedron_builder.hpp.

◆ Point_3

template<class HDS >
typename CPolyhedron_from_polygon_builder_3< HDS >::Point_3

3d point of an halfedge data structure

Definition at line 41 of file boolops_cpolyhedron_builder.hpp.

Constructor & Destructor Documentation

◆ CPolyhedron_from_polygon_builder_3()

Constructor.

Definition at line 67 of file boolops_cpolyhedron_builder.hpp.

Member Function Documentation

◆ add_facets()

template<class HDS >
void CPolyhedron_from_polygon_builder_3< HDS >::add_facets ( Builder B)
inlineprivate

Used to build the facets of the polyhedron.

Parameters
B: The builder

Definition at line 215 of file boolops_cpolyhedron_builder.hpp.

Here is the caller graph for this function:

◆ add_triangle() [1/2]

template<class HDS >
void CPolyhedron_from_polygon_builder_3< HDS >::add_triangle ( Facet_handle f,
bool  invert 
)
inline

Adds a triangular facet from a facet of a polyhedron.

Parameters
f: The facet handle
invert: must be true if the orientation of the facet must be inverted

Definition at line 74 of file boolops_cpolyhedron_builder.hpp.

Here is the call graph for this function:

◆ add_triangle() [2/2]

template<class HDS >
void CPolyhedron_from_polygon_builder_3< HDS >::add_triangle ( std::vector< std::vector< unsigned long > > &  T,
Halfedge_handle he 
)
inline

Adds a list of triangular facet from an intersected facet of a polyhedron.

Parameters
T: The list of triangle to add. Each triangle is described as a list of three indices
he: First halfedge handle of the facet

Definition at line 114 of file boolops_cpolyhedron_builder.hpp.

◆ add_vertex()

template<class HDS >
void CPolyhedron_from_polygon_builder_3< HDS >::add_vertex ( Point3d  p,
unsigned long &  l 
)
inline

Adds a Vertex.

Parameters
p: The point to add
l: The corresponding label

Definition at line 176 of file boolops_cpolyhedron_builder.hpp.

Here is the caller graph for this function:

◆ add_vertices()

template<class HDS >
void CPolyhedron_from_polygon_builder_3< HDS >::add_vertices ( Builder B)
inlineprivate

Used to build the vertices of the polyhedron.

Parameters
B: The builder

Definition at line 203 of file boolops_cpolyhedron_builder.hpp.

Here is the caller graph for this function:

◆ operator()()

template<class HDS >
void CPolyhedron_from_polygon_builder_3< HDS >::operator() ( HDS hds)
inline

this method builds the polyhedron, using the vertices and the facets stored

Parameters
hds: The halfedge data structure

Definition at line 188 of file boolops_cpolyhedron_builder.hpp.

Here is the call graph for this function:

Member Data Documentation

◆ m_Facets_indices

template<class HDS >
std::vector<Indices> CPolyhedron_from_polygon_builder_3< HDS >::m_Facets_indices
private

List of the facets.

Definition at line 60 of file boolops_cpolyhedron_builder.hpp.

◆ m_Sorted_vertices

template<class HDS >
std::vector<Point_3> CPolyhedron_from_polygon_builder_3< HDS >::m_Sorted_vertices
private

List of the vertices.

Definition at line 58 of file boolops_cpolyhedron_builder.hpp.


The documentation for this class was generated from the following file: