Geogram  Version 1.9.1
A programming library of geometric algorithms
mesh_surface_intersection.h File Reference

Functions for computing intersections between surfacic meshes and for boolean operations. More...

#include <geogram/basic/common.h>
#include <geogram/mesh/mesh.h>
#include <geogram/mesh/mesh_io.h>
#include <geogram/numerics/exact_geometry.h>
#include <geogram/basic/process.h>
#include <geogram/basic/attributes.h>
#include <geogram/basic/debug_stream.h>
#include <functional>

Go to the source code of this file.

Classes

class  GEO::MeshSurfaceIntersection
 Computes surface intersections. More...
 
class  GEO::MeshSurfaceIntersection::RadialSort
 
class  GEO::MeshSurfaceIntersection::Halfedges
 Halfedfge-like API wrappers on top of a triangulated mesh. More...
 
class  GEO::MeshSurfaceIntersection::RadialBundles
 Represents the set of radial halfedge bundles. More...
 
class  GEO::MeshSurfaceIntersection::RadialPolylines
 

Namespaces

 GEO
 Global Vorpaline namespace.
 

Enumerations

enum  MeshBooleanOperationFlags { MESH_BOOL_OPS_DEFAULT = 0 , MESH_BOOL_OPS_VERBOSE = 1 , MESH_BOOL_OPS_ATTRIBS = 2 , MESH_BOOL_OPS_NO_SIMPLIFY = 4 }
 

Functions

void GEO::mesh_boolean_operation (Mesh &result, Mesh &A, Mesh &B, const std::string &operation, MeshBooleanOperationFlags flags=MESH_BOOL_OPS_DEFAULT)
 Computes a boolean operation with two surface meshes. More...
 
void GEO::mesh_boolean_operation (Mesh &result, Mesh &A, Mesh &B, const std::string &operation, bool verbose)
 Computes a boolean operation with two surface meshes. More...
 
void GEO::mesh_union (Mesh &result, Mesh &A, Mesh &B, MeshBooleanOperationFlags flags=MESH_BOOL_OPS_DEFAULT)
 Computes the union of two surface meshes. More...
 
void GEO::mesh_union (Mesh &result, Mesh &A, Mesh &B, bool verbose)
 Computes the union of two surface meshes. More...
 
void GEO::mesh_intersection (Mesh &result, Mesh &A, Mesh &B, MeshBooleanOperationFlags flags=MESH_BOOL_OPS_DEFAULT)
 Computes the intersection of two surface meshes. More...
 
void GEO::mesh_intersection (Mesh &result, Mesh &A, Mesh &B, bool verbose)
 Computes the intersection of two surface meshes. More...
 
void GEO::mesh_difference (Mesh &result, Mesh &A, Mesh &B, MeshBooleanOperationFlags flags=MESH_BOOL_OPS_DEFAULT)
 Computes the difference of two surface meshes. More...
 
void GEO::mesh_difference (Mesh &result, Mesh &A, Mesh &B, bool verbose)
 Computes the difference of two surface meshes. More...
 
void GEO::mesh_remove_intersections (Mesh &M, index_t max_iter=3, bool verbose=false)
 Attempts to make a surface mesh conformal by removing intersecting facets and re-triangulating the holes. More...
 
bool GEO::mesh_facets_have_intersection (Mesh &M, index_t f1, index_t f2)
 Tests whether two mesh facets have a non-degenerate intersection. More...
 

Detailed Description

Functions for computing intersections between surfacic meshes and for boolean operations.

Definition in file mesh_surface_intersection.h.