Blender
V3.3
|
#include "BLI_assert.h"
Go to the source code of this file.
Classes | |
struct | BMHeader |
struct | BMVert |
struct | BMVert_OFlag |
struct | BMDiskLink |
struct | BMEdge |
struct | BMEdge_OFlag |
struct | BMLoop |
struct | BMElemF |
struct | BMElem |
struct | BMFace |
struct | BMFace_OFlag |
struct | BMFlagLayer |
struct | BMesh |
struct | BMLoopNorEditData |
struct | BMLoopNorEditDataArray |
Typedefs | |
typedef struct BMHeader | BMHeader |
typedef struct BMVert | BMVert |
typedef struct BMVert_OFlag | BMVert_OFlag |
typedef struct BMDiskLink | BMDiskLink |
typedef struct BMEdge | BMEdge |
typedef struct BMEdge_OFlag | BMEdge_OFlag |
typedef struct BMLoop | BMLoop |
typedef struct BMElemF | BMElemF |
typedef struct BMElem | BMElem |
typedef struct BMFace | BMFace |
typedef struct BMFace_OFlag | BMFace_OFlag |
typedef struct BMFlagLayer | BMFlagLayer |
typedef struct BMesh | BMesh |
typedef struct BMLoopNorEditData | BMLoopNorEditData |
typedef struct BMLoopNorEditDataArray | BMLoopNorEditDataArray |
typedef bool(* | BMElemFilterFunc) (const BMElem *, void *user_data) |
typedef bool(* | BMVertFilterFunc) (const BMVert *, void *user_data) |
typedef bool(* | BMEdgeFilterFunc) (const BMEdge *, void *user_data) |
typedef bool(* | BMFaceFilterFunc) (const BMFace *, void *user_data) |
typedef bool(* | BMLoopFilterFunc) (const BMLoop *, void *user_data) |
typedef bool(* | BMLoopPairFilterFunc) (const BMLoop *, const BMLoop *, void *user_data) |
Enumerations | |
enum | { BM_VERT = 1 , BM_EDGE = 2 , BM_LOOP = 4 , BM_FACE = 8 } |
enum | { BM_SPACEARR_DIRTY = 1 << 0 , BM_SPACEARR_DIRTY_ALL = 1 << 1 , BM_SPACEARR_BMO_SET = 1 << 2 } |
enum | { BM_ELEM_SELECT = (1 << 0) , BM_ELEM_HIDDEN = (1 << 1) , BM_ELEM_SEAM = (1 << 2) , BM_ELEM_SMOOTH = (1 << 3) , BM_ELEM_TAG = (1 << 4) , BM_ELEM_DRAW = (1 << 5) , BM_ELEM_TAG_ALT = (1 << 6) , BM_ELEM_INTERNAL_TAG = (1 << 7) } |
Functions | |
BLI_STATIC_ASSERT ((sizeof(BMHeader)<=16), "BMHeader size has grown!") | |
void | bpy_bm_generic_invalidate (struct BPy_BMGeneric *self) |
BMesh data structures, used for mesh editing operations that benefit from accessing connectivity information.
Definition in file bmesh_class.h.
#define _BM_GENERIC_TYPE_EDGE_CONST const BMEdge *, const BMEdge_OFlag * |
Definition at line 447 of file bmesh_class.h.
#define _BM_GENERIC_TYPE_EDGE_NONCONST BMEdge *, BMEdge_OFlag * |
Definition at line 446 of file bmesh_class.h.
#define _BM_GENERIC_TYPE_ELEM_CONST |
Definition at line 425 of file bmesh_class.h.
#define _BM_GENERIC_TYPE_ELEM_NONCONST |
Definition at line 421 of file bmesh_class.h.
#define _BM_GENERIC_TYPE_FACE_CONST const BMFace *, const BMFace_OFlag * |
Definition at line 454 of file bmesh_class.h.
#define _BM_GENERIC_TYPE_FACE_NONCONST BMFace *, BMFace_OFlag * |
Definition at line 453 of file bmesh_class.h.
#define _BM_GENERIC_TYPE_VERT_CONST const BMVert *, const BMVert_OFlag * |
Definition at line 440 of file bmesh_class.h.
#define _BM_GENERIC_TYPE_VERT_NONCONST BMVert *, BMVert_OFlag * |
Definition at line 439 of file bmesh_class.h.
Definition at line 410 of file bmesh_class.h.
#define BM_CHECK_TYPE_EDGE | ( | ele | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPE_EDGE_NONCONST, _BM_GENERIC_TYPE_EDGE_CONST) |
Definition at line 450 of file bmesh_class.h.
#define BM_CHECK_TYPE_EDGE_CONST | ( | ele | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPE_EDGE_CONST) |
Definition at line 448 of file bmesh_class.h.
#define BM_CHECK_TYPE_EDGE_NONCONST | ( | ele | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPE_ELEM_NONCONST) |
Definition at line 449 of file bmesh_class.h.
#define BM_CHECK_TYPE_ELEM | ( | ele | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPE_ELEM_NONCONST, _BM_GENERIC_TYPE_ELEM_CONST) |
Definition at line 435 of file bmesh_class.h.
#define BM_CHECK_TYPE_ELEM_ASSIGN | ( | ele | ) | (BM_CHECK_TYPE_ELEM(ele)), ele |
Definition at line 466 of file bmesh_class.h.
#define BM_CHECK_TYPE_ELEM_CONST | ( | ele | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPES_CONST) |
Definition at line 431 of file bmesh_class.h.
#define BM_CHECK_TYPE_ELEM_NONCONST | ( | ele | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPE_ELEM_NONCONST) |
Definition at line 433 of file bmesh_class.h.
#define BM_CHECK_TYPE_FACE | ( | ele | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPE_FACE_NONCONST, _BM_GENERIC_TYPE_FACE_CONST) |
Definition at line 457 of file bmesh_class.h.
#define BM_CHECK_TYPE_FACE_CONST | ( | ele | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPE_FACE_CONST) |
Definition at line 455 of file bmesh_class.h.
#define BM_CHECK_TYPE_FACE_NONCONST | ( | ele | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPE_ELEM_NONCONST) |
Definition at line 456 of file bmesh_class.h.
#define BM_CHECK_TYPE_VERT | ( | ele | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPE_VERT_NONCONST, _BM_GENERIC_TYPE_VERT_CONST) |
Definition at line 443 of file bmesh_class.h.
#define BM_CHECK_TYPE_VERT_CONST | ( | ele | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPE_VERT_CONST) |
Definition at line 441 of file bmesh_class.h.
#define BM_CHECK_TYPE_VERT_NONCONST | ( | ele | ) | CHECK_TYPE_ANY(ele, _BM_GENERIC_TYPE_ELEM_NONCONST) |
Definition at line 442 of file bmesh_class.h.
#define BM_DEFAULT_ITER_STACK_SIZE 16 |
size to use for stack arrays dealing with connected mesh data verts of faces, edges of vert - etc. often used with BM_iter_as_arrayN()
Definition at line 645 of file bmesh_class.h.
#define BM_DEFAULT_NGON_STACK_SIZE 32 |
size to use for stack arrays when dealing with NGons, alloc after this limit is reached. this value is rather arbitrary
Definition at line 640 of file bmesh_class.h.
Definition at line 625 of file bmesh_class.h.
Definition at line 630 of file bmesh_class.h.
#define BM_ELEM_CD_GET_BOOL | ( | ele, | |
offset | |||
) | (BLI_assert(offset != -1), *((bool *)((char *)(ele)->head.data + (offset)))) |
Definition at line 529 of file bmesh_class.h.
#define BM_ELEM_CD_GET_FLOAT | ( | ele, | |
offset | |||
) | (BLI_assert(offset != -1), *((float *)((char *)(ele)->head.data + (offset)))) |
Definition at line 553 of file bmesh_class.h.
#define BM_ELEM_CD_GET_FLOAT2_P | ( | ele, | |
offset | |||
) | (BLI_assert(offset != -1), (float(*)[2])((char *)(ele)->head.data + (offset))) |
Definition at line 587 of file bmesh_class.h.
#define BM_ELEM_CD_GET_FLOAT3_P | ( | ele, | |
offset | |||
) | (BLI_assert(offset != -1), (float(*)[3])((char *)(ele)->head.data + (offset))) |
Definition at line 590 of file bmesh_class.h.
#define BM_ELEM_CD_GET_FLOAT_AS_UCHAR | ( | ele, | |
offset | |||
) | (BLI_assert(offset != -1), (uchar)(BM_ELEM_CD_GET_FLOAT(ele, offset) * 255.0f)) |
Definition at line 614 of file bmesh_class.h.
#define BM_ELEM_CD_GET_FLOAT_P | ( | ele, | |
offset | |||
) | (BLI_assert(offset != -1), (float *)((char *)(ele)->head.data + (offset))) |
Definition at line 584 of file bmesh_class.h.
#define BM_ELEM_CD_GET_INT | ( | ele, | |
offset | |||
) | (BLI_assert(offset != -1), *((int *)((char *)(ele)->head.data + (offset)))) |
Definition at line 518 of file bmesh_class.h.
#define BM_ELEM_CD_GET_VOID_P | ( | ele, | |
offset | |||
) | (BLI_assert(offset != -1), (void *)((char *)(ele)->head.data + (offset))) |
Definition at line 541 of file bmesh_class.h.
Definition at line 521 of file bmesh_class.h.
Definition at line 545 of file bmesh_class.h.
Definition at line 604 of file bmesh_class.h.
Definition at line 510 of file bmesh_class.h.
#define BM_FACE_FIRST_LOOP | ( | p | ) | ((p)->l_first) |
Definition at line 622 of file bmesh_class.h.
#define BM_LOOP_RADIAL_MAX 10000 |
Definition at line 649 of file bmesh_class.h.
#define BM_NGON_MAX 100000 |
Definition at line 650 of file bmesh_class.h.
#define BM_OMP_LIMIT 10000 |
Definition at line 656 of file bmesh_class.h.
typedef struct BMDiskLink BMDiskLink |
typedef struct BMEdge_OFlag BMEdge_OFlag |
Definition at line 504 of file bmesh_class.h.
Definition at line 502 of file bmesh_class.h.
typedef struct BMFace_OFlag BMFace_OFlag |
Definition at line 505 of file bmesh_class.h.
typedef struct BMFlagLayer BMFlagLayer |
All mesh elements begin with a BMHeader. This structure hold several types of data
1: The type of the element (vert, edge, loop or face) 2: Persistent "header" flags/markings (smooth, seam, select, hidden, etc) note that this is different from the "tool" flags. 3: Unique ID in the BMesh. 4: some elements for internal record keeping.
Definition at line 506 of file bmesh_class.h.
typedef struct BMLoopNorEditData BMLoopNorEditData |
typedef struct BMLoopNorEditDataArray BMLoopNorEditDataArray |
Definition at line 507 of file bmesh_class.h.
typedef struct BMVert_OFlag BMVert_OFlag |
Definition at line 503 of file bmesh_class.h.
anonymous enum |
BMHeader.htype (char)
Enumerator | |
---|---|
BM_VERT | |
BM_EDGE | |
BM_LOOP | |
BM_FACE |
Definition at line 382 of file bmesh_class.h.
anonymous enum |
Enumerator | |
---|---|
BM_SPACEARR_DIRTY | |
BM_SPACEARR_DIRTY_ALL | |
BM_SPACEARR_BMO_SET |
Definition at line 414 of file bmesh_class.h.
anonymous enum |
BMHeader.hflag (char)
Definition at line 470 of file bmesh_class.h.
void bpy_bm_generic_invalidate | ( | struct BPy_BMGeneric * | self | ) |
Definition at line 4048 of file bmesh_py_types.c.
References NULL.
Referenced by bpy_bmedgeseq_remove(), bpy_bmesh_free(), bpy_bmfaceseq_remove(), and bpy_bmvertseq_remove().