The class that compute a Boolean operation.
More...
#include <boolops_polyhedra.hpp>
|
struct | Info_Inter |
| Contains informations about an intersection between a facet and a halfedge. More...
|
|
struct | Triangle_Cut |
| A structure containing informations about an intersected facet. More...
|
|
template<typename HalfedgeGraph>
class BoolPolyhedra< HalfedgeGraph >
The class that compute a Boolean operation.
Definition at line 133 of file boolops_polyhedra.hpp.
◆ BoolPolyhedra()
template<typename HalfedgeGraph >
Constructor.
Computes a boolean operation
- Parameters
-
_gA | : The first mesh |
_gB | : The second mesh |
_g_out | : The result mesh |
BOOP | : The Boolean operator. Must be UNION, INTER or MINUS |
Definition at line 200 of file boolops_polyhedra.hpp.
◆ ~BoolPolyhedra()
template<typename HalfedgeGraph >
◆ add_facet_to_solution()
template<typename HalfedgeGraph >
Add a facet to the result.
- Parameters
-
pFacet | : A handle to the facet to add |
facet_from_A | : must be true if the facet belongs to the first polyhedron |
Definition at line 1760 of file boolops_polyhedra.hpp.
◆ ComputeIntersections()
template<typename HalfedgeGraph >
◆ CutIntersectedFacets()
template<typename HalfedgeGraph >
◆ FindCouples()
template<typename HalfedgeGraph >
Finds every couple of facets between the two input polyhedra that intersects.
Each couple is stored in the member m_Couples
Definition at line 485 of file boolops_polyhedra.hpp.
◆ Get_Segment()
template<typename HalfedgeGraph >
Extracts the segment from a set of four intersection points and store these points in the list of intersecion points
There must be two valid and distinct points in the set.
- Parameters
-
inter | : A pointer to four Info_Inter structure |
I | : A vector to store the Id of the two intersection points (the output segment) |
Definition at line 1465 of file boolops_polyhedra.hpp.
◆ Init()
template<typename HalfedgeGraph >
Initialisation of the tags, and triangulation of the two input polyhedra.
- Parameters
-
pMA | : The first polyhedron |
pMB | : The second polyhedron |
Definition at line 360 of file boolops_polyhedra.hpp.
◆ InterTriangleSegment()
template<typename HalfedgeGraph >
◆ InterTriangleTriangle()
template<typename HalfedgeGraph >
Compute the intersection between two facets.
- Parameters
-
A | : Facet Id of the first facet (from the first polyhedron) |
B | : Facet Id of the second facet (from the second polyhedron) |
Definition at line 744 of file boolops_polyhedra.hpp.
◆ IsInTriangle()
template<typename HalfedgeGraph >
◆ IsSegment()
template<typename HalfedgeGraph >
Verify that the intersection is a segment.
- Parameters
-
- Returns
- true if two distinct points are found in the four intersections computed
Definition at line 1369 of file boolops_polyhedra.hpp.
◆ PropagateFacets()
template<typename HalfedgeGraph >
◆ rmCouple()
template<typename HalfedgeGraph >
removes properly a couple from the list
- Parameters
-
A | : Id of the first facet |
B | : Id of the second facet |
Definition at line 734 of file boolops_polyhedra.hpp.
◆ Store_Intersection()
template<typename HalfedgeGraph >
Store the intersection and memorize it for every couples of facet-halfedge.
- Parameters
-
Definition at line 1494 of file boolops_polyhedra.hpp.
◆ triangulate()
template<typename HalfedgeGraph >
◆ duration_ComputeIntersections
template<typename HalfedgeGraph >
double BoolPolyhedra< HalfedgeGraph >::duration_ComputeIntersections |
|
private |
◆ duration_CutIntersectedFacets
template<typename HalfedgeGraph >
double BoolPolyhedra< HalfedgeGraph >::duration_CutIntersectedFacets |
|
private |
◆ duration_delegate
template<typename HalfedgeGraph >
◆ duration_FindCouples
template<typename HalfedgeGraph >
◆ duration_Init
template<typename HalfedgeGraph >
◆ duration_Inputs_copy
template<typename HalfedgeGraph >
◆ duration_Output_copy
template<typename HalfedgeGraph >
◆ duration_PropagateFacets
template<typename HalfedgeGraph >
◆ duration_total
template<typename HalfedgeGraph >
◆ m_BOOP
template<typename HalfedgeGraph >
◆ m_Couples
template<typename HalfedgeGraph >
◆ m_Facet_Handle
template<typename HalfedgeGraph >
◆ m_Inter_tri
template<typename HalfedgeGraph >
◆ m_InterPts
template<typename HalfedgeGraph >
◆ m_pA
template<typename HalfedgeGraph >
◆ m_pB
template<typename HalfedgeGraph >
◆ ppbuilder
template<typename HalfedgeGraph >
◆ tree
template<typename HalfedgeGraph >
The documentation for this class was generated from the following file: