Blender  V3.3
Macros | Enumerations | Functions
bmesh_private.h File Reference
#include "bmesh_structure.h"

Go to the source code of this file.

Macros

#define BM_CHECK_ELEMENT(el)
 
#define BM_ELEM_API_FLAG_ENABLE(element, f)
 
#define BM_ELEM_API_FLAG_DISABLE(element, f)
 
#define BM_ELEM_API_FLAG_TEST(element, f)   ((element)->head.api_flag & (f))
 
#define BM_ELEM_API_FLAG_CLEAR(element)
 

Enumerations

enum  {
  _FLAG_JF = (1 << 0) , _FLAG_MF = (1 << 1) , _FLAG_MV = (1 << 1) , _FLAG_OVERLAP = (1 << 2) ,
  _FLAG_WALK = (1 << 3) , _FLAG_WALK_ALT = (1 << 4) , _FLAG_ELEM_CHECK = (1 << 7)
}
 

Functions

int bmesh_elem_check (void *element, char htype)
 
int bmesh_radial_length (const BMLoop *l)
 
int bmesh_disk_count_at_most (const BMVert *v, int count_max)
 
int bmesh_disk_count (const BMVert *v)
 
void poly_rotate_plane (const float normal[3], float(*verts)[3], uint nverts)
 POLY ROTATE PLANE. More...
 

Detailed Description

Private function prototypes for bmesh public API. This file is a grab-bag of functions from various parts of the bmesh internals.

Definition in file bmesh_private.h.

Macro Definition Documentation

◆ BM_CHECK_ELEMENT

#define BM_CHECK_ELEMENT (   el)
Value:
{ \
if (bmesh_elem_check(el, ((BMHeader *)el)->htype)) { \
printf( \
"check_element failure, with code %i on line %i in file\n" \
" \"%s\"\n\n", \
bmesh_elem_check(el, ((BMHeader *)el)->htype), \
__LINE__, \
__FILE__); \
} \
} \
((void)0)
int bmesh_elem_check(void *element, char htype)
Definition: bmesh_core.c:487
SyclQueue void void size_t num_bytes void

Definition at line 32 of file bmesh_private.h.

◆ BM_ELEM_API_FLAG_CLEAR

#define BM_ELEM_API_FLAG_CLEAR (   element)
Value:
{ \
((element)->head.api_flag = 0); \
} \
(void)0
ATTR_WARN_UNUSED_RESULT const void * element

Definition at line 77 of file bmesh_private.h.

◆ BM_ELEM_API_FLAG_DISABLE

#define BM_ELEM_API_FLAG_DISABLE (   element,
 
)
Value:
{ \
((element)->head.api_flag &= (uchar) ~(f)); \
} \
(void)0
unsigned char uchar
Definition: BLI_sys_types.h:70

Definition at line 71 of file bmesh_private.h.

◆ BM_ELEM_API_FLAG_ENABLE

#define BM_ELEM_API_FLAG_ENABLE (   element,
 
)
Value:
{ \
((element)->head.api_flag |= (f)); \
} \
(void)0

Definition at line 66 of file bmesh_private.h.

◆ BM_ELEM_API_FLAG_TEST

#define BM_ELEM_API_FLAG_TEST (   element,
 
)    ((element)->head.api_flag & (f))

Definition at line 76 of file bmesh_private.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Internal BMHeader.api_flag

Note
Ensure different parts of the API do not conflict on using these internal flags!
Enumerator
_FLAG_JF 
_FLAG_MF 
_FLAG_MV 
_FLAG_OVERLAP 
_FLAG_WALK 
_FLAG_WALK_ALT 
_FLAG_ELEM_CHECK 

Definition at line 55 of file bmesh_private.h.

Function Documentation

◆ bmesh_disk_count()

int bmesh_disk_count ( const BMVert v)

◆ bmesh_disk_count_at_most()

int bmesh_disk_count_at_most ( const BMVert v,
int  count_max 
)

◆ bmesh_elem_check()

int bmesh_elem_check ( void element,
char  htype 
)

◆ bmesh_radial_length()

int bmesh_radial_length ( const BMLoop l)

◆ poly_rotate_plane()

void poly_rotate_plane ( const float  normal[3],
float(*)  verts[3],
uint  nverts 
)

POLY ROTATE PLANE.

Rotates a polygon so that its normal is pointing towards the mesh Z axis

Definition at line 570 of file bmesh_polygon.c.

References axis_dominant_v3_to_m3(), copy_v3_v3(), mul_v2_m3v3(), normal, and verts.

Referenced by quad_co().