Blender V4.3
bmesh_intersect.hh File Reference

Go to the source code of this file.

Enumerations

enum  { BMESH_ISECT_BOOLEAN_NONE = -1 , BMESH_ISECT_BOOLEAN_ISECT = 0 , BMESH_ISECT_BOOLEAN_UNION = 1 , BMESH_ISECT_BOOLEAN_DIFFERENCE = 2 }
 

Functions

bool BM_mesh_intersect (BMesh *bm, blender::Span< std::array< BMLoop *, 3 > > looptris, int(*test_fn)(BMFace *f, void *user_data), void *user_data, bool use_self, bool use_separate, bool use_dissolve, bool use_island_connect, bool use_partial_connect, bool use_edge_tag, int boolean_mode, float eps)
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
BMESH_ISECT_BOOLEAN_NONE 
BMESH_ISECT_BOOLEAN_ISECT 
BMESH_ISECT_BOOLEAN_UNION 
BMESH_ISECT_BOOLEAN_DIFFERENCE 

Definition at line 32 of file bmesh_intersect.hh.

Function Documentation

◆ BM_mesh_intersect()

bool BM_mesh_intersect ( BMesh * bm,
blender::Span< std::array< BMLoop *, 3 > > looptris,
int(* test_fn )(BMFace *f, void *user_data),
void * user_data,
bool use_self,
bool use_separate,
bool use_dissolve,
bool use_island_connect,
bool use_partial_connect,
bool use_edge_tag,
int boolean_mode,
float eps )

Intersect tessellated faces leaving the resulting edges tagged.

Parameters
test_fnReturn value: -1: skip, 0: tree_a, 1: tree_b (use_self == false)
boolean_mode-1: no-boolean, 0: intersection... see BMESH_ISECT_BOOLEAN_ISECT.
Returns
true if the mesh is changed (intersections cut or faces removed from boolean).