|
Blender V5.0
|
Go to the source code of this file.
| void bmo_average_vert_facedata_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 418 of file bmo_removedoubles.cc.
References bm, BM_ELEM_CD_GET_VOID_P, BM_ITER_ELEM, BM_LOOPS_OF_VERT, BM_VERT, BMO_ITER, CustomData_data_add(), CustomData_data_copy_value(), CustomData_data_dominmax(), CustomData_data_initminmax(), CustomData_data_multiply(), CustomData_layer_has_math(), i, l, max, min, BMOperator::slots_in, and v.
| void bmo_beautify_fill_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 21 of file bmo_beautify.cc.
References bm, BM_EDGE, BM_edge_rotate_check(), BM_EDGES_OF_MESH, BM_elem_flag_disable, BM_ELEM_TAG, BM_FACE, BM_ITER_MESH, BM_mesh_beautify_fill(), BMO_face_flag_enable, BMO_face_flag_test, BMO_ITER, BMO_slot_bool_get(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_buffer_len(), BMO_slot_int_get(), e, EDGE_RESTRICT_DEGENERATE, ELE_NEW, FACE_MARK, flag, BMFace::len, MEM_freeN(), MEM_malloc_arrayN(), BMOperator::slots_in, BMOperator::slots_out, and VERT_RESTRICT_TAG.
| void bmo_bevel_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 19 of file bmo_bevel.cc.
References bm, BM_EDGE, BM_edge_is_manifold(), BM_elem_flag_enable, BM_ELEM_TAG, BM_FACE, BM_mesh_bevel(), BM_mesh_elem_hflag_disable_all(), BM_VERT, BMO_ITER, BMO_slot_bool_get(), BMO_slot_buffer_from_enabled_hflag(), BMO_slot_float_get(), BMO_slot_int_get(), BMO_slot_ptr_get(), CD_PROP_FLOAT, CustomData_get_offset_named(), e, BMOperator::slots_in, BMOperator::slots_out, and v.
| void bmo_bisect_edges_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 1407 of file bmo_subdivide.cc.
References bm, BM_ALL_NOLOOP, BM_data_layer_add(), BM_data_layer_free_n(), BM_EDGE, bm_subdivide_multicut(), BMO_ITER, BMO_slot_buffer_from_enabled_flag(), BMO_slot_get(), BMO_slot_int_get(), BMO_slot_map_to_flag(), bmo_subd_init_shape_info(), CD_SHAPEKEY, e, EDGE_PERCENT, ELE_SPLIT, params, BMOperator::slots_in, and BMOperator::slots_out.
| void bmo_bisect_plane_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 26 of file bmo_bisect_plane.cc.
References bm, BM_ALL_NOLOOP, BM_EDGE, BM_ELEM_TAG, BM_FACE, BM_mesh_bisect_plane(), BM_mesh_elem_hflag_disable_all(), BM_VERT, BM_vert_kill(), BMO_ERROR_CANCEL, BMO_error_raise(), BMO_ITER, BMO_slot_bool_get(), BMO_slot_buffer_flag_enable(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_buffer_hflag_enable(), BMO_slot_buffer_len(), BMO_slot_float_get(), BMO_slot_vec_get(), copy_v3_v3(), ELE_CUT, ELE_INPUT, ELE_NEW, is_zero_v3(), MEM_freeN(), MEM_mallocN(), min_ii(), plane_from_point_normal_v3(), plane_point_side_v3(), BMOperator::slots_in, BMOperator::slots_out, STACK_DECLARE, STACK_INIT, STACK_POP, STACK_PUSH, and v.
| void bmo_bmesh_to_mesh_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 47 of file bmo_mesh_convert.cc.
References bm, BM_mesh_bm_to_me(), BMO_slot_ptr_get(), G, params, and BMOperator::slots_in.
| void bmo_bridge_loops_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 574 of file bmo_bridge.cc.
References bm, BM_EDGE, bm_edge_test_cb(), BM_edgeloop_length_get(), BM_FACE, BM_mesh_edgeloops_calc_center(), BM_mesh_edgeloops_calc_normal(), BM_mesh_edgeloops_calc_order(), BM_mesh_edgeloops_find(), BM_mesh_edgeloops_free(), BMO_ERROR_CANCEL, BMO_error_raise(), BMO_slot_bool_get(), BMO_slot_buffer_flag_enable(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_float_get(), BMO_slot_int_get(), bridge_loop_pair(), count, EDGE_MARK, EDGE_OUT, FACE_OUT, ListBase::first, LISTBASE_FOREACH, BMEdgeLoopStore::next, LinkData::next, BMOperator::slots_in, and BMOperator::slots_out.
| void bmo_collapse_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 486 of file bmo_removedoubles.cc.
References add_v3_v3(), BLI_assert, BLI_stack_free(), BLI_stack_is_empty(), BLI_stack_new, BLI_stack_peek(), BLI_stack_pop(), BLI_stack_push(), bm, BM_EDGE, BM_EDGES_OF_MESH, BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_TAG, BM_ITER_MESH, BMO_edge_flag_test, BMO_op_callf(), BMO_op_exec(), BMO_op_finish(), BMO_op_init(), BMO_slot_bool_get(), BMO_slot_buffer_flag_enable(), BMO_slot_get(), BMO_slot_map_elem_insert(), BMW_begin(), BMW_end(), BMW_FLAG_NOP, BMW_init(), BMW_MASK_NOP, BMW_NIL_LAY, BMW_step(), BMW_VERT_SHELL, BMVert::co, copy_v3_v3(), count, e, EDGE_MARK, BMOperator::flag, mul_v3_fl(), BMOperator::slots_in, and zero_v3().
| void bmo_collapse_uvs_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 634 of file bmo_removedoubles.cc.
References BLI_assert, bm, BM_EDGE, BM_EDGES_OF_MESH, BM_iter_mesh_count_flag(), bmo_collapsecon_do_layer(), BMO_slot_buffer_flag_enable(), CustomData_has_math(), CustomData_layer_has_math(), EDGE_MARK, i, oflag, and BMOperator::slots_in.
| void bmo_connect_vert_pair_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 588 of file bmo_connect_pair.cc.
References PathContext::axis_sep, BLI_assert, BLI_heapsimple_clear(), BLI_heapsimple_free(), BLI_heapsimple_insert(), BLI_heapsimple_is_empty(), BLI_heapsimple_len(), BLI_heapsimple_new(), BLI_heapsimple_pop_min(), BLI_mempool_create(), BLI_mempool_destroy(), BLI_MEMPOOL_NOP, bm, PathContext::bm_bmoflag, BM_EDGE, BM_edge_split(), BM_elem_index_get, BM_FACE, BM_VERT, bm_vert_pair_to_matrix(), BMO_op_exec(), BMO_op_finish(), BMO_op_initf(), BMO_slot_buffer_flag_enable(), BMO_slot_copy, BMO_slot_get(), BMO_vert_flag_enable, BMVert::co, BMOpSlot::data, dot_m3_v3_row_x(), e, PathLink::ele, FACE_EXCLUDE, BMElem::head, BMHeader::htype, BMOpSlot::len, PathLinkState::link_last, PathContext::link_pool, PathContext::matrix, MEM_callocN(), MEM_freeN(), PathLink::next, op_sub(), BMOpSlot::p, printf, BMOperator::slots_in, state, state_calc_co_pair_fac(), state_link_add(), state_step(), PathContext::states, v, PathContext::v_pair, VERT_EXCLUDE, and VERT_OUT.
| void bmo_connect_verts_concave_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 190 of file bmo_connect_concave.cc.
References BLI_heap_free(), BLI_heap_new_ex(), BLI_memarena_free(), BLI_memarena_new(), BLI_POLYFILL_ALLOC_NGON_RESERVE, BLI_POLYFILL_ARENA_SIZE, bm, BM_EDGE, BM_FACE, bm_face_convex_tag_verts(), bm_face_split_by_concave(), BMO_ITER, BMO_slot_buffer_from_enabled_flag(), EDGE_OUT, FACE_OUT, BMFace::len, BMOperator::slots_in, and BMOperator::slots_out.
| void bmo_connect_verts_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 160 of file bmo_connect.cc.
References BLI_LINKSTACK_DECLARE, BLI_LINKSTACK_FREE, BLI_LINKSTACK_INIT, BLI_LINKSTACK_POP, BLI_LINKSTACK_PUSH, bm, BM_EDGE, BM_FACE, bm_face_connect_verts(), BM_ITER_ELEM, BM_LOOPS_OF_VERT, BM_VERT, BMO_edge_flag_enable, BMO_ERROR_FATAL, BMO_error_raise(), BMO_face_flag_enable, BMO_face_flag_test, BMO_ITER, BMO_slot_bool_get(), BMO_slot_buffer_flag_enable(), BMO_slot_buffer_from_enabled_flag(), BMO_vert_flag_enable, BMO_vert_flag_test, BMLoop::e, EDGE_OUT, EDGE_OUT_ADJ, BMLoop::f, FACE_EXCLUDE, FACE_TAG, faces, BMFace::len, BMLoop::next, BMLoop::prev, BMOperator::slots_in, BMOperator::slots_out, BMLoop::v, v, and VERT_INPUT.
| void bmo_connect_verts_nonplanar_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 133 of file bmo_connect_nonplanar.cc.
References BLI_LINKSTACK_DECLARE, BLI_LINKSTACK_FREE, BLI_LINKSTACK_INIT, BLI_LINKSTACK_POP, BLI_LINKSTACK_PUSH, bm, BM_EDGE, BM_FACE, BM_face_normal_update(), bm_face_split_by_angle(), BMO_ITER, BMO_slot_buffer_from_enabled_flag(), BMO_slot_float_get(), cosf, EDGE_OUT, FACE_OUT, BMFace::len, len, BMOperator::slots_in, and BMOperator::slots_out.
| void bmo_contextual_create_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 22 of file bmo_create.cc.
References bm, BM_CREATE_NO_DOUBLE, BM_EDGE, BM_edge_create(), BM_EDGES_OF_VERT, BM_elem_flag_enable, BM_ELEM_SMOOTH, BM_FACE, BM_face_copy_shared(), BM_face_create_ngon_verts(), BM_VERT, BM_verts_sort_radial_plane(), BMO_edge_flag_enable, BMO_face_flag_enable, BMO_ITER, BMO_iter_as_array(), BMO_iter_elem_count_flag(), BMO_op_exec(), BMO_op_finish(), BMO_op_initf(), BMO_slot_bool_get(), BMO_slot_buffer_flag_enable(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_buffer_len(), BMO_slot_copy, BMO_slot_int_get(), BMO_vert_flag_enable, BMO_vert_flag_test, e, ELE_NEW, ELE_OUT, BMOperator::flag, BMHeader::htype, LISTBASE_FOREACH, BMFace::mat_nr, MEM_freeN(), MEM_malloc_arrayN(), op_sub(), BMOperator::slots_in, BMOperator::slots_out, v, and verts.
| void bmo_convex_hull_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
References bm.
| void bmo_create_circle_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 1244 of file bmo_primitive.cc.
References bm, BM_CREATE_NOP, BM_edge_create(), BM_face_create_quad_tri(), BM_mesh_calc_uvs_circle(), BM_VERT, BM_vert_create(), BMO_face_flag_enable, BMO_op_callf(), BMO_slot_bool_get(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_float_get(), BMO_slot_int_get(), BMO_slot_mat4_get(), BMO_vert_flag_enable, CD_PROP_FLOAT2, CustomData_get_offset(), FACE_NEW, BMOperator::flag, mul_m4_v3(), sin_cos_from_fraction(), BMOperator::slots_in, BMOperator::slots_out, VERT_MARK, and zero_v3().
| void bmo_create_cone_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 1361 of file bmo_primitive.cc.
References bm, BM_CREATE_NOP, BM_edge_collapse(), BM_face_create_quad_tri(), BM_FACE_FIRST_LOOP, BM_mesh_calc_uvs_cone(), BM_VERT, BM_vert_create(), BM_vert_kill(), BMO_face_flag_enable, BMO_op_callf(), BMO_slot_bool_get(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_float_get(), BMO_slot_int_get(), BMO_slot_mat4_get(), BMO_vert_flag_enable, CD_PROP_FLOAT2, CustomData_get_offset(), FACE_MARK, FACE_NEW, BMOperator::flag, i, l, MEM_freeN(), MEM_mallocN(), mul_m4_v3(), sin_cos_from_fraction(), sin_phi(), BMOperator::slots_in, BMOperator::slots_out, v2, and VERT_MARK.
| void bmo_create_cube_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 1616 of file bmo_primitive.cc.
References ARRAY_SIZE, bm, BM_CREATE_NOP, BM_face_create_verts(), BM_mesh_calc_uvs_cube(), BM_VERT, BM_vert_create(), BMO_face_flag_enable, BMO_slot_bool_get(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_float_get(), BMO_slot_mat4_get(), BMO_vert_flag_enable, CD_PROP_FLOAT2, CustomData_get_offset(), FACE_MARK, faces, float, i, mul_m4_v3(), quad, BMOperator::slots_in, BMOperator::slots_out, VERT_MARK, verts, x, y, and z().
| void bmo_create_grid_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 717 of file bmo_primitive.cc.
References bm, BM_CREATE_NOP, BM_face_create_verts(), BM_mesh_calc_uvs_grid(), BM_vert_create(), BMO_face_flag_enable, BMO_slot_bool_get(), BMO_slot_buffer_alloc(), BMO_slot_float_get(), BMO_slot_get(), BMO_slot_int_get(), BMO_slot_mat4_get(), BMO_vert_flag_enable, BMOpSlot::buf, CD_PROP_FLOAT2, CustomData_get_offset(), BMOpSlot::data, FACE_MARK, i, max_ii(), mul_v3_m4v3(), BMOperator::slots_in, BMOperator::slots_out, VERT_MARK, x, XY, and y.
| void bmo_create_icosphere_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 963 of file bmo_primitive.cc.
References bm, BM_CREATE_NOP, BM_EDGE, BM_ELEM_CD_GET_FLOAT_P, BM_face_create_quad_tri(), BM_ITER_ELEM, BM_ITER_ELEM_INDEX, BM_ITER_MESH, BM_LOOPS_OF_FACE, BM_VERT, BM_vert_create(), BM_VERTS_OF_MESH, BMO_edge_flag_enable, BMO_op_exec(), BMO_op_finish(), BMO_op_initf(), BMO_slot_bool_get(), BMO_slot_buffer_flag_enable(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_float_get(), BMO_slot_int_get(), BMO_slot_mat4_get(), BMO_vert_flag_enable, BMO_vert_flag_test, CD_PROP_FLOAT2, CustomData_get_offset(), EDGE_MARK, BMOperator::flag, icoface, icouvs, icovert, l, mul_m4_v3(), BMOperator::slots_in, BMOperator::slots_out, v, v2, and VERT_MARK.
| void bmo_create_monkey_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 1163 of file bmo_primitive.cc.
References bm, BM_CREATE_NOP, BM_ELEM_CD_GET_FLOAT_P, BM_face_create_quad_tri(), BM_ITER_ELEM, BM_LOOPS_OF_FACE, BM_VERT, BM_vert_create(), BMO_slot_bool_get(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_mat4_get(), BMO_vert_flag_enable, CD_PROP_FLOAT2, BMVert::co, CustomData_get_offset(), fabsf, i, l, MEM_freeN(), MEM_malloc_arrayN(), monkeyf, monkeynf, monkeynv, monkeyo, monkeyuvs, monkeyv, mul_m4_v3(), BMOperator::slots_in, BMOperator::slots_out, v, and VERT_MARK.
| void bmo_create_uvsphere_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 843 of file bmo_primitive.cc.
References axis_angle_to_mat3(), bm, BM_CREATE_NOP, BM_edge_create(), BM_FACES_OF_MESH, BM_ITER_ELEM, BM_ITER_MESH, BM_LOOPS_OF_FACE, BM_mesh_calc_uvs_sphere(), BM_VERT, BM_vert_create(), BM_VERTS_OF_MESH, BMO_edge_flag_enable, BMO_face_flag_enable, BMO_op_callf(), BMO_op_exec(), BMO_op_finish(), BMO_op_initf(), BMO_slot_bool_get(), BMO_slot_buffer_flag_enable(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_float_get(), BMO_slot_int_get(), BMO_slot_mat4_get(), BMO_vert_flag_enable, BMO_vert_flag_test, CD_PROP_FLOAT2, BMVert::co, cosf, CustomData_get_offset(), e, EDGE_ORIG, FACE_MARK, BMOperator::flag, float, l, len, len_v3v3(), M_PI, min_ff(), mul_m4_v3(), mul_v3_m3v3(), sin_cos_from_fraction(), sin_phi(), sinf, BMOperator::slots_in, BMOperator::slots_out, and VERT_MARK.
| void bmo_create_vert_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 30 of file bmo_utils.cc.
References bm, BM_CREATE_NOP, BM_VERT, BM_vert_create(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_vec_get(), BMO_vert_flag_enable, ELE_NEW, BMOperator::slots_in, and BMOperator::slots_out.
| void bmo_delete_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 530 of file bmo_dupe.cc.
References bm, BM_ALL_NOLOOP, BMO_mesh_delete_oflag_context(), BMO_slot_buffer_flag_enable(), BMO_slot_int_get(), DEL_INPUT, and BMOperator::slots_in.
| void bmo_dissolve_degenerate_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 829 of file bmo_dissolve.cc.
References BLI_assert, bm, BM_EDGE, BM_edge_calc_length_squared(), BM_edge_split(), BM_EDGES_OF_MESH, BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_TAG, BM_face_split(), BM_ITER_MESH, bm_mesh_edge_collapse_flagged(), BMO_edge_flag_enable, BMO_edge_flag_test, BMO_slot_buffer_flag_enable(), BMO_slot_float_get(), BMVert::co, BMLoop::e, e, EDGE_COLLAPSE, EDGE_MARK, BMLoop::f, fabsf, BMOperator::flag, BMFace::len, len_v3v3(), min_ff(), BMLoop::next, normalize_v3(), BMLoop::prev, BMLoop::radial_next, reset(), BMOperator::slots_in, sub_v3_v3v3(), and BMLoop::v.
| void bmo_dissolve_edges_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 453 of file bmo_dissolve.cc.
References bm, BM_EDGE, BM_edge_face_pair(), BM_edge_kill(), BM_edge_loop_pair(), BM_EDGES_OF_MESH, BM_EDGES_OF_VERT, BM_FACE_FIRST_LOOP, bm_face_split(), BM_faces_join_pair(), BM_ITER_ELEM, BM_ITER_MESH, BM_ITER_MESH_MUTABLE, bm_vert_collapse_edge_and_merge(), BM_vert_edge_pair(), BM_vert_is_edge_pair(), BM_vert_kill(), BM_VERTS_OF_MESH, BMO_edge_flag_enable, BMO_edge_flag_test, bmo_find_end_of_chain(), BMO_ITER, BMO_slot_bool_get(), BMO_slot_buffer_flag_enable(), BMO_slot_float_get(), bmo_vert_calc_edge_angle_blended(), BMO_vert_flag_disable, BMO_vert_flag_enable, BMO_vert_flag_test, bmo_vert_tagged_edges_count_at_most(), bmo_vert_touches_unselected_face(), BMLoop::e, e, EDGE_CHAIN, EDGE_ISGC, EDGE_TAG, i, l_b, len, M_PI, BMLoop::next, RAD2DEGF, BMOperator::slots_in, BMLoop::v, v, VERT_ISGC, VERT_MARK, and VERT_TAG.
| void bmo_dissolve_edges_init | ( | BMOperator * | op | ) |
Definition at line 447 of file bmo_dissolve.cc.
References BMO_slot_float_set(), M_PI, and BMOperator::slots_in.
| void bmo_dissolve_faces_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 224 of file bmo_dissolve.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append_as(), BLI_assert, bm, BM_FACE, BM_face_kill(), BM_faces_join(), BM_ITER_MESH, BM_ITER_MESH_MUTABLE, bm_vert_collapse_edge_and_merge(), BM_vert_is_edge_pair(), BM_VERTS_OF_MESH, BMO_ERROR_FATAL, BMO_error_occurred_at_level(), BMO_face_flag_disable, BMO_face_flag_enable, BMO_face_flag_test, BMO_ITER, BMO_op_callf(), BMO_slot_bool_get(), BMO_slot_buffer_flag_enable(), BMO_slot_buffer_from_enabled_flag(), BMO_vert_flag_set, BMO_vert_flag_test, BMW_begin(), BMW_end(), BMW_FLAG_NOP, BMW_init(), BMW_ISLAND_MANIFOLD, BMW_MASK_NOP, BMW_NIL_LAY, BMW_step(), DEL_FACES, FACE_MARK, FACE_NEW, FACE_ORIG, FACE_TAG, faces, BMOperator::flag, LIKELY, BMOperator::slots_in, BMOperator::slots_out, UNLIKELY, v, and VERT_MARK.
| void bmo_dissolve_limit_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 799 of file bmo_dissolve.cc.
References bm, BM_FACE, BM_mesh_decimate_dissolve_ex(), BMO_SLOT_AS_BUFFER, BMO_slot_bool_get(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_float_get(), BMO_slot_get(), BMO_slot_int_get(), FACE_NEW, BMOpSlot::len, M_PI_2, min_ff(), BMOperator::slots_in, and BMOperator::slots_out.
| void bmo_dissolve_verts_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 691 of file bmo_dissolve.cc.
References bm, BM_DISK_EDGE_NEXT, BM_edge_is_boundary(), BM_edge_is_wire(), BM_edge_kill(), BM_edge_loop_pair(), BM_EDGES_OF_MESH, BM_EDGES_OF_VERT, bm_face_split(), BM_faces_join_pair(), BM_ITER_ELEM, BM_ITER_MESH_MUTABLE, BM_LOOPS_OF_VERT, BM_VERT, bm_vert_collapse_edge_and_merge(), BM_vert_is_edge_pair(), BM_vert_kill(), BM_VERTS_OF_MESH, BMO_edge_flag_enable, BMO_edge_flag_test, BMO_ITER, BMO_slot_bool_get(), BMO_vert_flag_enable, BMO_vert_flag_test, BMLoop::e, e, EDGE_ISGC, l_b, BMLoop::next, BMOperator::slots_in, BMLoop::v, v, VERT_ISGC, VERT_MARK, VERT_MARK_PAIR, and VERT_MARK_TEAR.
| void bmo_duplicate_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Duplicate Operator
Duplicates verts, edges and faces of a mesh.
INPUT SLOTS:
BMOP_DUPE_VINPUT: Buffer containing pointers to mesh vertices to be duplicated BMOP_DUPE_EINPUT: Buffer containing pointers to mesh edges to be duplicated BMOP_DUPE_FINPUT: Buffer containing pointers to mesh faces to be duplicated
OUTPUT SLOTS:
BMOP_DUPE_VORIGINAL: Buffer containing pointers to the original mesh vertices BMOP_DUPE_EORIGINAL: Buffer containing pointers to the original mesh edges BMOP_DUPE_FORIGINAL: Buffer containing pointers to the original mesh faces BMOP_DUPE_VNEW: Buffer containing pointers to the new mesh vertices BMOP_DUPE_ENEW: Buffer containing pointers to the new mesh edges BMOP_DUPE_FNEW: Buffer containing pointers to the new mesh faces
Definition at line 373 of file bmo_dupe.cc.
References bm, BM_ALL_NOLOOP, bmo_mesh_copy(), BMO_slot_buffer_flag_enable(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_copy, BMO_slot_ptr_get(), DUPE_INPUT, DUPE_NEW, BMOperator::slots_in, and BMOperator::slots_out.
| void bmo_edgeloop_fill_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 21 of file bmo_fill_edgeloop.cc.
References BLI_assert, bm, BM_CREATE_NOP, BM_EDGE, BM_edge_other_vert(), BM_EDGES_OF_VERT, BM_elem_flag_enable, BM_ELEM_SMOOTH, BM_FACE, BM_face_create_ngon_verts(), BM_face_exists(), BM_ITER_ELEM, BM_VERTS_OF_EDGE, BMO_edge_flag_enable, BMO_edge_flag_test, BMO_face_flag_enable, BMO_ITER, BMO_iter_elem_count_flag(), BMO_slot_bool_get(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_buffer_len(), BMO_slot_int_get(), BMO_vert_flag_disable, BMO_vert_flag_enable, BMO_vert_flag_test, e, EDGE_MARK, ELE_OUT, i, BMFace::mat_nr, MEM_freeN(), MEM_malloc_arrayN(), BMOperator::slots_in, BMOperator::slots_out, v, VERT_USED, and verts.
| void bmo_edgenet_fill_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 27 of file bmo_edgenet.cc.
References bm, BM_EDGE, BM_elem_flag_enable, BM_ELEM_SMOOTH, BM_ELEM_TAG, BM_FACE, BM_face_normal_update(), BM_mesh_edgenet(), BM_mesh_elem_hflag_disable_all(), BMO_ITER, BMO_op_callf(), BMO_op_exec(), BMO_op_finish(), BMO_op_initf(), BMO_slot_bool_get(), BMO_slot_buffer_from_enabled_hflag(), BMO_slot_buffer_hflag_enable(), BMO_slot_buffer_len(), BMO_slot_int_get(), BMOperator::flag, BMFace::mat_nr, BMOperator::slots_in, and BMOperator::slots_out.
| void bmo_edgenet_prepare_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 96 of file bmo_edgenet.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), bm, BM_CREATE_NO_DOUBLE, BM_EDGE, BM_edge_create(), BM_edge_share_vert_check(), BM_EDGES_OF_VERT, BM_vert_in_edge(), BMO_edge_flag_enable, BMO_edge_flag_test, BMO_ITER, BMO_iter_elem_count_flag(), BMO_slot_buffer_flag_enable(), BMO_slot_buffer_from_enabled_flag(), blender::Vector< T, InlineBufferCapacity, Allocator >::clear(), BMVert::co, count, dot_v3v3(), e, EDGE_MARK, edge_next(), EDGE_VIS, ELE_NEW, blender::Vector< T, InlineBufferCapacity, Allocator >::first(), i, blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), blender::Vector< T, InlineBufferCapacity, Allocator >::last(), normal_tri_v3(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), BMOperator::slots_in, BMOperator::slots_out, and v2.
| void bmo_extrude_discrete_faces_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 40 of file bmo_extrude.cc.
References BLI_ghash_free(), BLI_ghash_lookup(), bm, BM_CREATE_NOP, BM_elem_attrs_copy(), BM_FACE, BM_face_copy(), BM_face_create_quad_tri(), BM_FACE_FIRST_LOOP, BM_select_history_map_create(), BMO_face_flag_enable, BMO_ITER, BMO_op_callf(), BMO_slot_bool_get(), BMO_slot_buffer_from_enabled_flag(), DEL_ONLYFACES, BMLoop::e, BMEditSelection::ele, EXT_DEL, EXT_KEEP, BMOperator::flag, BMLoop::next, BMOperator::slots_in, BMOperator::slots_out, and BMLoop::v.
| void bmo_extrude_edge_only_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 165 of file bmo_extrude.cc.
References bm, BM_ALL_NOLOOP, BM_CREATE_NOP, BM_EDGE, bm_extrude_copy_face_loop_attributes(), bm_extrude_disable_skin_root(), BM_face_create_verts(), BM_VERT, BMO_edge_flag_enable, BMO_edge_flag_test, BMO_face_flag_enable, BMO_ITER, BMO_iter_map_value_ptr(), BMO_iter_new(), BMO_iter_step(), BMO_op_exec(), BMO_op_finish(), BMO_op_initf(), BMO_slot_bool_get(), BMO_slot_buffer_from_enabled_flag(), BMO_vert_flag_enable, CD_MVERT_SKIN, CustomData_has_layer(), e, EXT_INPUT, EXT_KEEP, BMOperator::flag, BMOperator::slots_in, BMOperator::slots_out, v, BMEdge::v1, and BMEdge::v2.
| void bmo_extrude_face_region_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 317 of file bmo_extrude.cc.
References add_v3_v3(), BLI_assert, bm, BM_CREATE_NO_DOUBLE, BM_CREATE_NOP, BM_DISK_EDGE_NEXT, BM_EDGE, BM_edge_collapse(), BM_edge_create(), BM_edge_exists(), BM_edge_is_boundary(), BM_edge_is_wire(), BM_edge_kill(), BM_EDGES_OF_MESH, BM_EDGES_OF_VERT, BM_elem_flag_disable, BM_elem_flag_enable, bm_extrude_copy_face_loop_attributes(), bm_extrude_disable_skin_root(), bm_extrude_region_edge_flag(), BM_FACE, BM_face_create(), BM_face_create_verts(), BM_face_normal_flip(), BM_FACES_OF_EDGE, BM_FACES_OF_MESH, BM_FACES_OF_VERT, BM_ITER_ELEM, BM_ITER_MESH, BM_VERT, BM_vert_is_edge_pair(), BM_vert_kill(), BM_VERTS_OF_MESH, bmesh_kernel_join_face_kill_edge(), BMO_edge_flag_enable, BMO_edge_flag_test, BMO_elem_flag_enable, BMO_elem_flag_test, BMO_face_flag_enable, BMO_face_flag_test, BMO_ITER, BMO_iter_map_value_ptr(), BMO_iter_new(), BMO_iter_step(), BMO_op_exec(), BMO_op_finish(), BMO_op_initf(), BMO_slot_bool_get(), BMO_slot_buffer_flag_enable(), BMO_slot_copy, BMO_slot_get(), BMO_slot_map_len(), BMO_vert_flag_enable, CD_MVERT_SKIN, CustomData_has_layer(), DEL_ONLYTAGGED, dot_v3v3(), BMVert::e, e, EXT_DEL, EXT_INPUT, EXT_TAG, fabs(), BMOperator::flag, i, BMEdge::l, MEM_freeN(), MEM_mallocN(), BMFace::no, normalize_v3(), BMOperator::slots_in, BMOperator::slots_out, BMLoop::v, v, BMEdge::v1, BMEdge::v2, v2, and zero_v3().
| void bmo_extrude_vert_indiv_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 234 of file bmo_extrude.cc.
References BLI_ghash_free(), BLI_ghash_lookup(), bm, BM_CREATE_NOP, BM_EDGE, BM_edge_create(), bm_extrude_disable_skin_root(), BM_select_history_map_create(), BM_VERT, BM_vert_create(), BMO_edge_flag_enable, BMO_iter_new(), BMO_iter_step(), BMO_slot_bool_get(), BMO_slot_buffer_from_enabled_flag(), BMO_vert_flag_enable, CD_MVERT_SKIN, CustomData_has_layer(), e, BMEditSelection::ele, EXT_KEEP, BMOperator::slots_in, BMOperator::slots_out, and v.
| void bmo_face_attribute_fill_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 136 of file bmo_fill_attribute.cc.
References bm, BM_ELEM_TAG, BM_FACE, BM_mesh_elem_hflag_disable_all(), bmesh_face_attribute_fill(), BMO_slot_bool_get(), BMO_slot_buffer_from_enabled_hflag(), BMO_slot_buffer_hflag_enable(), BMO_slot_buffer_len(), BMOperator::slots_in, and BMOperator::slots_out.
| void bmo_find_doubles_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 906 of file bmo_removedoubles.cc.
References bm, bmesh_find_doubles_common(), BMO_slot_get(), and BMOperator::slots_out.
| void bmo_flip_quad_tessellation_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 152 of file bmo_utils.cc.
References bm, BM_FACE, BM_LOOP, BMO_ITER, BMFace::l_first, BMFace::len, BMLoop::next, and BMOperator::slots_in.
| void bmo_grid_fill_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 591 of file bmo_fill_grid.cc.
References BLI_assert, BLI_gset_free(), BLI_gset_ptr_new(), BLI_gsetIterator_getKey(), BLI_listbase_is_empty(), bm, BM_EDGE, BM_edge_collapse(), bm_edge_test_cb(), bm_edge_test_rail_cb(), BM_edgeloop_expand(), bm_edgeloop_flag_set(), BM_edgeloop_flip(), BM_edgeloop_is_closed(), BM_edgeloop_length_get(), BM_edgeloop_overlap_check(), BM_edgeloop_verts_get(), BM_ELEM_HIDDEN, BM_FACE, bm_grid_fill(), BM_mesh_edgeloops_find(), BM_mesh_edgeloops_find_path(), BM_mesh_edgeloops_free(), BMO_ERROR_CANCEL, BMO_error_raise(), BMO_slot_bool_get(), BMO_slot_buffer_flag_enable(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_int_get(), count, data, e, EDGE_MARK, FACE_OUT, ListBase::first, GSET_ITER, i, ListBase::last, BMOperator::slots_in, and BMOperator::slots_out.
| void bmo_holes_fill_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 16 of file bmo_fill_holes.cc.
References bm, BM_EDGE, BM_ELEM_TAG, BM_FACE, BM_face_kill(), BM_face_normal_update(), BM_mesh_edgenet(), BM_mesh_elem_hflag_disable_all(), BMO_ITER, BMO_op_callf(), BMO_op_exec(), BMO_op_finish(), BMO_op_initf(), BMO_slot_buffer_from_enabled_hflag(), BMO_slot_buffer_hflag_enable(), BMO_slot_buffer_len(), BMO_slot_int_get(), BMOperator::flag, BMFace::len, BMOperator::slots_in, and BMOperator::slots_out.
| void bmo_inset_individual_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Individual Face Inset. Find all tagged faces (f), duplicate edges around faces, inset verts of created edges, create new faces between old and new edges, fill face between connected new edges, kill old face (f).
Definition at line 412 of file bmo_inset.cc.
References BLI_memarena_clear(), BLI_memarena_free(), BLI_memarena_new(), BLI_MEMARENA_STD_BUFSIZE, bm, BM_ELEM_TAG, BM_FACE, BM_mesh_elem_hflag_disable_all(), bmo_face_inset_individual(), BMO_ITER, BMO_slot_bool_get(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_buffer_hflag_enable(), BMO_slot_float_get(), ELE_NEW, BMOperator::slots_in, and BMOperator::slots_out.
| void bmo_inset_region_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
This case where only one edge attached to #v_split is used. i.e. the face to inset is on a boundary.
We want the inset to align flush with the
boundary edge, not the normal of the interior
<--- edge which would give an unsightly bump.
--+-------------------------+---------------+--
|^v_other ^e_other /^v_split |
| / |
| / |
| / <- tag split edge |
| / |
| / |
| / |
--+-----------------+-----------------------+--
| |
| |
Loops vars from newly created face (face_a/b)
l_a->e & l_b->prev->e
+------------------------------------+
|\ l_a l_b /|
| \ l_a->prev->e l_b->e / |
| \ l_a->prev l_b->next / |
| +----------------------------+ |
| |l_a_other ^ l_b_other| |
| | l_b->next->e &... | |
| | l_a->prev->prev->e | |
| | (inset face) | |
| +----------------------------+ |
| / \ |
| / \ |
|/ |
+------------------------------------+
Definition at line 663 of file bmo_inset.cc.
References add_v3_v3(), add_v3_v3v3(), InterpFace::axis_mat, BLI_assert, BLI_ghash_free(), BLI_ghash_ptr_new(), BLI_memarena_alloc(), BLI_memarena_free(), BLI_memarena_new(), BLI_MEMARENA_STD_BUFSIZE, InterpFace::blocks_l, InterpFace::blocks_v, bm, BM_CREATE_NOP, BM_EDGE, BM_edge_calc_face_tangent(), BM_edge_calc_length(), BM_edge_create(), bm_edge_info_average_length_with_fallback(), BM_edge_is_boundary(), BM_edge_is_manifold(), bm_edge_is_mixed_face_tag(), BM_edge_ordered_verts_ex(), BM_edge_other_loop(), BM_edge_other_vert(), BM_EDGES_OF_MESH, BM_EDGES_OF_VERT, BM_elem_attrs_copy(), BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_elem_index_get, BM_elem_index_set, BM_ELEM_TAG, BM_FACE, BM_face_copy_shared(), BM_face_create_verts(), BM_FACE_FIRST_LOOP, BM_face_interp_from_face_ex(), BM_FACES_OF_VERT, bm_interp_face_free(), bm_interp_face_store(), BM_ITER_ELEM, BM_ITER_MESH, BM_ITER_MESH_INDEX, bm_loop_customdata_merge(), BM_loop_other_vert_loop(), BM_mesh_elem_hflag_disable_all(), BM_mesh_elem_hflag_enable_all(), BM_VERT, BM_vert_calc_shell_factor(), BM_vert_create(), BM_vert_splice(), BM_VERTS_OF_EDGE, BM_VERTS_OF_MESH, bmesh_kernel_edge_separate(), bmesh_kernel_vert_separate(), BMO_face_flag_enable, BMO_ITER, BMO_slot_bool_get(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_buffer_hflag_disable(), BMO_slot_buffer_hflag_enable(), BMO_slot_float_get(), BMVert::co, compare_v3v3(), copy_v3_v3(), InterpFace::cos_2d, cross_v3_v3v3(), CustomData_bmesh_copy_block(), CustomData_bmesh_free_block_data(), CustomData_has_math(), BMHeader::data, dot_v3v3(), BMLoop::e, BMVert::e, e, SplitEdgeInfo::e_new, SplitEdgeInfo::e_old, ELE_NEW, BMLoop::f, InterpFace::f, float, BMLoop::head, i, BMEdge::l, l, SplitEdgeInfo::l, l_b, len_squared_v3(), len_squared_v3v3(), length(), SplitEdgeInfo::length, madd_v3_v3fl(), madd_v3_v3v3fl(), MEM_calloc_arrayN(), MEM_callocN(), MEM_freeN(), MEM_malloc_arrayN(), mid_v3_v3v3(), mul_v3_fl(), negate_v3(), BMLoop::next, BMFace::no, BMVert::no, SplitEdgeInfo::no, normalize_v3(), BMLoop::prev, shell_v3v3_mid_normalized_to_dist(), shell_v3v3_normalized_to_dist(), BMOperator::slots_in, BMOperator::slots_out, sub_v3_v3v3(), BMLoop::v, v, BMEdge::v1, BMEdge::v2, v2, VERT_ORIG_GET, VERT_ORIG_REMOVE, VERT_ORIG_STORE, and zero_v3().
| void bmo_join_triangles_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Given a mesh, convert triangles to quads.
Definition at line 967 of file bmo_join_triangles.cc.
References BLI_assert, BLI_heap_free(), BLI_heap_insert(), BLI_heap_is_empty(), BLI_heap_new(), BLI_heap_pop_min(), BLI_heap_top_value(), bm, bm_edge_delmimit_data_from_op(), BM_edge_face_pair(), bm_edge_is_delimit(), bm_edge_to_quad_verts(), BM_EDGES_OF_MESH, BM_elem_index_set, BM_FACE, BM_face_as_array_vert_quad(), bm_faces_join_pair_by_edge(), BM_FACES_OF_MESH, BM_ITER_MESH, BM_ITER_MESH_INDEX, BMO_face_flag_disable, BMO_face_flag_enable, BMO_face_flag_test, BMO_ITER, BMO_slot_bool_get(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_float_get(), BMO_slot_int_get(), e, JoinEdgesState::edge_queue, JoinEdgesState::edge_queue_nodes, FACE_INPUT, FACE_OUT, i, BMFace::len, maximum_improvement, MEM_freeN(), MEM_malloc_arrayN(), quad_calc_error(), reprioritize_face_neighbors(), JoinEdgesState::select_tris_only, BMOperator::slots_in, BMOperator::slots_out, JoinEdgesState::topo_influnce, and JoinEdgesState::use_topo_influence.
| void bmo_mesh_to_bmesh_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 22 of file bmo_mesh_convert.cc.
References bm, BM_mesh_bm_from_me(), BMO_slot_bool_get(), BMO_slot_ptr_get(), Mesh::key, params, Object::shapenr, BMOperator::slots_in, and Key::totkey.
| void bmo_mirror_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 20 of file bmo_mirror.cc.
References BLI_assert, bm, BM_ALL_NOLOOP, BM_FACE, BM_ITER_ELEM, BM_LOOPS_OF_FACE, BM_VERT, BMO_ITER, BMO_op_callf(), BMO_op_exec(), BMO_op_finish(), BMO_op_init(), BMO_op_initf(), BMO_slot_bool_get(), BMO_slot_buffer_flag_enable(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_float_get(), BMO_slot_get(), BMO_slot_int_get(), BMO_slot_map_elem_insert(), CD_PROP_FLOAT2, ceilf, CustomData_bmesh_get_n(), CustomData_number_of_layers(), ELE_NEW, fabsf, BMOperator::flag, fmodf, i, l, BMOperator::slots_in, BMOperator::slots_out, and v.
| void bmo_object_load_bmesh_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 38 of file bmo_mesh_convert.cc.
References bm, BMO_op_callf(), BMO_slot_ptr_get(), Object::data, BMOperator::flag, and BMOperator::slots_in.
| void bmo_offset_edgeloops_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 65 of file bmo_offset_edgeloops.cc.
References BLI_array_alloca, BLI_assert, bm, BM_EDGE, BM_edge_other_vert(), BM_edge_split(), BM_EDGES_OF_VERT, BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_elem_index_get, BM_ELEM_TAG, BM_FACE, BM_face_split(), bm_face_split_walk_back(), BM_ITER_ELEM, BM_LOOPS_OF_EDGE, BM_LOOPS_OF_VERT, BM_mesh_elem_hflag_disable_all(), BM_mesh_elem_index_ensure(), BM_VERT, BM_vert_is_edge_pair(), bmesh_kernel_join_edge_kill_vert(), BMO_edge_flag_enable, BMO_ITER, BMO_slot_bool_get(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_buffer_len(), BMO_vert_flag_enable, BMO_vert_flag_test, CLAMP_MIN, BMLoop::e, BMVert::e, e, ELE_NEW, ELE_VERT_ENDPOINT, BMLoop::f, flag, i, l, MEM_freeN(), MEM_malloc_arrayN(), BMLoop::next, OFFSET, BMOperator::slots_in, BMOperator::slots_out, STACK_DECLARE, STACK_INIT, STACK_POP, STACK_PUSH, STACK_REMOVE, STACK_SIZE, UNLIKELY, UNUSED_VARS_NDEBUG, BMLoop::v, v, and verts.
| void bmo_planar_faces_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 29 of file bmo_planar_faces.cc.
References BLI_assert, BLI_ghash_clear(), BLI_ghash_ensure_p(), BLI_ghash_free(), BLI_ghash_ptr_new_ex(), BLI_ghashIterator_getKey(), BLI_ghashIterator_getValue(), BLI_mempool_calloc(), BLI_mempool_clear(), BLI_mempool_create(), BLI_mempool_destroy(), BLI_MEMPOOL_NOP, bm, BM_FACE, BM_face_calc_center_median_weighted(), BM_FACE_FIRST_LOOP, BM_face_normal_update(), BM_FACES_OF_VERT, BM_ITER_ELEM, BMO_face_flag_disable, BMO_face_flag_enable, BMO_face_flag_test, BMO_ITER_INDEX, BMO_slot_buffer_len(), BMO_slot_float_get(), BMO_slot_int_get(), BMO_vert_flag_enable, BMO_vert_flag_test, closest_to_plane_normalized_v3(), BMVert::co, VertAccum::co, VertAccum::co_tot, ELE_FACE_ADJUST, ELE_VERT_ADJUST, eps, float, GHASH_ITER, i, interp_v3_v3v3(), BMFace::len, len_squared_v3v3(), MEM_freeN(), MEM_mallocN(), BMLoop::next, BMFace::no, plane_from_point_normal_v3(), BMOperator::slots_in, square_f(), BMLoop::v, and v.
| void bmo_pointmerge_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 457 of file bmo_removedoubles.cc.
References bm, BM_VERT, BMO_ITER, BMO_op_exec(), BMO_op_finish(), BMO_op_init(), BMO_slot_get(), BMO_slot_map_elem_insert(), BMO_slot_vec_get(), BMVert::co, copy_v3_v3(), BMOperator::flag, BMOperator::slots_in, and v.
| void bmo_pointmerge_facedata_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 366 of file bmo_removedoubles.cc.
References bm, BM_ELEM_CD_GET_VOID_P, BM_ITER_ELEM, BM_LOOPS_OF_VERT, BM_VERT, BM_vert_face_count(), BMO_ITER, BMO_slot_buffer_get_single(), BMO_slot_get(), CustomData_bmesh_copy_block(), CustomData_data_add(), CustomData_data_multiply(), CustomData_layer_has_math(), BMHeader::data, BMLoop::head, i, l, BMOperator::slots_in, and v.
| void bmo_poke_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Pokes a face
Splits a face into a triangle fan. Iterate over all selected faces, create a new center vertex and create triangles between original face edges and new center vertex.
Definition at line 30 of file bmo_poke.cc.
References BLI_assert, bm, BM_CREATE_NOP, BM_elem_attrs_copy(), BM_FACE, BM_face_calc_center_bounds(), BM_face_calc_center_median(), BM_face_calc_center_median_weighted(), BM_face_create_quad_tri(), BM_FACE_FIRST_LOOP, BM_face_interp_multires_ex(), BM_face_kill(), BM_loop_interp_from_face(), BM_VERT, BM_vert_create(), BMO_face_flag_enable, BMO_ITER, BMO_slot_bool_get(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_float_get(), BMO_slot_int_get(), BMO_vert_flag_enable, BMOP_POKE_BOUNDS, BMOP_POKE_MEDIAN, BMOP_POKE_MEDIAN_WEIGHTED, CD_MDISPS, BMVert::co, copy_v3_v3(), CustomData_get_offset(), ELE_NEW, float, i, BMFace::len, len_v3v3(), madd_v3_v3fl(), BMLoop::next, BMFace::no, BMVert::no, BMLoop::prev, BMOperator::slots_in, BMOperator::slots_out, and BMLoop::v.
| void bmo_recalc_face_normals_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Put normal to the outside, and set the first direction flags in edges
then check the object, and set directions / direction-flags: but only for edges with 1 or 2 faces this is in fact the 'select connected'
in case all faces were not done: start over with 'find the ultimate ...'.
Definition at line 256 of file bmo_normals.cc.
References bm, BM_EDGE, BM_FACE, BM_face_at_index(), BM_mesh_calc_face_groups(), BM_mesh_elem_table_ensure(), BMO_face_flag_test_bool, bmo_recalc_face_normals_array(), bmo_recalc_normal_loop_filter_cb(), BMO_slot_buffer_flag_enable(), FACE_FLAG, i, MEM_freeN(), MEM_malloc_arrayN(), MEM_mallocN(), and BMOperator::slots_in.
| void bmo_region_extend_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 382 of file bmo_utils.cc.
References bm, BM_ALL_NOLOOP, bmo_region_extend_contract(), bmo_region_extend_expand(), BMO_slot_bool_get(), BMO_slot_buffer_flag_enable(), BMO_slot_buffer_from_enabled_flag(), SEL_FLAG, SEL_ORIG, BMOperator::slots_in, and BMOperator::slots_out.
| void bmo_remove_doubles_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 894 of file bmo_removedoubles.cc.
References bm, bmesh_find_doubles_common(), BMO_op_exec(), BMO_op_finish(), BMO_op_init(), BMO_slot_get(), BMOperator::flag, and BMOperator::slots_in.
| void bmo_reverse_colors_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 703 of file bmo_utils.cc.
References bm, BM_FACE, bm_face_reverse_colors(), BMO_ERROR_CANCEL, BMO_error_raise(), bmo_get_loop_color_ref(), BMO_ITER, BMO_slot_int_get(), and BMOperator::slots_in.
| void bmo_reverse_faces_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 137 of file bmo_utils.cc.
References bm, BM_FACE, BM_face_normal_flip_ex(), BMO_ITER, BMO_slot_bool_get(), CD_MDISPS, CustomData_get_offset(), and BMOperator::slots_in.
| void bmo_reverse_uvs_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 564 of file bmo_utils.cc.
References bm, BM_FACE, bm_face_reverse_uvs(), BMO_ITER, CD_PROP_FLOAT2, CustomData_get_offset(), and BMOperator::slots_in.
| void bmo_rotate_colors_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 600 of file bmo_utils.cc.
References bm, BM_ELEM_CD_GET_VOID_P, BM_FACE, BM_ITER_ELEM, BM_LOOPS_OF_FACE, BMO_ERROR_CANCEL, BMO_error_raise(), bmo_get_loop_color_ref(), BMO_ITER, BMO_slot_bool_get(), BMO_slot_int_get(), CD_PROP_COLOR, size(), and BMOperator::slots_in.
| void bmo_rotate_edges_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 231 of file bmo_rotate_edges.cc.
References ARRAY_SIZE, bm, BM_EDGE, BM_edge_face_pair(), BM_EDGEROT_CHECK_DEGENERATE, BM_EDGEROT_CHECK_EXISTS, bm_rotate_edges_shared(), bm_rotate_edges_simple(), BMO_face_flag_enable, BMO_face_flag_test, BMO_ITER, BMO_slot_bool_get(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_buffer_len(), e, EDGE_OUT, FACE_MARK, i, BMOperator::slots_in, and BMOperator::slots_out.
| void bmo_rotate_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 116 of file bmo_utils.cc.
References bm, BMO_op_callf(), BMO_slot_mat4_get(), BMO_slot_vec_get(), BMOperator::flag, BMOperator::slots_in, and transform_pivot_set_m4().
| void bmo_rotate_uvs_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 478 of file bmo_utils.cc.
References bm, BM_ELEM_CD_GET_FLOAT_P, BM_FACE, BM_ITER_ELEM, BM_LOOPS_OF_FACE, BMO_ITER, BMO_slot_bool_get(), CD_PROP_FLOAT2, copy_v2_v2(), CustomData_get_offset(), and BMOperator::slots_in.
| void bmo_scale_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 93 of file bmo_utils.cc.
References bm, BMO_op_callf(), BMO_slot_vec_get(), BMOperator::flag, BMOperator::slots_in, and unit_m3().
| void bmo_smooth_laplacian_vert_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 416 of file bmo_smooth_laplacian.cc.
References bm, BM_elem_index_get, BM_mesh_elem_index_ensure(), BM_VERT, BMO_ITER, BMO_slot_bool_get(), BMO_slot_float_get(), LaplacianSystem::context, delete_laplacian_system(), EIG_linear_least_squares_solver_new(), EIG_linear_solver_matrix_add(), EIG_linear_solver_right_hand_side_add(), EIG_linear_solver_solve(), EIG_linear_solver_variable_lock(), EIG_linear_solver_variable_set(), EIG_linear_solver_variable_unlock(), fill_laplacian_matrix(), i, init_laplacian_matrix(), init_laplacian_system(), memset_laplacian_system(), BMOperator::slots_in, v, validate_solution(), vert_is_boundary(), and w().
| void bmo_smooth_vert_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 400 of file bmo_utils.cc.
References add_v3_v3v3(), BM_edge_other_vert(), BM_EDGES_OF_VERT, BM_ITER_ELEM, BM_VERT, BMO_ITER, BMO_slot_bool_get(), BMO_slot_buffer_len(), BMO_slot_float_get(), BMVert::co, copy_v3_v3(), cos, e, fabsf, float, i, interp_v3_v3v3(), MEM_freeN(), MEM_mallocN(), mul_v3_fl(), BMOperator::slots_in, v, and zero_v3().
| void bmo_solidify_face_region_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 834 of file bmo_extrude.cc.
References bm, BM_FACE, BMO_op_exec(), BMO_op_finish(), BMO_op_init(), BMO_op_initf(), BMO_slot_bool_set(), BMO_slot_buffer_flag_enable(), BMO_slot_copy, BMO_slot_float_get(), calc_solidify_normals(), FACE_MARK, BMOperator::flag, BMOperator::slots_in, BMOperator::slots_out, and solidify_add_thickness().
| void bmo_spin_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Spin Operator
Extrude or duplicate geometry a number of times, rotating and possibly translating after each step
Definition at line 550 of file bmo_dupe.cc.
References axis_angle_normalized_to_mat3(), bm, BM_EDGE, BM_edge_find_double(), BM_edge_splice(), BM_FACE, BM_face_find_double(), BM_face_kill(), BM_ITER_MESH_INDEX, BM_VERT, BM_vert_splice(), BM_VERTS_OF_MESH, BMO_op_callf(), BMO_op_exec(), BMO_op_finish(), BMO_op_initf(), BMO_slot_bool_get(), BMO_slot_copy, BMO_slot_float_get(), BMO_slot_get(), BMO_slot_int_get(), BMO_slot_vec_get(), BMOpSlot::buf, BMOpSlot::data, BMOperator::flag, i, is_zero_v3(), BMOpSlot::len, MEM_freeN(), MEM_malloc_arrayN(), mul_m3_v3(), BMVert::no, normalize_v3(), BMOperator::slots_in, BMOperator::slots_out, and v.
| void bmo_split_edges_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 16 of file bmo_split_edges.cc.
References bm, BM_EDGE, BM_ELEM_TAG, BM_mesh_edgesplit(), BM_mesh_elem_hflag_disable_all(), BM_VERT, BMO_slot_bool_get(), BMO_slot_buffer_from_enabled_hflag(), BMO_slot_buffer_hflag_enable(), BMOperator::slots_in, and BMOperator::slots_out.
| void bmo_split_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Split Operator
Duplicates verts, edges and faces of a mesh but also deletes the originals.
INPUT SLOTS:
BMOP_DUPE_VINPUT: Buffer containing pointers to mesh vertices to be split BMOP_DUPE_EINPUT: Buffer containing pointers to mesh edges to be split BMOP_DUPE_FINPUT: Buffer containing pointers to mesh faces to be split
OUTPUT SLOTS:
BMOP_DUPE_VOUTPUT: Buffer containing pointers to the split mesh vertices BMOP_DUPE_EOUTPUT: Buffer containing pointers to the split mesh edges BMOP_DUPE_FOUTPUT: Buffer containing pointers to the split mesh faces
Definition at line 436 of file bmo_dupe.cc.
References bm, BM_ALL_NOLOOP, BM_EDGES_OF_MESH, BM_EDGES_OF_VERT, BM_FACES_OF_EDGE, BM_ITER_ELEM, BM_ITER_MESH, BM_VERTS_OF_MESH, BMO_edge_flag_enable, BMO_edge_flag_test, BMO_elem_flag_test, BMO_face_flag_test, BMO_ITER, BMO_iter_map_value_ptr(), BMO_mesh_delete_oflag_context(), BMO_op_exec(), BMO_op_finish(), BMO_op_init(), BMO_slot_bool_get(), BMO_slot_buffer_flag_enable(), BMO_slot_copy, BMO_slot_get(), BMO_slot_map_elem_insert(), BMO_vert_flag_enable, DEL_FACES, e, BMOperator::flag, BMOperator::slots_in, BMOperator::slots_out, SPLIT_INPUT, and v.
| void bmo_subdivide_edgering_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 1095 of file bmo_subdivide_edgering.cc.
References BLI_array_alloca, BLI_assert, BLI_gset_free(), BLI_gset_len(), BLI_gsetIterator_getKey(), bm, BM_EDGE, bm_edge_rim_test_cb(), bm_edgeloop_check_overlap_all(), bm_edgering_pair_calc(), bm_edgering_pair_ringsubd(), bm_edgering_pair_store_create(), bm_edgering_pair_store_free(), BM_ELEM_TAG, BM_FACE, BM_FACES_OF_EDGE, BM_ITER_ELEM, BM_LOOPS_OF_FACE, BM_mesh_edgeloops_find(), BM_mesh_edgeloops_free(), BM_mesh_elem_hflag_disable_all(), BM_VERT, bm_verts_tag_count(), bmesh_subd_falloff_calc(), BMO_edge_flag_enable, BMO_edge_flag_test, BMO_ERROR_CANCEL, BMO_error_raise(), BMO_face_flag_enable, BMO_face_flag_test, BMO_ITER, BMO_slot_buffer_flag_enable(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_float_get(), BMO_slot_int_get(), count, e, EDGE_RIM, EDGE_RING, fabsf, FACE_OUT, GHashPair::first, ListBase::first, float, GSET_ITER_INDEX, i, l, ListBase::last, BMFace::len, MEM_freeN(), GHashPair::second, BMOperator::slots_in, and BMOperator::slots_out.
| void bmo_subdivide_edges_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 910 of file bmo_subdivide.cc.
References b, BLI_assert, BLI_rng_free(), BLI_rng_get_float(), BLI_rng_new_srandom(), BLI_stack_discard(), BLI_stack_free(), BLI_stack_is_empty(), BLI_stack_new, BLI_stack_peek(), BLI_stack_push_r(), bm, BM_ALL_NOLOOP, BM_CHECK_ELEMENT, BM_data_layer_add(), BM_data_layer_free_n(), BM_EDGE, BM_edge_exists(), BM_edge_share_vert_check(), BM_ELEM_CD_GET_VOID_P, BM_FACE, BM_face_split(), BM_FACES_OF_MESH, BM_ITER_ELEM, BM_ITER_ELEM_INDEX, BM_ITER_MESH, BM_LOOPS_OF_FACE, BM_LOOPS_OF_VERT, bm_subdivide_multicut(), BM_vert_in_face(), BM_VERTS_OF_MESH, BMO_edge_flag_enable, BMO_edge_flag_test, BMO_face_flag_enable, BMO_face_flag_test, BMO_slot_bool_get(), BMO_slot_buffer_flag_enable(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_float_get(), BMO_slot_get(), BMO_slot_int_get(), BMO_slot_map_to_flag(), bmo_subd_init_shape_info(), BMO_vert_flag_test, BMOpSlot::buf, CD_SHAPEKEY, BMVert::co, SubDPattern::connectexec, copy_v3_v3(), BMOpSlot::data, dot_v3v3(), BMLoop::e, EDGE_PERCENT, ELE_INNER, ELE_SPLIT, BMLoop::f, fabsf, SubDFaceData::face, FACE_CUSTOMFILL, FLT_FACE_SPLIT_EPSILON, i, l, BMFace::len, BMOpSlot::len, SubDPattern::len, BMLoop::next, normalize_v3(), params, SubDFaceData::pat, patterns, PATTERNS_TOT, BMLoop::prev, quad_1edge, quad_2edge_fan, quad_2edge_innervert, quad_2edge_path, quad_4edge, blender::Vector< T, InlineBufferCapacity, Allocator >::reinitialize(), seed, SubDPattern::seledges, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), BMOperator::slots_in, BMOperator::slots_out, SubDFaceData::start, sub_v3_v3v3(), SUBD_CORNER_FAN, SUBD_CORNER_INNERVERT, SUBD_CORNER_PATH, SUBD_SPLIT, SubDFaceData::totedgesel, tri_1edge, tri_3edge, BMLoop::v, v, BMEdge::v1, BMEdge::v2, and verts.
| void bmo_symmetrize_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 18 of file bmo_symmetrize.cc.
References bm, BM_ALL_NOLOOP, BM_VERT, BMO_ITER, BMO_op_callf(), BMO_op_exec(), BMO_op_finish(), BMO_op_init(), BMO_op_initf(), BMO_slot_buffer_flag_enable(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_float_get(), BMO_slot_get(), BMO_slot_int_get(), BMO_slot_map_elem_insert(), copy_v3_fl(), ELE_OUT, BMOperator::flag, BMOperator::slots_in, BMOperator::slots_out, and v.
| void bmo_transform_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 40 of file bmo_utils.cc.
References bm, BM_ELEM_CD_GET_VOID_P, BM_VERT, BMO_ITER, BMO_slot_bool_get(), BMO_slot_mat4_get(), CD_SHAPEKEY, CustomData_get_offset(), CustomData_number_of_layers(), float, i, invert_m4_m4(), is_zero_m4(), mul_m4_series, mul_m4_v3(), BMOperator::slots_in, and v.
| void bmo_translate_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 72 of file bmo_utils.cc.
References bm, BMO_op_callf(), BMO_slot_vec_get(), copy_v3_v3(), BMOperator::flag, BMOperator::slots_in, and unit_m4().
| void bmo_triangle_fill_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 50 of file bmo_triangulate.cc.
References add_v3_v3(), AT, BLI_assert_msg, BLI_ghash_free(), BLI_ghash_insert(), BLI_ghash_len(), BLI_ghash_lookup(), BLI_ghash_ptr_new_ex(), BLI_scanfill_begin(), BLI_scanfill_calc_ex(), BLI_SCANFILL_CALC_HOLES, BLI_SCANFILL_CALC_LOOSE, BLI_SCANFILL_CALC_POLYS, BLI_scanfill_edge_add(), BLI_scanfill_end(), BLI_scanfill_vert_add(), BLI_sortutil_cmp_float_reverse(), bm, BM_CREATE_NO_DOUBLE, BM_EDGE, BM_edge_exists(), BM_edge_is_boundary(), BM_edge_is_manifold(), BM_edge_kill(), BM_edge_other_vert(), BM_EDGES_OF_MESH, BM_EDGES_OF_VERT, BM_FACE, BM_face_create_quad_tri(), BM_faces_join_pair(), BM_ITER_ELEM, BM_ITER_MESH_MUTABLE, BM_LOOPS_OF_FACE, BMO_edge_flag_enable, BMO_edge_flag_test, BMO_face_flag_enable, BMO_ITER, BMO_op_exec(), BMO_op_finish(), BMO_op_initf(), BMO_slot_bool_get(), BMO_slot_buffer_flag_enable(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_buffer_len(), BMO_slot_vec_get(), copy_v3_v3(), cross_v3_v3v3(), dot_v3v3(), e, EDGE_MARK, ELE_NEW, ScanFillContext::fillfacebase, ScanFillContext::fillvertbase, ListBase::first, BMOperator::flag, i, is_zero_v3(), l, len_squared_v3(), LIKELY, LISTBASE_FOREACH, MEM_freeN(), MEM_malloc_arrayN(), negate_v3(), ScanFillVert::next, normalize_v3(), ScanFillVert::p, BMOperator::slots_in, BMOperator::slots_out, sub_v3_v3v3(), ScanFillVert::tmp, UNLIKELY, UNPACK2, v, and SortNormal::value.
| void bmo_triangulate_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 27 of file bmo_triangulate.cc.
References bm, BM_EDGE, BM_ELEM_TAG, BM_FACE, BM_mesh_elem_hflag_disable_all(), BM_mesh_triangulate(), BMO_slot_buffer_from_enabled_hflag(), BMO_slot_buffer_hflag_enable(), BMO_slot_get(), BMO_slot_int_get(), BMOperator::slots_in, and BMOperator::slots_out.
| void bmo_unsubdivide_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 19 of file bmo_unsubdivide.cc.
References bm, BM_elem_flag_disable, BM_elem_flag_enable, BM_ELEM_TAG, BM_ITER_MESH, BM_mesh_decimate_unsubdivide_ex(), BM_VERTS_OF_MESH, BMO_slot_get(), BMO_slot_int_get(), BMOpSlot::buf, BMOpSlot::data, BMOpSlot::len, max_ii(), BMOperator::slots_in, and v.
| void bmo_weld_verts_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 182 of file bmo_removedoubles.cc.
References add_v3_v3(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BLI_assert, BLI_ghash_ensure_p(), BLI_ghash_free(), BLI_ghash_insert(), BLI_ghash_ptr_new(), BLI_ghashIterator_getKey(), BLI_ghashIterator_getValue(), BLI_listbase_is_empty(), bm, BM_CREATE_NOP, BM_edge_create(), BM_edge_exists(), BM_EDGES_OF_MESH, BM_elem_flag_merge_ex, BM_ELEM_HIDDEN, BM_face_kill(), BM_FACES_OF_MESH, BM_ITER_ELEM, BM_ITER_MESH, BM_LOOPS_OF_FACE, BM_select_history_merge_from_targetmap(), BM_VERTS_OF_MESH, bmesh_face_swap_data(), BMO_edge_flag_enable, BMO_edge_flag_test, BMO_face_flag_disable, BMO_face_flag_enable, BMO_mesh_delete_oflag_context(), BMO_slot_bool_get(), BMO_slot_get(), BMO_vert_flag_enable, BMO_vert_flag_test, BMO_vert_flag_test_bool, BMVert::co, copy_v3_v3(), count, DEL_ONLYTAGGED, e, EDGE_COL, ELE_DEL, GHASH_ITER, l, BMFace::len, LIKELY, mul_v3_fl(), oflags, remdoubles_createface(), remdoubles_splitface(), BMOperator::slots_in, v, and v2.
| void bmo_wireframe_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 19 of file bmo_wireframe.cc.
References bm, BM_EDGE, BM_ELEM_TAG, BM_FACE, BM_mesh_elem_hflag_disable_all(), BM_mesh_wireframe(), BMO_slot_bool_get(), BMO_slot_buffer_from_enabled_hflag(), BMO_slot_buffer_hflag_enable(), BMO_slot_float_get(), MAXMAT, BMOperator::slots_in, and BMOperator::slots_out.