|
Blender V4.3
|
Go to the source code of this file.
Classes | |
| union | eBMOpSlotSubType_Union |
| struct | BMO_FlagSet |
| struct | BMOpSlot |
| struct | BMOperator |
| struct | BMOSlotType |
| struct | BMOpDefine |
| struct | BMOIter |
Typedefs | |
| typedef enum eBMOpSlotType | eBMOpSlotType |
| typedef enum eBMOpSlotSubType_Elem | eBMOpSlotSubType_Elem |
| typedef enum eBMOpSlotSubType_Map | eBMOpSlotSubType_Map |
| typedef enum eBMOpSlotSubType_Ptr | eBMOpSlotSubType_Ptr |
| typedef enum eBMOpSlotSubType_Int | eBMOpSlotSubType_Int |
| typedef union eBMOpSlotSubType_Union | eBMOpSlotSubType_Union |
| typedef struct BMO_FlagSet | BMO_FlagSet |
| typedef struct BMOpSlot | BMOpSlot |
| typedef struct BMOperator | BMOperator |
| typedef struct BMOSlotType | BMOSlotType |
| typedef struct BMOpDefine | BMOpDefine |
| typedef struct BMOIter | BMOIter |
Functions | |
| BLI_INLINE BMFlagLayer * | BMO_elem_flag_from_header (BMHeader *ele_head) |
| BLI_INLINE short | _bmo_elem_flag_test (BMesh *bm, const BMFlagLayer *oflags, short oflag) |
| BLI_INLINE bool | _bmo_elem_flag_test_bool (BMesh *bm, const BMFlagLayer *oflags, short oflag) |
| BLI_INLINE void | _bmo_elem_flag_enable (BMesh *bm, BMFlagLayer *oflags, short oflag) |
| BLI_INLINE void | _bmo_elem_flag_disable (BMesh *bm, BMFlagLayer *oflags, short oflag) |
| BLI_INLINE void | _bmo_elem_flag_set (BMesh *bm, BMFlagLayer *oflags, short oflag, int val) |
| BLI_INLINE void | _bmo_elem_flag_toggle (BMesh *bm, BMFlagLayer *oflags, short oflag) |
| void | BMO_op_flag_enable (BMesh *bm, BMOperator *op, int op_flag) |
| void | BMO_op_flag_disable (BMesh *bm, BMOperator *op, int op_flag) |
| void | BMO_mesh_flag_disable_all (BMesh *bm, BMOperator *op, char htype, short oflag) |
| void | BMO_mesh_selected_remap (BMesh *bm, BMOpSlot *slot_vert_map, BMOpSlot *slot_edge_map, BMOpSlot *slot_face_map, bool check_select) |
| void | _bmo_slot_buffer_append (BMOpSlot slot_args_dst[BMO_OP_MAX_SLOTS], const char *slot_name_dst, BMOpSlot slot_args_src[BMO_OP_MAX_SLOTS], const char *slot_name_src, struct MemArena *arena_dst) |
| void | BMO_slot_buffer_from_enabled_flag (BMesh *bm, BMOperator *op, BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name, char htype, short oflag) |
| void | BMO_slot_buffer_from_disabled_flag (BMesh *bm, BMOperator *op, BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name, char htype, short oflag) |
| void | BMO_slot_buffer_flag_enable (BMesh *bm, BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name, char htype, short oflag) |
| BMO_FLAG_BUFFER. | |
| void | BMO_slot_buffer_flag_disable (BMesh *bm, BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name, char htype, short oflag) |
| BMO_FLAG_BUFFER. | |
| void | BMO_slot_buffer_hflag_enable (BMesh *bm, BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name, char htype, char hflag, bool do_flush) |
| BMO_FLAG_BUFFER. | |
| void | BMO_slot_buffer_hflag_disable (BMesh *bm, BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name, char htype, char hflag, bool do_flush) |
| BMO_FLAG_BUFFER. | |
| void | BMO_slot_buffer_from_enabled_hflag (BMesh *bm, BMOperator *op, BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name, char htype, char hflag) |
| void | BMO_slot_buffer_from_disabled_hflag (BMesh *bm, BMOperator *op, BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name, char htype, char hflag) |
| void | BMO_slot_buffer_from_array (BMOperator *op, BMOpSlot *slot, BMHeader **ele_buffer, int ele_buffer_len) |
| void | BMO_slot_buffer_from_single (BMOperator *op, BMOpSlot *slot, BMHeader *ele) |
| void * | BMO_slot_buffer_get_single (BMOpSlot *slot) |
| int | BMO_slot_buffer_len (BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name) |
| int | BMO_slot_map_len (BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name) |
| void | BMO_slot_map_insert (BMOperator *op, BMOpSlot *slot, const void *element, const void *data) |
| void | BMO_slot_map_to_flag (BMesh *bm, BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name, char htype, short oflag) |
| void * | BMO_slot_buffer_alloc (BMOperator *op, BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name, int len) |
| void | BMO_slot_buffer_from_all (BMesh *bm, BMOperator *op, BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name, char htype) |
| BMO_ALL_TO_SLOT. | |
| void * | BMO_slot_buffer_get_first (BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name) |
| void * | BMO_iter_new (BMOIter *iter, BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name, char restrictmask) |
| New Iterator. | |
| void * | BMO_iter_step (BMOIter *iter) |
| void ** | BMO_iter_map_value_p (BMOIter *iter) |
| void * | BMO_iter_map_value_ptr (BMOIter *iter) |
| float | BMO_iter_map_value_float (BMOIter *iter) |
| int | BMO_iter_map_value_int (BMOIter *iter) |
| bool | BMO_iter_map_value_bool (BMOIter *iter) |
| int | BMO_opcode_from_opname (const char *opname) |
BMesh Operator API | |
| |
| void | BMO_op_init (BMesh *bm, BMOperator *op, int flag, const char *opname) |
| BMESH OPSTACK INIT OP. | |
| void | BMO_op_exec (BMesh *bm, BMOperator *op) |
| BMESH OPSTACK EXEC OP. | |
| void | BMO_op_finish (BMesh *bm, BMOperator *op) |
| BMESH OPSTACK FINISH OP. | |
| int | BMO_mesh_enabled_flag_count (BMesh *bm, char htype, short oflag) |
| int | BMO_mesh_disabled_flag_count (BMesh *bm, char htype, short oflag) |
| void | BMO_push (BMesh *bm, BMOperator *op) |
| BMESH OPSTACK PUSH. | |
| void | BMO_pop (BMesh *bm) |
| BMESH OPSTACK POP. | |
Formatted Operator Initialization/Execution | |
Format Strings for BMOperator Initialization. This system is used to execute or initialize an operator, using a formatted-string system. The basic format for the format string is: Example: "delete context=%i geom=%hv",
bool BMO_op_callf(BMesh *bm, int flag, const char *fmt,...) Definition bmesh_operators.cc:1876 Primitive Types
Pass an existing slot which is copied to either an input or output slot. Taking the operator and slot-name pair of args (BMOperator *, const char *).
| |
| bool | BMO_op_callf (BMesh *bm, int flag, const char *fmt,...) |
| bool | BMO_op_initf (BMesh *bm, BMOperator *op, int flag, const char *fmt,...) |
| bool | BMO_op_vinitf (BMesh *bm, BMOperator *op, int flag, const char *fmt, va_list vlist) |
BMesh Operator Slot Get/Set | |
| void | BMO_slot_float_set (BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name, float f) |
| float | BMO_slot_float_get (BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name) |
| void | BMO_slot_int_set (BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name, int i) |
| int | BMO_slot_int_get (BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name) |
| void | BMO_slot_bool_set (BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name, bool i) |
| bool | BMO_slot_bool_get (BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name) |
| void * | BMO_slot_as_arrayN (BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name, int *len) |
| void | BMO_slot_ptr_set (BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name, void *p) |
| void * | BMO_slot_ptr_get (BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name) |
| void | BMO_slot_vec_set (BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name, const float vec[3]) |
| void | BMO_slot_vec_get (BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name, float r_vec[3]) |
| void | BMO_slot_mat_set (BMOperator *op, BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name, const float *mat, int size) |
| void | BMO_slot_mat4_get (BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name, float r_mat[4][4]) |
| void | BMO_slot_mat3_get (BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name, float r_mat[3][3]) |
Variables | |
| const int | BMO_OPSLOT_TYPEINFO [BMO_OP_SLOT_TOTAL_TYPES] |
BMesh Operator Slot Access | |
| #define | BMO_slot_copy(op_src, slots_src, slot_name_src, op_dst, slots_dst, slot_name_dst) |
| bool | BMO_slot_exists (BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *identifier) |
| BMESH OPSTACK HAS SLOT. | |
| BMOpSlot * | BMO_slot_get (BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *identifier) |
| BMESH OPSTACK GET SLOT. | |
| void | _bmo_slot_copy (BMOpSlot slot_args_src[BMO_OP_MAX_SLOTS], const char *slot_name_src, BMOpSlot slot_args_dst[BMO_OP_MAX_SLOTS], const char *slot_name_dst, struct MemArena *arena_dst) |
| BMESH OPSTACK COPY SLOT. | |
| #define _BMO_CAST_E | ( | e | ) | (BM_CHECK_TYPE_EDGE_NONCONST(e), (BMEdge_OFlag *)e) |
Definition at line 135 of file bmesh_operator_api.hh.
| #define _BMO_CAST_E_CONST | ( | e | ) | (BM_CHECK_TYPE_EDGE(e), (const BMEdge_OFlag *)e) |
Definition at line 132 of file bmesh_operator_api.hh.
| #define _BMO_CAST_F | ( | e | ) | (BM_CHECK_TYPE_FACE_NONCONST(e), (BMFace_OFlag *)e) |
Definition at line 136 of file bmesh_operator_api.hh.
| #define _BMO_CAST_F_CONST | ( | e | ) | (BM_CHECK_TYPE_FACE(e), (const BMFace_OFlag *)e) |
Definition at line 133 of file bmesh_operator_api.hh.
| #define _BMO_CAST_V | ( | e | ) | (BM_CHECK_TYPE_VERT_NONCONST(e), (BMVert_OFlag *)e) |
Definition at line 134 of file bmesh_operator_api.hh.
| #define _BMO_CAST_V_CONST | ( | e | ) | (BM_CHECK_TYPE_VERT(e), (const BMVert_OFlag *)e) |
Definition at line 131 of file bmesh_operator_api.hh.
| #define BMO_ASSERT_SLOT_IN_OP | ( | slot, | |
| op ) |
Definition at line 279 of file bmesh_operator_api.hh.
Referenced by BMO_slot_buffer_from_array(), BMO_slot_buffer_from_single(), and BMO_slot_map_insert().
| #define BMO_edge_flag_disable | ( | bm, | |
| e, | |||
| oflag ) _bmo_elem_flag_disable(bm, _BMO_CAST_E(e)->oflags, oflag) |
Definition at line 155 of file bmesh_operator_api.hh.
Referenced by bm_edgering_pair_subdiv(), BMO_mesh_delete_oflag_context(), BMO_mesh_flag_disable_all(), bridge_loop_pair(), and disable_flag_out_edge().
| #define BMO_edge_flag_enable | ( | bm, | |
| e, | |||
| oflag ) _bmo_elem_flag_enable(bm, _BMO_CAST_E(e)->oflags, oflag) |
Definition at line 154 of file bmesh_operator_api.hh.
Referenced by bm_edgering_pair_subdiv(), bm_face_bisect_verts(), bm_face_connect_verts(), bm_face_edges_tag_out(), bm_face_split_by_angle(), bm_face_split_by_concave(), BM_mesh_beautify_fill(), BM_mesh_bisect_plane(), bm_rotate_edges_shared(), bm_rotate_edges_simple(), bm_subdivide_multicut(), bmo_connect_verts_exec(), bmo_contextual_create_exec(), bmo_create_icosphere_exec(), bmo_create_uvsphere_exec(), bmo_dissolve_degenerate_exec(), bmo_dissolve_edges_exec(), bmo_dissolve_verts_exec(), bmo_edge_copy(), bmo_edgeloop_fill_exec(), bmo_edgenet_prepare_exec(), bmo_extrude_edge_only_exec(), bmo_extrude_face_region_exec(), bmo_extrude_vert_indiv_exec(), bmo_join_triangles_exec(), bmo_mesh_copy(), BMO_mesh_delete_oflag_context(), bmo_offset_edgeloops_exec(), bmo_region_extend_contract(), bmo_region_extend_expand(), bmo_split_exec(), bmo_subdivide_edgering_exec(), bmo_subdivide_edges_exec(), bmo_triangle_fill_exec(), bmo_weld_verts_exec(), calc_solidify_normals(), flag_out_edge(), quad_4edge_subdivide(), and tri_3edge_subdivide().
| #define BMO_edge_flag_set | ( | bm, | |
| e, | |||
| oflag, | |||
| val ) _bmo_elem_flag_set(bm, _BMO_CAST_E(e)->oflags, oflag, val) |
Definition at line 157 of file bmesh_operator_api.hh.
Referenced by bmo_face_flag_set_flush(), and select_linked_delimit_begin().
| #define BMO_edge_flag_test | ( | bm, | |
| e, | |||
| oflag ) _bmo_elem_flag_test(bm, _BMO_CAST_E_CONST(e)->oflags, oflag) |
Definition at line 150 of file bmesh_operator_api.hh.
Referenced by bm_edge_test_cb(), bm_edgering_pair_calc(), bm_edgering_pair_order(), bm_edgering_pair_subdiv(), bm_face_connect_verts(), BM_mesh_bevel(), bm_vert_calc_surface_tangent(), bm_vert_is_tag_edge_connect(), bmo_collapse_exec(), bmo_collapsecon_do_layer(), bmo_dissolve_degenerate_exec(), bmo_dissolve_edges_exec(), bmo_dissolve_verts_exec(), bmo_edgeloop_fill_exec(), bmo_edgenet_prepare_exec(), bmo_extrude_edge_only_exec(), bmo_extrude_face_region_exec(), bmo_join_triangles_exec(), bmo_mesh_copy(), BMO_mesh_delete_oflag_context(), bmo_region_extend_contract(), bmo_region_extend_expand(), bmo_remove_tagged_edges(), bmo_split_exec(), bmo_subdivide_edgering_exec(), bmo_subdivide_edges_exec(), bmo_triangle_fill_exec(), bmo_weld_verts_exec(), bmw_mask_check_edge(), calc_solidify_normals(), check_hole_in_region(), edbm_select_linked_exec(), edge_next(), and subdivide_edge_num().
| #define BMO_edge_flag_test_bool | ( | bm, | |
| e, | |||
| oflag ) _bmo_elem_flag_test_bool(bm, _BMO_CAST_E_CONST(e)->oflags, oflag) |
Definition at line 152 of file bmesh_operator_api.hh.
Referenced by bm_edge_rim_test_cb(), bm_edge_test_cb(), BMO_iter_elem_count_flag(), bmo_mesh_flag_count(), and bmo_slot_buffer_from_flag().
| #define BMO_edge_flag_toggle | ( | bm, | |
| e, | |||
| oflag ) _bmo_elem_flag_toggle(bm, _BMO_CAST_E(e)->oflags, oflag) |
Definition at line 159 of file bmesh_operator_api.hh.
Definition at line 74 of file bmesh_operator_api.hh.
Referenced by BMO_slot_buffer_flag_disable().
Definition at line 71 of file bmesh_operator_api.hh.
Referenced by bmo_extrude_face_region_exec(), BMO_slot_buffer_flag_enable(), BMO_slot_map_to_flag(), and walker_deselect_nth().
Definition at line 77 of file bmesh_operator_api.hh.
| #define BMO_elem_flag_test | ( | bm, | |
| ele, | |||
| oflag ) _bmo_elem_flag_test(bm, BMO_elem_flag_from_header(&(ele)->head), oflag) |
Definition at line 67 of file bmesh_operator_api.hh.
Referenced by bmo_extrude_face_region_exec().
| #define BMO_elem_flag_test_bool | ( | bm, | |
| ele, | |||
| oflag ) _bmo_elem_flag_test_bool(bm, BMO_elem_flag_from_header(&(ele)->head), oflag) |
Definition at line 69 of file bmesh_operator_api.hh.
Definition at line 82 of file bmesh_operator_api.hh.
| #define BMO_face_flag_disable | ( | bm, | |
| e, | |||
| oflag ) _bmo_elem_flag_disable(bm, _BMO_CAST_F(e)->oflags, oflag) |
Definition at line 166 of file bmesh_operator_api.hh.
Referenced by bm_edgering_pair_subdiv(), bm_faces_share_tag_clear(), bmo_dissolve_faces_exec(), BMO_mesh_flag_disable_all(), bmo_planar_faces_exec(), bmo_recalc_face_normals_array(), and bmo_weld_verts_exec().
| #define BMO_face_flag_enable | ( | bm, | |
| e, | |||
| oflag ) _bmo_elem_flag_enable(bm, _BMO_CAST_F(e)->oflags, oflag) |
Definition at line 165 of file bmesh_operator_api.hh.
Referenced by bm_edgering_pair_subdiv(), bm_face_bisect_verts(), bm_face_slice(), bm_face_split_by_angle(), bm_face_split_by_concave(), bm_faces_share_tag_flush(), bm_grid_fill_array(), BM_mesh_beautify_fill(), BM_mesh_decimate_dissolve_ex(), bmo_beautify_fill_exec(), bmo_connect_verts_exec(), bmo_contextual_create_exec(), bmo_create_circle_exec(), bmo_create_cone_exec(), bmo_create_cube_exec(), bmo_create_grid_exec(), bmo_create_uvsphere_exec(), bmo_dissolve_faces_exec(), bmo_edgeloop_fill_exec(), bmo_extrude_discrete_faces_exec(), bmo_extrude_edge_only_exec(), bmo_extrude_face_region_exec(), bmo_face_copy(), bmo_face_inset_individual(), bmo_inset_region_exec(), bmo_join_triangles_exec(), bmo_mesh_copy(), bmo_planar_faces_exec(), bmo_poke_exec(), bmo_recalc_face_normals_array(), bmo_region_extend_contract(), bmo_region_extend_expand(), bmo_rotate_edges_exec(), bmo_subdivide_edgering_exec(), bmo_subdivide_edges_exec(), bmo_triangle_fill_exec(), bmo_weld_verts_exec(), bridge_loop_pair(), quad_4edge_subdivide(), and tri_3edge_subdivide().
| #define BMO_face_flag_set | ( | bm, | |
| e, | |||
| oflag, | |||
| val ) _bmo_elem_flag_set(bm, _BMO_CAST_F(e)->oflags, oflag, val) |
Definition at line 168 of file bmesh_operator_api.hh.
Referenced by bmo_face_flag_set_flush(), and bmo_recalc_face_normals_array().
| #define BMO_face_flag_test | ( | bm, | |
| e, | |||
| oflag ) _bmo_elem_flag_test(bm, _BMO_CAST_F_CONST(e)->oflags, oflag) |
Definition at line 161 of file bmesh_operator_api.hh.
Referenced by bm_edgering_pair_subdiv(), bm_faces_share_tag_flush(), BM_mesh_calc_uvs_circle(), BM_mesh_calc_uvs_cone(), BM_mesh_calc_uvs_cube(), BM_mesh_calc_uvs_grid(), BM_mesh_calc_uvs_sphere(), bm_vert_calc_surface_tangent(), bmo_beautify_fill_exec(), bmo_connect_verts_exec(), bmo_dissolve_faces_exec(), bmo_edge_copy(), bmo_extrude_face_region_exec(), bmo_join_triangles_exec(), bmo_mesh_copy(), BMO_mesh_delete_oflag_context(), bmo_planar_faces_exec(), bmo_recalc_face_normals_array(), bmo_region_extend_contract(), bmo_region_extend_expand(), bmo_remove_tagged_faces(), bmo_rotate_edges_exec(), bmo_split_exec(), bmo_subdivide_edgering_exec(), bmo_subdivide_edges_exec(), bmw_IslandboundWalker_step(), bmw_mask_check_face(), calc_solidify_normals(), check_hole_in_region(), recalc_face_normals_find_index(), and solidify_add_thickness().
| #define BMO_face_flag_test_bool | ( | bm, | |
| e, | |||
| oflag ) _bmo_elem_flag_test_bool(bm, _BMO_CAST_F_CONST(e)->oflags, oflag) |
Definition at line 163 of file bmesh_operator_api.hh.
Referenced by BMO_iter_elem_count_flag(), bmo_mesh_flag_count(), bmo_recalc_face_normals_array(), bmo_recalc_face_normals_exec(), and bmo_slot_buffer_from_flag().
| #define BMO_face_flag_toggle | ( | bm, | |
| e, | |||
| oflag ) _bmo_elem_flag_toggle(bm, _BMO_CAST_F(e)->oflags, oflag) |
Definition at line 170 of file bmesh_operator_api.hh.
| #define BMO_FLAG_DEFAULTS BMO_FLAG_RESPECT_HIDE |
Definition at line 312 of file bmesh_operator_api.hh.
Referenced by BKE_mesh_mirror_apply_mirror_on_axis(), BKE_mesh_remesh_voxel_fix_poles(), BM_mesh_esubdivide(), bm_vert_connect_pair(), BPy_BMO_call(), build_hull(), collapse_face_corners(), blender::nodes::node_geo_mesh_primitive_ico_sphere_cc::create_ico_sphere_mesh(), EDBM_automerge(), EDBM_automerge_and_split(), edbm_bridge_edge_loops_for_single_editmesh(), edbm_extrude_ex(), edbm_extrude_repeat_exec(), EDBM_op_call_and_selectf(), EDBM_op_call_silentf(), EDBM_op_callf(), EDBM_op_init(), EDBM_select_less(), EDBM_select_more(), mesh_separate_tagged(), skin_fix_hole_no_good_verts(), slice_paint_mask(), blender::ed::sculpt_paint::symmetrize_exec(), unsubdivide_build_base_mesh_from_tags(), and blender::ed::sculpt_paint::trim::update_normals().
| #define BMO_ITER | ( | ele, | |
| iter, | |||
| slot_args, | |||
| slot_name, | |||
| restrict_flag ) |
Definition at line 818 of file bmesh_operator_api.hh.
Referenced by bm_rotate_edges_simple(), bmo_average_vert_facedata_exec(), bmo_beautify_fill_exec(), bmo_bevel_exec(), bmo_bisect_edges_exec(), bmo_bisect_plane_exec(), bmo_connect_verts_concave_exec(), bmo_connect_verts_exec(), bmo_connect_verts_nonplanar_exec(), bmo_contextual_create_exec(), bmo_dissolve_edges_exec(), bmo_dissolve_faces_exec(), bmo_dissolve_verts_exec(), bmo_edgeloop_fill_exec(), bmo_edgenet_fill_exec(), bmo_edgenet_prepare_exec(), bmo_extrude_discrete_faces_exec(), bmo_extrude_edge_only_exec(), bmo_extrude_face_region_exec(), bmo_flip_quad_tessellation_exec(), bmo_holes_fill_exec(), bmo_inset_individual_exec(), bmo_inset_region_exec(), bmo_join_triangles_exec(), bmo_mirror_exec(), bmo_offset_edgeloops_exec(), bmo_pointmerge_exec(), bmo_pointmerge_facedata_exec(), bmo_poke_exec(), bmo_region_extend_contract(), bmo_region_extend_expand(), bmo_reverse_colors_exec(), bmo_reverse_faces_exec(), bmo_reverse_uvs_exec(), bmo_rotate_colors_exec(), bmo_rotate_edges_exec(), bmo_rotate_uvs_exec(), bmo_smooth_laplacian_vert_exec(), bmo_smooth_vert_exec(), bmo_subdivide_edgering_exec(), bmo_symmetrize_exec(), bmo_transform_exec(), bmo_triangle_fill_exec(), bridge_loop_pair(), build_hull(), edbm_dupli_extrude_cursor_invoke(), edbm_extrude_discrete_faces(), edbm_extrude_ex(), edbm_quads_convert_to_tris_exec(), skin_fix_hole_no_good_verts(), validate_solution(), and volume_preservation().
| #define BMO_ITER_INDEX | ( | ele, | |
| iter, | |||
| slot_args, | |||
| slot_name, | |||
| restrict_flag, | |||
| i_ ) |
Definition at line 823 of file bmesh_operator_api.hh.
Referenced by bmo_planar_faces_exec().
| #define BMO_OP_MAX_SLOTS 21 |
Definition at line 284 of file bmesh_operator_api.hh.
| #define BMO_OP_SLOT_TOTAL_TYPES 11 |
Definition at line 200 of file bmesh_operator_api.hh.
| #define BMO_SLOT_AS_BOOL | ( | slot | ) | ((slot)->data.i) |
Definition at line 271 of file bmesh_operator_api.hh.
Referenced by bpy_slot_from_py(), and bpy_slot_to_py().
| #define BMO_SLOT_AS_BUFFER | ( | slot | ) | ((slot)->data.buf) |
Definition at line 276 of file bmesh_operator_api.hh.
Referenced by bm_rotate_edges_shared(), bmo_dissolve_limit_exec(), and bpy_slot_to_py().
| #define BMO_SLOT_AS_FLOAT | ( | slot | ) | ((slot)->data.f) |
Definition at line 273 of file bmesh_operator_api.hh.
Referenced by bpy_slot_from_py(), and bpy_slot_to_py().
| #define BMO_SLOT_AS_GHASH | ( | slot | ) | ((slot)->data.ghash) |
Definition at line 277 of file bmesh_operator_api.hh.
Referenced by bpy_slot_to_py(), and EDBM_automerge_and_split().
| #define BMO_SLOT_AS_INT | ( | slot | ) | ((slot)->data.i) |
Definition at line 272 of file bmesh_operator_api.hh.
Referenced by bpy_slot_from_py(), and bpy_slot_to_py().
Definition at line 275 of file bmesh_operator_api.hh.
Referenced by BMO_slot_mat3_get(), BMO_slot_mat4_get(), and bpy_slot_to_py().
| #define BMO_SLOT_AS_VECTOR | ( | slot | ) | ((slot)->data.vec) |
Definition at line 274 of file bmesh_operator_api.hh.
Referenced by bpy_slot_from_py(), and bpy_slot_to_py().
| #define BMO_slot_buffer_append | ( | op_src, | |
| slots_src, | |||
| slot_name_src, | |||
| op_dst, | |||
| slots_dst, | |||
| slot_name_dst ) |
Copies the values from another slot to the end of the output slot.
Definition at line 602 of file bmesh_operator_api.hh.
| #define BMO_slot_copy | ( | op_src, | |
| slots_src, | |||
| slot_name_src, | |||
| op_dst, | |||
| slots_dst, | |||
| slot_name_dst ) |
Definition at line 490 of file bmesh_operator_api.hh.
Referenced by bmo_connect_vert_pair_exec(), bmo_contextual_create_exec(), bmo_duplicate_exec(), bmo_extrude_face_region_exec(), BMO_op_vinitf(), bmo_solidify_face_region_exec(), bmo_spin_exec(), bmo_split_exec(), and EDBM_automerge().
| #define BMO_vert_flag_disable | ( | bm, | |
| e, | |||
| oflag ) _bmo_elem_flag_disable(bm, _BMO_CAST_V(e)->oflags, oflag) |
Definition at line 144 of file bmesh_operator_api.hh.
Referenced by bmo_edgeloop_fill_exec(), BMO_mesh_delete_oflag_context(), BMO_mesh_flag_disable_all(), and remdoubles_createface().
| #define BMO_vert_flag_enable | ( | bm, | |
| e, | |||
| oflag ) _bmo_elem_flag_enable(bm, _BMO_CAST_V(e)->oflags, oflag) |
Definition at line 143 of file bmesh_operator_api.hh.
Referenced by BM_mesh_bisect_plane(), BM_mesh_decimate_unsubdivide_ex(), bm_subdivide_edge_addvert(), bm_subdivide_multicut(), bmo_connect_vert_pair_exec(), bmo_connect_verts_exec(), bmo_contextual_create_exec(), bmo_create_circle_exec(), bmo_create_cone_exec(), bmo_create_cube_exec(), bmo_create_grid_exec(), bmo_create_icosphere_exec(), bmo_create_monkey_exec(), bmo_create_uvsphere_exec(), bmo_create_vert_exec(), bmo_dissolve_edges_exec(), bmo_dissolve_verts_exec(), bmo_edgeloop_fill_exec(), bmo_extrude_edge_only_exec(), bmo_extrude_face_region_exec(), bmo_extrude_vert_indiv_exec(), bmo_mesh_copy(), BMO_mesh_delete_oflag_context(), bmo_offset_edgeloops_exec(), bmo_planar_faces_exec(), bmo_poke_exec(), bmo_region_extend_contract(), bmo_region_extend_expand(), bmo_split_exec(), bmo_vert_copy(), bmo_weld_verts_exec(), calc_solidify_normals(), flag_out_vert(), and remdoubles_createface().
| #define BMO_vert_flag_set | ( | bm, | |
| e, | |||
| oflag, | |||
| val ) _bmo_elem_flag_set(bm, _BMO_CAST_V(e)->oflags, oflag, val) |
Definition at line 146 of file bmesh_operator_api.hh.
Referenced by bmo_dissolve_edges_exec(), bmo_dissolve_faces_exec(), bmo_edgeloop_vert_tag(), and bmo_face_flag_set_flush().
| #define BMO_vert_flag_test | ( | bm, | |
| e, | |||
| oflag ) _bmo_elem_flag_test(bm, _BMO_CAST_V_CONST(e)->oflags, oflag) |
Definition at line 139 of file bmesh_operator_api.hh.
Referenced by bm_face_connect_verts(), bm_face_split(), BM_mesh_bevel(), BM_mesh_decimate_unsubdivide_ex(), bmesh_find_doubles_common(), bmo_connect_verts_exec(), bmo_contextual_create_exec(), bmo_create_icosphere_exec(), bmo_create_uvsphere_exec(), bmo_dissolve_edges_exec(), bmo_dissolve_faces_exec(), bmo_dissolve_verts_exec(), bmo_edgeloop_fill_exec(), bmo_face_is_vert_tag_all(), bmo_mesh_copy(), bmo_offset_edgeloops_exec(), bmo_planar_faces_exec(), bmo_remove_tagged_verts(), bmo_remove_tagged_verts_loose(), bmo_subdivide_edges_exec(), bmo_weld_verts_exec(), bmw_mask_check_vert(), calc_solidify_normals(), and remdoubles_createface().
| #define BMO_vert_flag_test_bool | ( | bm, | |
| e, | |||
| oflag ) _bmo_elem_flag_test_bool(bm, _BMO_CAST_V_CONST(e)->oflags, oflag) |
Definition at line 141 of file bmesh_operator_api.hh.
Referenced by BMO_iter_elem_count_flag(), bmo_mesh_flag_count(), bmo_slot_buffer_from_flag(), and bmo_weld_verts_exec().
| #define BMO_vert_flag_toggle | ( | bm, | |
| e, | |||
| oflag ) _bmo_elem_flag_toggle(bm, _BMO_CAST_V(e)->oflags, oflag) |
Definition at line 148 of file bmesh_operator_api.hh.
| #define MAX_SLOTNAME 32 |
Definition at line 314 of file bmesh_operator_api.hh.
Referenced by bmo_name_to_slotcode(), and BPy_BMO_call().
| typedef struct BMO_FlagSet BMO_FlagSet |
| typedef struct BMOIter BMOIter |
This part of the API is used to iterate over element buffer or mapping slots.
for example, iterating over the faces in a slot is:
| typedef struct BMOpDefine BMOpDefine |
| typedef struct BMOperator BMOperator |
| typedef struct BMOpSlot BMOpSlot |
| typedef struct BMOSlotType BMOSlotType |
| typedef enum eBMOpSlotSubType_Elem eBMOpSlotSubType_Elem |
| typedef enum eBMOpSlotSubType_Int eBMOpSlotSubType_Int |
| typedef enum eBMOpSlotSubType_Map eBMOpSlotSubType_Map |
| typedef enum eBMOpSlotSubType_Ptr eBMOpSlotSubType_Ptr |
| typedef union eBMOpSlotSubType_Union eBMOpSlotSubType_Union |
| typedef enum eBMOpSlotType eBMOpSlotType |
| anonymous enum |
| Enumerator | |
|---|---|
| BMO_FLAG_RESPECT_HIDE | |
Definition at line 308 of file bmesh_operator_api.hh.
| anonymous enum |
Delete "context" slot values, used for operator too.
| Enumerator | |
|---|---|
| DEL_VERTS | |
| DEL_EDGES | |
| DEL_ONLYFACES | |
| DEL_EDGESFACES | |
| DEL_FACES | |
| DEL_FACES_KEEP_BOUNDARY | |
| DEL_ONLYTAGGED | |
Definition at line 509 of file bmesh_operator_api.hh.
| enum BMO_Delimit |
| Enumerator | |
|---|---|
| BMO_DELIM_NORMAL | |
| BMO_DELIM_MATERIAL | |
| BMO_DELIM_SEAM | |
| BMO_DELIM_SHARP | |
| BMO_DELIM_UV | |
Definition at line 531 of file bmesh_operator_api.hh.
| enum BMO_SymmDirection |
| Enumerator | |
|---|---|
| BMO_SYMMETRIZE_NEGATIVE_X | |
| BMO_SYMMETRIZE_NEGATIVE_Y | |
| BMO_SYMMETRIZE_NEGATIVE_Z | |
| BMO_SYMMETRIZE_POSITIVE_X | |
| BMO_SYMMETRIZE_POSITIVE_Y | |
| BMO_SYMMETRIZE_POSITIVE_Z | |
Definition at line 521 of file bmesh_operator_api.hh.
| enum BMOpTypeFlag |
Definition at line 287 of file bmesh_operator_api.hh.
| Enumerator | |
|---|---|
| BMO_OP_SLOT_SUBTYPE_ELEM_VERT | |
| BMO_OP_SLOT_SUBTYPE_ELEM_EDGE | |
| BMO_OP_SLOT_SUBTYPE_ELEM_FACE | |
| BMO_OP_SLOT_SUBTYPE_ELEM_IS_SINGLE | |
Definition at line 203 of file bmesh_operator_api.hh.
| enum eBMOpSlotSubType_Int |
| Enumerator | |
|---|---|
| BMO_OP_SLOT_SUBTYPE_INT_ENUM | |
| BMO_OP_SLOT_SUBTYPE_INT_FLAG | |
Definition at line 227 of file bmesh_operator_api.hh.
| enum eBMOpSlotSubType_Map |
| Enumerator | |
|---|---|
| BMO_OP_SLOT_SUBTYPE_MAP_EMPTY | |
| BMO_OP_SLOT_SUBTYPE_MAP_ELEM | |
| BMO_OP_SLOT_SUBTYPE_MAP_FLT | |
| BMO_OP_SLOT_SUBTYPE_MAP_INT | |
| BMO_OP_SLOT_SUBTYPE_MAP_BOOL | |
| BMO_OP_SLOT_SUBTYPE_MAP_INTERNAL | |
Definition at line 212 of file bmesh_operator_api.hh.
| enum eBMOpSlotSubType_Ptr |
| Enumerator | |
|---|---|
| BMO_OP_SLOT_SUBTYPE_PTR_BMESH | |
| BMO_OP_SLOT_SUBTYPE_PTR_SCENE | |
| BMO_OP_SLOT_SUBTYPE_PTR_OBJECT | |
| BMO_OP_SLOT_SUBTYPE_PTR_MESH | |
| BMO_OP_SLOT_SUBTYPE_PTR_STRUCT | |
Definition at line 220 of file bmesh_operator_api.hh.
| enum eBMOpSlotType |
| Enumerator | |
|---|---|
| BMO_OP_SLOT_BOOL | |
| BMO_OP_SLOT_INT | |
| BMO_OP_SLOT_FLT | |
| BMO_OP_SLOT_PTR | |
| BMO_OP_SLOT_MAT | |
| BMO_OP_SLOT_VEC | |
| BMO_OP_SLOT_ELEMENT_BUF | |
| BMO_OP_SLOT_MAPPING | |
Definition at line 181 of file bmesh_operator_api.hh.
| BLI_INLINE void _bmo_elem_flag_disable | ( | BMesh * | bm, |
| BMFlagLayer * | oflags, | ||
| short | oflag ) |
Definition at line 39 of file bmesh_operator_api_inline.hh.
References BLI_assert, bm, BMFlagLayer::f, oflag, oflags, BMesh::toolflag_index, and BMesh::use_toolflags.
| BLI_INLINE void _bmo_elem_flag_enable | ( | BMesh * | bm, |
| BMFlagLayer * | oflags, | ||
| short | oflag ) |
Definition at line 32 of file bmesh_operator_api_inline.hh.
References BLI_assert, bm, BMFlagLayer::f, oflag, oflags, BMesh::toolflag_index, and BMesh::use_toolflags.
| BLI_INLINE void _bmo_elem_flag_set | ( | BMesh * | bm, |
| BMFlagLayer * | oflags, | ||
| short | oflag, | ||
| int | val ) |
Definition at line 46 of file bmesh_operator_api_inline.hh.
References BLI_assert, bm, BMFlagLayer::f, oflag, oflags, BMesh::toolflag_index, and BMesh::use_toolflags.
| BLI_INLINE short _bmo_elem_flag_test | ( | BMesh * | bm, |
| const BMFlagLayer * | oflags, | ||
| short | oflag ) |
| BLI_INLINE bool _bmo_elem_flag_test_bool | ( | BMesh * | bm, |
| const BMFlagLayer * | oflags, | ||
| short | oflag ) |
| BLI_INLINE void _bmo_elem_flag_toggle | ( | BMesh * | bm, |
| BMFlagLayer * | oflags, | ||
| short | oflag ) |
Definition at line 58 of file bmesh_operator_api_inline.hh.
References BLI_assert, bm, BMFlagLayer::f, oflag, oflags, BMesh::toolflag_index, and BMesh::use_toolflags.
| void _bmo_slot_buffer_append | ( | BMOpSlot | slot_args_dst[BMO_OP_MAX_SLOTS], |
| const char * | slot_name_dst, | ||
| BMOpSlot | slot_args_src[BMO_OP_MAX_SLOTS], | ||
| const char * | slot_name_src, | ||
| struct MemArena * | arena_dst ) |
Copies the values from another slot to the end of the output slot.
Definition at line 928 of file bmesh_operators.cc.
References _bmo_slot_copy(), BLI_assert, BLI_memarena_alloc(), BMO_OP_SLOT_ELEMENT_BUF, BMO_OPSLOT_TYPEINFO, BMO_slot_get(), BMOpSlot::buf, BMOpSlot::data, BMOpSlot::len, and BMOpSlot::slot_type.
| void _bmo_slot_copy | ( | BMOpSlot | slot_args_src[BMO_OP_MAX_SLOTS], |
| const char * | slot_name_src, | ||
| BMOpSlot | slot_args_dst[BMO_OP_MAX_SLOTS], | ||
| const char * | slot_name_dst, | ||
| struct MemArena * | arena_dst ) |
BMESH OPSTACK COPY SLOT.
define used. Copies data from one slot to another.
Definition at line 218 of file bmesh_operators.cc.
References BLI_assert, BLI_ghash_insert(), BLI_ghashIterator_getKey(), BLI_ghashIterator_getValue(), BLI_memarena_alloc(), BM_ALL_NOLOOP, BMO_OP_SLOT_ELEMENT_BUF, BMO_OP_SLOT_MAPPING, BMO_OPSLOT_TYPEINFO, BMO_slot_get(), BMOpSlot::buf, BMOpSlot::data, eBMOpSlotSubType_Union::elem, BMOpSlot::ghash, GHASH_ITER, BMOpSlot::len, BMOpSlot::slot_subtype, and BMOpSlot::slot_type.
Referenced by _bmo_slot_buffer_append().
| BLI_INLINE BMFlagLayer * BMO_elem_flag_from_header | ( | BMHeader * | ele_head | ) |
Definition at line 55 of file bmesh_operator_api.hh.
References BM_EDGE, BM_VERT, and BMHeader::htype.
| bool BMO_iter_map_value_bool | ( | BMOIter * | iter | ) |
Definition at line 1448 of file bmesh_operators.cc.
References BLI_assert, BMO_OP_SLOT_SUBTYPE_MAP_BOOL, eBMOpSlotSubType_Union::map, BMOIter::slot, BMOpSlot::slot_subtype, and BMOIter::val.
Definition at line 1436 of file bmesh_operators.cc.
References BLI_assert, BMO_OP_SLOT_SUBTYPE_MAP_FLT, eBMOpSlotSubType_Union::map, BMOIter::slot, BMOpSlot::slot_subtype, and BMOIter::val.
Definition at line 1442 of file bmesh_operators.cc.
References BLI_assert, BMO_OP_SLOT_SUBTYPE_MAP_INT, eBMOpSlotSubType_Union::map, BMOIter::slot, BMOpSlot::slot_subtype, and BMOIter::val.
| void ** BMO_iter_map_value_p | ( | BMOIter * | iter | ) |
Returns a pointer to the key-value when iterating over mappings. remember for pointer maps this will be a pointer to a pointer.
Definition at line 1423 of file bmesh_operators.cc.
References BMOIter::val.
| void * BMO_iter_map_value_ptr | ( | BMOIter * | iter | ) |
Definition at line 1428 of file bmesh_operators.cc.
References BLI_assert, BMO_OP_SLOT_SUBTYPE_MAP_ELEM, BMO_OP_SLOT_SUBTYPE_MAP_INTERNAL, ELEM, eBMOpSlotSubType_Union::map, BMOIter::slot, BMOpSlot::slot_subtype, and BMOIter::val.
Referenced by bmo_extrude_edge_only_exec(), and bmo_extrude_face_region_exec().
| void * BMO_iter_new | ( | BMOIter * | iter, |
| BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], | ||
| const char * | slot_name, | ||
| char | restrictmask ) |
New Iterator.
| restrictmask | restricts the iteration to certain element types (e.g. combination of BM_VERT, BM_EDGE, BM_FACE), if iterating over an element buffer (not a mapping). |
Definition at line 1350 of file bmesh_operators.cc.
References BLI_assert, BLI_ghashIterator_init(), BMO_iter_step(), BMO_OP_SLOT_ELEMENT_BUF, BMO_OP_SLOT_MAPPING, BMO_slot_get(), BMOIter::cur, BMOpSlot::data, eBMOpSlotSubType_Union::elem, BMOpSlot::ghash, BMOIter::giter, BMOIter::restrictmask, BMOIter::slot, BMOpSlot::slot_subtype, and BMOpSlot::slot_type.
Referenced by bmesh_find_doubles_common(), bmo_extrude_edge_only_exec(), bmo_extrude_face_region_exec(), bmo_extrude_vert_indiv_exec(), BMO_iter_as_array(), and BMO_iter_as_arrayN().
| void * BMO_iter_step | ( | BMOIter * | iter | ) |
Definition at line 1376 of file bmesh_operators.cc.
References BLI_assert, BLI_ghashIterator_done(), BLI_ghashIterator_getKey(), BLI_ghashIterator_getValue_p(), BLI_ghashIterator_step(), BMO_OP_SLOT_ELEMENT_BUF, BMO_OP_SLOT_MAPPING, BMOpSlot::buf, BMOIter::cur, BMOpSlot::data, eBMOpSlotSubType_Union::elem, BMOIter::giter, BMHeader::htype, BMOpSlot::len, BMOIter::restrictmask, ret, BMOIter::slot, BMOpSlot::slot_subtype, BMOpSlot::slot_type, and BMOIter::val.
Referenced by bmo_extrude_edge_only_exec(), bmo_extrude_face_region_exec(), bmo_extrude_vert_indiv_exec(), BMO_iter_as_array(), BMO_iter_as_arrayN(), and BMO_iter_new().
Count the number of elements with the specified flag disabled. type can be a bit-mask of BM_FACE, BM_EDGE, or BM_FACE.
Definition at line 547 of file bmesh_operators.cc.
References bm, bmo_mesh_flag_count(), and oflag.
Referenced by bmo_slot_buffer_from_flag().
Count the number of elements with the specified flag enabled. type can be a bit-mask of BM_FACE, BM_EDGE, or BM_FACE.
Definition at line 542 of file bmesh_operators.cc.
References bm, bmo_mesh_flag_count(), and oflag.
Referenced by bmo_slot_buffer_from_flag().
| void BMO_mesh_flag_disable_all | ( | BMesh * | bm, |
| BMOperator * | op, | ||
| char | htype, | ||
| short | oflag ) |
Definition at line 552 of file bmesh_operators.cc.
References bm, BM_EDGE, BM_EDGES_OF_MESH, BM_FACE, BM_FACES_OF_MESH, BM_ITER_MESH, BM_VERT, BM_VERTS_OF_MESH, BMO_edge_flag_disable, BMO_face_flag_disable, BMO_vert_flag_disable, and oflag.
| void BMO_mesh_selected_remap | ( | BMesh * | bm, |
| BMOpSlot * | slot_vert_map, | ||
| BMOpSlot * | slot_edge_map, | ||
| BMOpSlot * | slot_face_map, | ||
| bool | check_select ) |
Definition at line 577 of file bmesh_operators.cc.
References BMesh::act_face, BLI_remlink(), bm, BM_EDGE, BM_elem_flag_test, BM_ELEM_SELECT, BM_VERT, BMEditSelection::ele, ListBase::first, BMEditSelection::htype, MEM_freeN(), BMEditSelection::next, BMesh::selected, and UNLIKELY.
Referenced by bmo_mesh_copy().
Executes an operator.
Definition at line 1876 of file bmesh_operators.cc.
References bm, BMO_op_exec(), BMO_op_finish(), BMO_op_vinitf(), flag, and printf.
Referenced by BKE_mesh_mirror_apply_mirror_on_axis(), BKE_mesh_remesh_voxel_fix_poles(), bm_mesh_edge_collapse_flagged(), bmo_collapse_exec(), bmo_create_circle_exec(), bmo_create_cone_exec(), bmo_create_uvsphere_exec(), bmo_dissolve_faces_exec(), bmo_edgenet_fill_exec(), bmo_extrude_discrete_faces_exec(), bmo_holes_fill_exec(), bmo_mirror_exec(), bmo_object_load_bmesh_exec(), bmo_rotate_exec(), bmo_scale_exec(), bmo_spin_exec(), bmo_symmetrize_exec(), bmo_translate_exec(), blender::nodes::node_geo_mesh_primitive_ico_sphere_cc::create_ico_sphere_mesh(), edbm_bridge_edge_loops_for_single_editmesh(), edbm_extrude_repeat_exec(), mesh_separate_tagged(), skin_fix_hole_no_good_verts(), slice_paint_mask(), blender::ed::sculpt_paint::symmetrize_exec(), unsubdivide_build_base_mesh_from_tags(), and blender::ed::sculpt_paint::trim::update_normals().
| void BMO_op_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
BMESH OPSTACK EXEC OP.
Executes a passed in operator.
This handles the allocation and freeing of temporary tool flag layers and starting/stopping the modeling loop. Can be called from other operators exec callbacks as well.
Definition at line 163 of file bmesh_operators.cc.
References bm, BM_mesh_elem_toolflags_ensure(), bmesh_edit_begin(), bmesh_edit_end(), BMO_pop(), BMO_push(), BMOperator::exec, BMesh::toolflag_index, and BMOperator::type_flag.
Referenced by bm_bridge_splice_loops(), BM_mesh_esubdivide(), bm_vert_connect_pair(), bmo_collapse_exec(), bmo_connect_vert_pair_exec(), bmo_contextual_create_exec(), bmo_create_icosphere_exec(), bmo_create_uvsphere_exec(), bmo_edgenet_fill_exec(), bmo_extrude_edge_only_exec(), bmo_extrude_face_region_exec(), bmo_holes_fill_exec(), bmo_mirror_exec(), BMO_op_callf(), bmo_pointmerge_exec(), bmo_remove_doubles_exec(), bmo_solidify_face_region_exec(), bmo_spin_exec(), bmo_split_exec(), bmo_symmetrize_exec(), bmo_triangle_fill_exec(), BPy_BMO_call(), bridge_loop_pair(), build_hull(), collapse_face_corners(), edbm_add_edge_face_exec(), EDBM_automerge(), EDBM_automerge_and_split(), edbm_bevel_calc(), edbm_bridge_edge_loops_for_single_editmesh(), edbm_connect_vert_pair(), edbm_dupli_extrude_cursor_invoke(), edbm_duplicate_exec(), edbm_edge_rotate_selected_exec(), edbm_extrude_discrete_faces(), edbm_extrude_edges_indiv(), edbm_extrude_ex(), edbm_extrude_verts_indiv(), edbm_fill_exec(), edbm_fill_grid_exec(), edbm_inset_calc(), edbm_offset_edgeloop_exec(), EDBM_op_call_and_selectf(), EDBM_op_call_silentf(), EDBM_op_callf(), edbm_poke_face_exec(), edbm_quads_convert_to_tris_exec(), edbm_remove_doubles_exec(), edbm_reverse_colors_exec(), edbm_reverse_uvs_exec(), edbm_rotate_colors_exec(), edbm_rotate_uvs_exec(), edbm_screw_exec(), EDBM_select_less(), EDBM_select_more(), edbm_solidify_exec(), edbm_spin_exec(), edbm_split_exec(), edbm_unsubdivide_exec(), edbm_wireframe_exec(), mesh_bisect_exec(), mesh_symmetrize_exec(), and skin_fix_hole_no_good_verts().
| void BMO_op_finish | ( | BMesh * | bm, |
| BMOperator * | op ) |
BMESH OPSTACK FINISH OP.
Does housekeeping chores related to finishing up an operator.
Definition at line 182 of file bmesh_operators.cc.
References BMOperator::arena, BLI_memarena_free(), bm, BM_ELEM_INDEX_VALIDATE, bmo_op_slots_free(), bmo_opdefines, BMOpDefine::opname, BMOpDefine::slot_types_in, BMOpDefine::slot_types_out, BMOperator::slots_in, BMOperator::slots_out, and BMOperator::type.
Referenced by bm_bridge_splice_loops(), BM_mesh_esubdivide(), bm_vert_connect_pair(), bmo_collapse_exec(), bmo_connect_vert_pair_exec(), bmo_contextual_create_exec(), bmo_create_icosphere_exec(), bmo_create_uvsphere_exec(), bmo_edgenet_fill_exec(), bmo_extrude_edge_only_exec(), bmo_extrude_face_region_exec(), bmo_holes_fill_exec(), bmo_mirror_exec(), BMO_op_callf(), BMO_op_vinitf(), bmo_pointmerge_exec(), bmo_remove_doubles_exec(), bmo_solidify_face_region_exec(), bmo_spin_exec(), bmo_split_exec(), bmo_symmetrize_exec(), bmo_triangle_fill_exec(), BPy_BMO_call(), bridge_loop_pair(), build_hull(), collapse_face_corners(), EDBM_automerge(), EDBM_automerge_and_split(), edbm_bridge_edge_loops_for_single_editmesh(), edbm_extrude_ex(), EDBM_op_finish(), edbm_remove_doubles_exec(), EDBM_select_less(), EDBM_select_more(), mesh_bisect_exec(), and skin_fix_hole_no_good_verts().
| void BMO_op_flag_disable | ( | BMesh * | bm, |
| BMOperator * | op, | ||
| int | op_flag ) |
Definition at line 56 of file bmesh_operators.cc.
References BMOperator::flag.
| void BMO_op_flag_enable | ( | BMesh * | bm, |
| BMOperator * | op, | ||
| int | op_flag ) |
Definition at line 51 of file bmesh_operators.cc.
References BMOperator::flag.
| void BMO_op_init | ( | BMesh * | bm, |
| BMOperator * | op, | ||
| int | flag, | ||
| const char * | opname ) |
BMESH OPSTACK INIT OP.
Initializes an operator structure to a certain type
Definition at line 132 of file bmesh_operators.cc.
References BMOperator::arena, BLI_memarena_new(), BLI_MEMARENA_STD_BUFSIZE, BLI_memarena_use_calloc(), bm, BM_ELEM_INDEX_VALIDATE, bmo_op_slots_init(), BMO_opcode_from_opname(), bmo_opdefines, BMOpDefine::exec, BMOperator::exec, BMOperator::flag, flag, BMOperator::slots_in, BMOperator::slots_out, BMOperator::type, BMOpDefine::type_flag, and BMOperator::type_flag.
Referenced by bm_bridge_splice_loops(), bm_vert_connect_pair(), bmo_collapse_exec(), bmo_mirror_exec(), BMO_op_vinitf(), bmo_pointmerge_exec(), bmo_remove_doubles_exec(), bmo_solidify_face_region_exec(), bmo_split_exec(), bmo_symmetrize_exec(), BPy_BMO_call(), EDBM_automerge(), EDBM_automerge_and_split(), edbm_extrude_ex(), and skin_fix_hole_no_good_verts().
| bool BMO_op_initf | ( | BMesh * | bm, |
| BMOperator * | op, | ||
| int | flag, | ||
| const char * | fmt, | ||
| ... ) |
Initializes, but doesn't execute an operator. this is so you can gain access to the outputs of the operator. note that you have to execute/finish (BMO_op_exec and BMO_op_finish) yourself.
Definition at line 1861 of file bmesh_operators.cc.
References bm, BMO_op_vinitf(), flag, and printf.
Referenced by BM_mesh_esubdivide(), bmo_connect_vert_pair_exec(), bmo_contextual_create_exec(), bmo_create_icosphere_exec(), bmo_create_uvsphere_exec(), bmo_edgenet_fill_exec(), bmo_extrude_edge_only_exec(), bmo_extrude_face_region_exec(), bmo_holes_fill_exec(), bmo_mirror_exec(), bmo_solidify_face_region_exec(), bmo_spin_exec(), bmo_symmetrize_exec(), bmo_triangle_fill_exec(), bridge_loop_pair(), build_hull(), collapse_face_corners(), EDBM_automerge(), edbm_bridge_edge_loops_for_single_editmesh(), EDBM_select_less(), EDBM_select_more(), mesh_bisect_exec(), and skin_fix_hole_no_good_verts().
| bool BMO_op_vinitf | ( | BMesh * | bm, |
| BMOperator * | op, | ||
| int | flag, | ||
| const char * | fmt, | ||
| va_list | vlist ) |
A va_list version, used to implement the above two functions, plus EDBM_op_callf in editmesh_utils.cc.
Definition at line 1601 of file bmesh_operators.cc.
References BLI_assert, BLI_strdup(), bm, BM_EDGE, BM_ELEM_HIDDEN, BM_FACE, BM_VERT, BMO_FLAG_RESPECT_HIDE, bmo_name_to_slotcode_check(), BMO_op_finish(), BMO_op_init(), BMO_opcode_from_opname_check(), BMO_slot_bool_set(), BMO_slot_buffer_from_all(), BMO_slot_buffer_from_array(), BMO_slot_buffer_from_disabled_flag(), BMO_slot_buffer_from_disabled_hflag(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_buffer_from_enabled_hflag(), BMO_slot_buffer_from_single(), BMO_slot_copy, BMO_slot_float_set(), BMO_slot_get(), BMO_slot_int_set(), BMO_slot_mat_set(), BMO_slot_ptr_set(), BMO_slot_vec_set(), error(), BMOperator::flag, flag, GOTO_ERROR, int, MEM_freeN(), NEXT_CHAR, pos, size(), BMOperator::slots_in, BMOperator::slots_out, state, STRNCPY, and UNLIKELY.
Referenced by BMO_op_callf(), BMO_op_initf(), EDBM_op_call_and_selectf(), EDBM_op_call_silentf(), EDBM_op_callf(), and EDBM_op_init().
| int BMO_opcode_from_opname | ( | const char * | opname | ) |
Definition at line 1576 of file bmesh_operators.cc.
References bmo_opdefines, bmo_opdefines_total, and STREQ.
Referenced by BMO_op_init(), BMO_opcode_from_opname_check(), bpy_bmesh_op_doc_get(), and bpy_bmesh_ops_module_getattro().
| void BMO_pop | ( | BMesh * | bm | ) |
BMESH OPSTACK POP.
Pops the operator-stack one level and frees a flag layer if appropriate
BMESH_TODO: investigate NOT freeing flag layers.
Definition at line 76 of file bmesh_operators.cc.
References bm, bmo_flag_layer_free(), and BMesh::toolflag_index.
Referenced by BMO_op_exec(), build_skin(), and walker_deselect_nth().
| void BMO_push | ( | BMesh * | bm, |
| BMOperator * | op ) |
BMESH OPSTACK PUSH.
Pushes the operator-stack down one level and allocates a new flag layer if appropriate.
Definition at line 61 of file bmesh_operators.cc.
References BLI_assert, bm, bmo_flag_layer_alloc(), bmo_flag_layer_clear(), BMesh::toolflag_index, and BMesh::totflags.
Referenced by BMO_op_exec(), build_skin(), and walker_deselect_nth().
| void * BMO_slot_as_arrayN | ( | BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], |
| const char * | slot_name, | ||
| int * | len ) |
Return a copy of the element buffer.
Definition at line 461 of file bmesh_operators.cc.
References BLI_assert, BMO_OP_SLOT_ELEMENT_BUF, BMO_slot_get(), BMOpSlot::buf, BMOpSlot::data, BMOpSlot::len, len, MEM_mallocN, ret, and BMOpSlot::slot_type.
| bool BMO_slot_bool_get | ( | BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], |
| const char * | slot_name ) |
Definition at line 450 of file bmesh_operators.cc.
References BLI_assert, BMO_OP_SLOT_BOOL, BMO_slot_get(), BMOpSlot::data, BMOpSlot::i, and BMOpSlot::slot_type.
Referenced by bmo_beautify_fill_exec(), bmo_bevel_exec(), bmo_bisect_plane_exec(), bmo_bridge_loops_exec(), bmo_collapse_exec(), bmo_connect_verts_exec(), bmo_contextual_create_exec(), bmo_create_circle_exec(), bmo_create_cone_exec(), bmo_create_cube_exec(), bmo_create_grid_exec(), bmo_create_icosphere_exec(), bmo_create_monkey_exec(), bmo_create_uvsphere_exec(), bmo_dissolve_edges_exec(), bmo_dissolve_faces_exec(), bmo_dissolve_limit_exec(), bmo_dissolve_verts_exec(), bmo_edgeloop_fill_exec(), bmo_edgenet_fill_exec(), bmo_extrude_discrete_faces_exec(), bmo_extrude_edge_only_exec(), bmo_extrude_face_region_exec(), bmo_extrude_vert_indiv_exec(), bmo_face_attribute_fill_exec(), bmo_grid_fill_exec(), bmo_inset_individual_exec(), bmo_inset_region_exec(), bmo_join_triangles_exec(), bmo_mesh_copy(), bmo_mesh_to_bmesh_exec(), bmo_mirror_exec(), bmo_offset_edgeloops_exec(), bmo_poke_exec(), bmo_region_extend_exec(), bmo_reverse_faces_exec(), bmo_rotate_colors_exec(), bmo_rotate_edges_exec(), bmo_rotate_uvs_exec(), bmo_smooth_laplacian_vert_exec(), bmo_smooth_vert_exec(), bmo_spin_exec(), bmo_split_edges_exec(), bmo_split_exec(), bmo_subdivide_edges_exec(), bmo_transform_exec(), bmo_triangle_fill_exec(), and bmo_wireframe_exec().
| void BMO_slot_bool_set | ( | BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], |
| const char * | slot_name, | ||
| bool | i ) |
Definition at line 329 of file bmesh_operators.cc.
References BLI_assert, BMO_OP_SLOT_BOOL, BMO_slot_get(), BMOpSlot::data, BMOpSlot::i, and BMOpSlot::slot_type.
Referenced by BMO_op_vinitf(), bmo_solidify_face_region_exec(), and edbm_extrude_ex().
| void * BMO_slot_buffer_alloc | ( | BMOperator * | op, |
| BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], | ||
| const char * | slot_name, | ||
| int | len ) |
Definition at line 713 of file bmesh_operators.cc.
References BMOperator::arena, BLI_memarena_alloc(), BMO_OP_SLOT_ELEMENT_BUF, BMO_OPSLOT_TYPEINFO, BMO_slot_get(), BMOpSlot::buf, BMOpSlot::data, BMOpSlot::len, len, and BMOpSlot::slot_type.
Referenced by bm_vert_connect_pair(), bmo_create_grid_exec(), BMO_slot_buffer_from_all(), bmo_slot_buffer_from_flag(), bmo_slot_buffer_from_hflag(), and bpy_slot_from_py().
| void BMO_slot_buffer_flag_disable | ( | BMesh * | bm, |
| BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], | ||
| const char * | slot_name, | ||
| char | htype, | ||
| short | oflag ) |
BMO_FLAG_BUFFER.
Removes flags from elements in a slots buffer
Definition at line 1142 of file bmesh_operators.cc.
References BLI_assert, bm, BM_ALL_NOLOOP, BMO_elem_flag_disable, BMO_OP_SLOT_ELEMENT_BUF, BMO_slot_get(), BMOpSlot::buf, BMOpSlot::data, eBMOpSlotSubType_Union::elem, BMOpSlot::len, oflag, BMOpSlot::slot_subtype, and BMOpSlot::slot_type.
| void BMO_slot_buffer_flag_enable | ( | BMesh * | bm, |
| BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], | ||
| const char * | slot_name, | ||
| char | htype, | ||
| short | oflag ) |
BMO_FLAG_BUFFER.
Flags elements in a slots buffer
Definition at line 1120 of file bmesh_operators.cc.
References BLI_assert, bm, BM_ALL_NOLOOP, BMO_elem_flag_enable, BMO_OP_SLOT_ELEMENT_BUF, BMO_slot_get(), BMOpSlot::data, eBMOpSlotSubType_Union::elem, BMOpSlot::len, oflag, BMOpSlot::p, BMOpSlot::slot_subtype, and BMOpSlot::slot_type.
Referenced by bmesh_find_doubles_common(), bmo_bisect_plane_exec(), bmo_bridge_loops_exec(), bmo_collapse_exec(), bmo_collapse_uvs_exec(), bmo_connect_vert_pair_exec(), bmo_connect_verts_exec(), bmo_contextual_create_exec(), bmo_create_icosphere_exec(), bmo_create_uvsphere_exec(), bmo_delete_exec(), bmo_dissolve_degenerate_exec(), bmo_dissolve_edges_exec(), bmo_dissolve_faces_exec(), bmo_duplicate_exec(), bmo_edgenet_prepare_exec(), bmo_extrude_face_region_exec(), bmo_grid_fill_exec(), bmo_mirror_exec(), bmo_recalc_face_normals_exec(), bmo_region_extend_exec(), bmo_solidify_face_region_exec(), bmo_split_exec(), bmo_subdivide_edgering_exec(), bmo_subdivide_edges_exec(), bmo_symmetrize_exec(), bmo_triangle_fill_exec(), and bridge_loop_pair().
| void BMO_slot_buffer_from_all | ( | BMesh * | bm, |
| BMOperator * | op, | ||
| BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], | ||
| const char * | slot_name, | ||
| char | htype ) |
BMO_ALL_TO_SLOT.
Copies all elements of a certain type into an operator slot.
Definition at line 737 of file bmesh_operators.cc.
References BLI_assert, bm, BM_ALL_NOLOOP, BM_EDGE, BM_EDGES_OF_MESH, BM_FACE, BM_FACES_OF_MESH, BM_ITER_MESH, BM_VERT, BM_VERTS_OF_MESH, BMO_OP_SLOT_ELEMENT_BUF, BMO_slot_buffer_alloc(), BMO_slot_get(), BMHeader::data, BMesh::totedge, BMesh::totface, and BMesh::totvert.
Referenced by BMO_op_vinitf(), and bpy_slot_from_py().
| void BMO_slot_buffer_from_array | ( | BMOperator * | op, |
| BMOpSlot * | slot, | ||
| BMHeader ** | ele_buffer, | ||
| int | ele_buffer_len ) |
Definition at line 901 of file bmesh_operators.cc.
References BMOperator::arena, BLI_assert, BLI_memarena_alloc(), BMO_ASSERT_SLOT_IN_OP, BMO_OP_SLOT_ELEMENT_BUF, BMOpSlot::buf, BMOpSlot::data, ELEM, BMOpSlot::len, and BMOpSlot::slot_type.
Referenced by BMO_op_vinitf().
| void BMO_slot_buffer_from_disabled_flag | ( | BMesh * | bm, |
| BMOperator * | op, | ||
| BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], | ||
| const char * | slot_name, | ||
| char | htype, | ||
| short | oflag ) |
Puts every element of type 'type' (which is a bit-mask) without tool flag 'flag', into a slot.
Definition at line 1043 of file bmesh_operators.cc.
References bm, bmo_slot_buffer_from_flag(), and oflag.
Referenced by BMO_op_vinitf().
| void BMO_slot_buffer_from_disabled_hflag | ( | BMesh * | bm, |
| BMOperator * | op, | ||
| BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], | ||
| const char * | slot_name, | ||
| char | htype, | ||
| char | hflag ) |
Puts every element of type 'type' (which is a bit-mask) without header flag 'flag', into a slot.
Definition at line 876 of file bmesh_operators.cc.
References bm, and bmo_slot_buffer_from_hflag().
Referenced by BMO_op_vinitf().
| void BMO_slot_buffer_from_enabled_flag | ( | BMesh * | bm, |
| BMOperator * | op, | ||
| BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], | ||
| const char * | slot_name, | ||
| char | htype, | ||
| short | oflag ) |
Puts every element of type 'type' (which is a bit-mask) with tool flag 'flag', into a slot.
Definition at line 1033 of file bmesh_operators.cc.
References bm, bmo_slot_buffer_from_flag(), and oflag.
Referenced by bmo_beautify_fill_exec(), bmo_bisect_edges_exec(), bmo_bisect_plane_exec(), bmo_bridge_loops_exec(), bmo_connect_verts_concave_exec(), bmo_connect_verts_exec(), bmo_connect_verts_nonplanar_exec(), bmo_contextual_create_exec(), bmo_create_circle_exec(), bmo_create_cone_exec(), bmo_create_cube_exec(), bmo_create_icosphere_exec(), bmo_create_monkey_exec(), bmo_create_uvsphere_exec(), bmo_create_vert_exec(), bmo_dissolve_faces_exec(), bmo_dissolve_limit_exec(), bmo_duplicate_exec(), bmo_edgeloop_fill_exec(), bmo_edgenet_prepare_exec(), bmo_extrude_discrete_faces_exec(), bmo_extrude_edge_only_exec(), bmo_extrude_vert_indiv_exec(), bmo_grid_fill_exec(), bmo_inset_individual_exec(), bmo_inset_region_exec(), bmo_join_triangles_exec(), bmo_mirror_exec(), bmo_offset_edgeloops_exec(), BMO_op_vinitf(), bmo_poke_exec(), bmo_region_extend_exec(), bmo_rotate_edges_exec(), bmo_subdivide_edgering_exec(), bmo_subdivide_edges_exec(), bmo_symmetrize_exec(), and bmo_triangle_fill_exec().
| void BMO_slot_buffer_from_enabled_hflag | ( | BMesh * | bm, |
| BMOperator * | op, | ||
| BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], | ||
| const char * | slot_name, | ||
| char | htype, | ||
| char | hflag ) |
Puts every element of type 'type' (which is a bit-mask) with header flag 'flag', into a slot.
Definition at line 866 of file bmesh_operators.cc.
References bm, and bmo_slot_buffer_from_hflag().
Referenced by bmo_bevel_exec(), bmo_edgenet_fill_exec(), bmo_face_attribute_fill_exec(), bmo_holes_fill_exec(), BMO_op_vinitf(), bmo_split_edges_exec(), bmo_triangulate_exec(), bmo_wireframe_exec(), edbm_extrude_ex(), and edbm_inset_calc().
| void BMO_slot_buffer_from_single | ( | BMOperator * | op, |
| BMOpSlot * | slot, | ||
| BMHeader * | ele ) |
Definition at line 886 of file bmesh_operators.cc.
References BMOperator::arena, BLI_assert, BLI_memarena_alloc(), BMO_ASSERT_SLOT_IN_OP, BMO_OP_SLOT_ELEMENT_BUF, BMO_OP_SLOT_SUBTYPE_ELEM_IS_SINGLE, BMOpSlot::buf, BMOpSlot::data, ELEM, eBMOpSlotSubType_Union::elem, BMHeader::htype, BMOpSlot::len, BMOpSlot::slot_subtype, and BMOpSlot::slot_type.
Referenced by BMO_op_vinitf(), and bpy_slot_from_py().
| void * BMO_slot_buffer_get_first | ( | BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], |
| const char * | slot_name ) |
Definition at line 1339 of file bmesh_operators.cc.
References BMO_OP_SLOT_ELEMENT_BUF, BMO_slot_get(), BMOpSlot::buf, BMOpSlot::data, and BMOpSlot::slot_type.
Referenced by edbm_add_edge_face_exec().
| void * BMO_slot_buffer_get_single | ( | BMOpSlot * | slot | ) |
Definition at line 919 of file bmesh_operators.cc.
References BLI_assert, BMO_OP_SLOT_ELEMENT_BUF, BMO_OP_SLOT_SUBTYPE_ELEM_IS_SINGLE, BMOpSlot::buf, BMOpSlot::data, ELEM, eBMOpSlotSubType_Union::elem, BMOpSlot::len, BMOpSlot::slot_subtype, and BMOpSlot::slot_type.
Referenced by bmo_pointmerge_facedata_exec(), and bpy_slot_to_py().
| void BMO_slot_buffer_hflag_disable | ( | BMesh * | bm, |
| BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], | ||
| const char * | slot_name, | ||
| char | htype, | ||
| char | hflag, | ||
| bool | do_flush ) |
BMO_FLAG_BUFFER.
Removes flags from elements in a slots buffer, automatically using the selection API where appropriate.
Definition at line 1087 of file bmesh_operators.cc.
References BLI_assert, bm, BM_ALL_NOLOOP, BM_elem_flag_disable, BM_ELEM_HIDDEN, BM_elem_hide_set, BM_ELEM_SELECT, BM_elem_select_set(), BMO_OP_SLOT_ELEMENT_BUF, BMO_slot_get(), BMOpSlot::buf, BMOpSlot::data, eBMOpSlotSubType_Union::elem, BMOpSlot::len, BMOpSlot::slot_subtype, and BMOpSlot::slot_type.
Referenced by bmo_inset_region_exec(), edbm_add_edge_face_exec(), edbm_edge_rotate_selected_exec(), edbm_extrude_verts_indiv(), EDBM_select_less(), and edbm_solidify_exec().
| void BMO_slot_buffer_hflag_enable | ( | BMesh * | bm, |
| BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], | ||
| const char * | slot_name, | ||
| char | htype, | ||
| char | hflag, | ||
| bool | do_flush ) |
BMO_FLAG_BUFFER.
Header Flags elements in a slots buffer, automatically using the selection API where appropriate.
Definition at line 1053 of file bmesh_operators.cc.
References BLI_assert, bm, BM_ALL_NOLOOP, BM_elem_flag_enable, BM_ELEM_HIDDEN, BM_elem_hide_set, BM_ELEM_SELECT, BM_elem_select_set(), BMO_OP_SLOT_ELEMENT_BUF, BMO_OP_SLOT_SUBTYPE_ELEM_IS_SINGLE, BMO_slot_get(), BMOpSlot::buf, BMOpSlot::data, eBMOpSlotSubType_Union::elem, BMOpSlot::len, BMOpSlot::slot_subtype, and BMOpSlot::slot_type.
Referenced by BM_mesh_esubdivide(), bm_vert_connect_pair(), bmo_bisect_plane_exec(), bmo_edgenet_fill_exec(), bmo_face_attribute_fill_exec(), bmo_holes_fill_exec(), bmo_inset_individual_exec(), bmo_inset_region_exec(), bmo_split_edges_exec(), bmo_triangulate_exec(), bmo_wireframe_exec(), bridge_loop_pair(), edbm_add_edge_face_exec(), edbm_bevel_calc(), edbm_bridge_edge_loops_for_single_editmesh(), edbm_connect_vert_pair(), edbm_duplicate_exec(), edbm_edge_rotate_selected_exec(), edbm_extrude_edges_indiv(), edbm_extrude_verts_indiv(), edbm_fill_exec(), edbm_fill_grid_exec(), edbm_inset_calc(), edbm_offset_edgeloop_exec(), EDBM_op_call_and_selectf(), edbm_poke_face_exec(), edbm_quads_convert_to_tris_exec(), edbm_screw_exec(), EDBM_select_more(), edbm_solidify_exec(), edbm_spin_exec(), edbm_split_exec(), edbm_wireframe_exec(), mesh_bisect_exec(), and mesh_symmetrize_exec().
Return the number of elements inside a slot array.
Definition at line 621 of file bmesh_operators.cc.
References BLI_assert, BMO_OP_SLOT_ELEMENT_BUF, BMO_slot_get(), BMOpSlot::len, and BMOpSlot::slot_type.
Referenced by bmo_beautify_fill_exec(), bmo_bisect_plane_exec(), bmo_contextual_create_exec(), bmo_edgeloop_fill_exec(), bmo_edgenet_fill_exec(), bmo_face_attribute_fill_exec(), bmo_holes_fill_exec(), BMO_iter_as_arrayN(), bmo_offset_edgeloops_exec(), bmo_planar_faces_exec(), bmo_rotate_edges_exec(), bmo_smooth_vert_exec(), bmo_triangle_fill_exec(), edbm_add_edge_face_exec(), and edbm_edge_rotate_selected_exec().
| bool BMO_slot_exists | ( | BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], |
| const char * | identifier ) |
BMESH OPSTACK HAS SLOT.
Definition at line 199 of file bmesh_operators.cc.
References bmo_name_to_slotcode().
Referenced by bmesh_find_doubles_common(), and BPy_BMO_call().
Definition at line 428 of file bmesh_operators.cc.
References BLI_assert, BMO_OP_SLOT_FLT, BMO_slot_get(), BMOpSlot::data, BMOpSlot::f, and BMOpSlot::slot_type.
Referenced by bmesh_find_doubles_common(), bmo_bevel_exec(), bmo_bisect_plane_exec(), bmo_bridge_loops_exec(), bmo_connect_verts_nonplanar_exec(), bmo_create_circle_exec(), bmo_create_cone_exec(), bmo_create_cube_exec(), bmo_create_grid_exec(), bmo_create_icosphere_exec(), bmo_create_uvsphere_exec(), bmo_dissolve_degenerate_exec(), bmo_dissolve_limit_exec(), bmo_inset_individual_exec(), bmo_inset_region_exec(), bmo_join_triangles_exec(), bmo_mirror_exec(), bmo_planar_faces_exec(), bmo_poke_exec(), bmo_smooth_laplacian_vert_exec(), bmo_smooth_vert_exec(), bmo_solidify_face_region_exec(), bmo_spin_exec(), bmo_subdivide_edgering_exec(), bmo_subdivide_edges_exec(), bmo_symmetrize_exec(), and bmo_wireframe_exec().
Definition at line 307 of file bmesh_operators.cc.
References BLI_assert, BMO_OP_SLOT_FLT, BMO_slot_get(), BMOpSlot::data, BMOpSlot::f, and BMOpSlot::slot_type.
Referenced by BMO_op_vinitf().
BMESH OPSTACK GET SLOT.
Returns a pointer to the slot of type 'slot_code'
Definition at line 205 of file bmesh_operators.cc.
References BLI_assert, bmo_name_to_slotcode_check(), and UNLIKELY.
Referenced by _bmo_slot_buffer_append(), _bmo_slot_copy(), bm_bridge_splice_loops(), bm_rotate_edges_shared(), bmesh_find_doubles_common(), bmo_bisect_edges_exec(), bmo_collapse_exec(), bmo_connect_vert_pair_exec(), bmo_create_grid_exec(), bmo_dissolve_limit_exec(), bmo_extrude_face_region_exec(), bmo_find_doubles_exec(), BMO_iter_new(), bmo_mesh_copy(), bmo_mirror_exec(), BMO_op_vinitf(), bmo_pointmerge_exec(), bmo_pointmerge_facedata_exec(), bmo_remove_doubles_exec(), BMO_slot_as_arrayN(), BMO_slot_bool_get(), BMO_slot_bool_set(), BMO_slot_buffer_alloc(), BMO_slot_buffer_flag_disable(), BMO_slot_buffer_flag_enable(), BMO_slot_buffer_from_all(), bmo_slot_buffer_from_flag(), bmo_slot_buffer_from_hflag(), BMO_slot_buffer_get_first(), BMO_slot_buffer_hflag_disable(), BMO_slot_buffer_hflag_enable(), BMO_slot_buffer_len(), BMO_slot_float_get(), BMO_slot_float_set(), BMO_slot_int_get(), BMO_slot_int_set(), BMO_slot_map_len(), BMO_slot_map_to_flag(), BMO_slot_mat3_get(), BMO_slot_mat4_get(), BMO_slot_mat_set(), BMO_slot_ptr_get(), BMO_slot_ptr_set(), BMO_slot_vec_get(), BMO_slot_vec_set(), bmo_spin_exec(), bmo_subdivide_edges_exec(), bmo_symmetrize_exec(), bmo_triangulate_exec(), bmo_unsubdivide_exec(), bmo_weld_verts_exec(), BPy_BMO_call(), collapse_face_corners(), EDBM_automerge_and_split(), edbm_connect_vert_pair(), edbm_extrude_ex(), EDBM_op_call_and_selectf(), and skin_fix_hole_no_good_verts().
Definition at line 439 of file bmesh_operators.cc.
References BLI_assert, BMO_OP_SLOT_INT, BMO_slot_get(), BMOpSlot::data, BMOpSlot::i, and BMOpSlot::slot_type.
Referenced by bmo_beautify_fill_exec(), bmo_bevel_exec(), bmo_bisect_edges_exec(), bmo_bridge_loops_exec(), bmo_contextual_create_exec(), bmo_create_circle_exec(), bmo_create_cone_exec(), bmo_create_grid_exec(), bmo_create_icosphere_exec(), bmo_create_uvsphere_exec(), bmo_delete_exec(), bmo_dissolve_limit_exec(), bmo_edgeloop_fill_exec(), bmo_edgenet_fill_exec(), bmo_grid_fill_exec(), bmo_holes_fill_exec(), bmo_mirror_exec(), bmo_planar_faces_exec(), bmo_poke_exec(), bmo_reverse_colors_exec(), bmo_rotate_colors_exec(), bmo_spin_exec(), bmo_subdivide_edgering_exec(), bmo_subdivide_edges_exec(), bmo_symmetrize_exec(), bmo_triangulate_exec(), and bmo_unsubdivide_exec().
Definition at line 318 of file bmesh_operators.cc.
References BLI_assert, BMO_OP_SLOT_INT, BMO_slot_get(), BMOpSlot::data, BMOpSlot::i, and BMOpSlot::slot_type.
Referenced by BMO_op_vinitf().
| void BMO_slot_map_insert | ( | BMOperator * | op, |
| BMOpSlot * | slot, | ||
| const void * | element, | ||
| const void * | data ) |
Inserts a key/value mapping into a mapping slot. note that it copies the value, it doesn't store a reference to it.
Definition at line 641 of file bmesh_operators.cc.
References BLI_assert, BLI_ghash_insert(), BMO_ASSERT_SLOT_IN_OP, BMO_OP_SLOT_MAPPING, BMOpSlot::data, BMOpSlot::ghash, and BMOpSlot::slot_type.
Referenced by BMO_slot_map_bool_insert(), BMO_slot_map_elem_insert(), BMO_slot_map_empty_insert(), BMO_slot_map_float_insert(), BMO_slot_map_int_insert(), and BMO_slot_map_ptr_insert().
Return the number of elements inside a slot map.
Definition at line 634 of file bmesh_operators.cc.
References BLI_assert, BLI_ghash_len(), BMO_OP_SLOT_MAPPING, BMO_slot_get(), BMOpSlot::data, BMOpSlot::ghash, and BMOpSlot::slot_type.
Referenced by bmo_extrude_face_region_exec().
| void BMO_slot_map_to_flag | ( | BMesh * | bm, |
| BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], | ||
| const char * | slot_name, | ||
| char | htype, | ||
| short | oflag ) |
Flags all elements in a mapping.
Definition at line 693 of file bmesh_operators.cc.
References BLI_assert, BLI_ghashIterator_getKey(), bm, BMO_elem_flag_enable, BMO_OP_SLOT_MAPPING, BMO_slot_get(), BMOpSlot::data, BMOpSlot::ghash, GHASH_ITER, BMElemF::head, BMHeader::htype, oflag, and BMOpSlot::slot_type.
Referenced by bmo_bisect_edges_exec(), and bmo_subdivide_edges_exec().
| void BMO_slot_mat3_get | ( | BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], |
| const char * | slot_name, | ||
| float | r_mat[3][3] ) |
Definition at line 386 of file bmesh_operators.cc.
References BLI_assert, BMO_OP_SLOT_MAT, BMO_SLOT_AS_MATRIX, BMO_slot_get(), copy_m3_m4(), BMOpSlot::data, BMOpSlot::p, BMOpSlot::slot_type, and unit_m3().
| void BMO_slot_mat4_get | ( | BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], |
| const char * | slot_name, | ||
| float | r_mat[4][4] ) |
Definition at line 368 of file bmesh_operators.cc.
References BLI_assert, BMO_OP_SLOT_MAT, BMO_SLOT_AS_MATRIX, BMO_slot_get(), copy_m4_m4(), BMOpSlot::data, BMOpSlot::p, BMOpSlot::slot_type, and unit_m4().
Referenced by bmo_create_circle_exec(), bmo_create_cone_exec(), bmo_create_cube_exec(), bmo_create_grid_exec(), bmo_create_icosphere_exec(), bmo_create_monkey_exec(), bmo_create_uvsphere_exec(), bmo_rotate_exec(), and bmo_transform_exec().
| void BMO_slot_mat_set | ( | BMOperator * | op, |
| BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], | ||
| const char * | slot_name, | ||
| const float * | mat, | ||
| int | size ) |
Only supports square matrices. size must be 3 or 4; this api is meant only for transformation matrices.
Definition at line 340 of file bmesh_operators.cc.
References BMOperator::arena, BLI_assert, BLI_memarena_alloc(), BMO_OP_SLOT_MAT, BMO_slot_get(), copy_m4_m3(), copy_m4_m4(), BMOpSlot::data, BMOpSlot::len, BMOpSlot::p, BMOpSlot::slot_type, and zero_m4().
Referenced by BMO_op_vinitf(), and bpy_slot_from_py().
| void * BMO_slot_ptr_get | ( | BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], |
| const char * | slot_name ) |
Definition at line 475 of file bmesh_operators.cc.
References BLI_assert, BMO_OP_SLOT_PTR, BMO_slot_get(), BMOpSlot::data, BMOpSlot::p, and BMOpSlot::slot_type.
Referenced by bmo_bevel_exec(), bmo_bmesh_to_mesh_exec(), bmo_duplicate_exec(), bmo_mesh_to_bmesh_exec(), and bmo_object_load_bmesh_exec().
| void BMO_slot_ptr_set | ( | BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], |
| const char * | slot_name, | ||
| void * | p ) |
Don't pass in arrays that are supposed to map to elements this way.
so, e.g. passing in list of floats per element in another slot is bad. passing in, e.g. pointer to an edit-mesh for the conversion operator is fine though.
Definition at line 404 of file bmesh_operators.cc.
References BLI_assert, BMO_OP_SLOT_PTR, BMO_slot_get(), BMOpSlot::data, BMOpSlot::p, and BMOpSlot::slot_type.
Referenced by BMO_op_vinitf().
| void BMO_slot_vec_get | ( | BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], |
| const char * | slot_name, | ||
| float | r_vec[3] ) |
Definition at line 486 of file bmesh_operators.cc.
References BLI_assert, BMO_OP_SLOT_VEC, BMO_slot_get(), copy_v3_v3(), BMOpSlot::data, BMOpSlot::slot_type, and BMOpSlot::vec.
Referenced by bmo_bisect_plane_exec(), bmo_create_vert_exec(), bmo_pointmerge_exec(), bmo_rotate_exec(), bmo_scale_exec(), bmo_spin_exec(), bmo_translate_exec(), and bmo_triangle_fill_exec().
| void BMO_slot_vec_set | ( | BMOpSlot | slot_args[BMO_OP_MAX_SLOTS], |
| const char * | slot_name, | ||
| const float | vec[3] ) |
Definition at line 415 of file bmesh_operators.cc.
References BLI_assert, BMO_OP_SLOT_VEC, BMO_slot_get(), copy_v3_v3(), BMOpSlot::data, BMOpSlot::slot_type, and BMOpSlot::vec.
Referenced by BMO_op_vinitf().
|
extern |
Definition at line 34 of file bmesh_operators.cc.
Referenced by _bmo_slot_buffer_append(), _bmo_slot_copy(), and BMO_slot_buffer_alloc().