|
Blender V4.3
|
Go to the source code of this file.
| void bmo_average_vert_facedata_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 373 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(), l, CustomData::layers, BMesh::ldata, max, min, CustomDataLayer::offset, BMOperator::slots_in, CustomData::totlayer, CustomDataLayer::type, 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_mallocN, BMOperator::slots_in, BMOperator::slots_out, and VERT_RESTRICT_TAG.
| void bmo_bevel_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 21 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, BMesh::edata, BMOperator::slots_in, BMOperator::slots_out, v, and BMesh::vdata.
| void bmo_bisect_edges_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 1382 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, BMOperator::slots_out, and BMesh::vdata.
| void bmo_bisect_plane_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 27 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(), BMVert::co, 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, BMesh::totvert, 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 441 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 589 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, BMesh::ldata, oflag, BMOperator::slots_in, and CustomData::totlayer.
| 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 186 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, 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 134 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_mallocN, op_sub(), BMesh::selected, BMOperator::slots_in, BMOperator::slots_out, v, and verts.
| void bmo_convex_hull_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
| void bmo_create_circle_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 1238 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, BMesh::ldata, 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 1355 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(), BMLoop::e, FACE_MARK, FACE_NEW, BMOperator::flag, l, BMesh::ldata, MEM_freeN(), MEM_mallocN, mul_m4_v3(), BMLoop::next, BMLoop::prev, sin_cos_from_fraction(), sin_phi(), BMOperator::slots_in, BMOperator::slots_out, BMLoop::v, v2, and VERT_MARK.
| void bmo_create_cube_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 1610 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, float, BMesh::ldata, mul_m4_v3(), quad, BMOperator::slots_in, BMOperator::slots_out, VERT_MARK, verts, and z().
| void bmo_create_grid_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 715 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, BMesh::ldata, 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 955 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, BMVert::co, CustomData_get_offset(), BMLoop::e, EDGE_MARK, BMOperator::flag, icoface, icouvs, icovert, l, BMesh::ldata, 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 1157 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, l, BMesh::ldata, MEM_freeN(), MEM_mallocN, 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 836 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, BMesh::ldata, 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, BMLoop::v, 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 498 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 491 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 242 of file bmo_dissolve.cc.
References BMesh::act_face, bm, BM_EDGE, BM_edge_face_pair(), BM_edge_kill(), BM_edge_loop_pair(), BM_EDGES_OF_MESH, BM_EDGES_OF_VERT, BM_face_find_double(), BM_FACE_FIRST_LOOP, BM_face_kill(), bm_face_split(), BM_faces_join_pair(), BM_ITER_ELEM, BM_ITER_MESH, BM_ITER_MESH_MUTABLE, BM_vert_collapse_edge(), 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_slot_buffer_flag_enable(), BMO_vert_flag_enable, BMO_vert_flag_set, BMO_vert_flag_test, BMLoop::e, BMVert::e, e, EDGE_ISGC, EDGE_TAG, l_b, BMLoop::next, BMOperator::slots_in, BMLoop::v, v, VERT_ISGC, VERT_MARK, and VERT_TAG.
| void bmo_dissolve_faces_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 120 of file bmo_dissolve.cc.
References BMesh::act_face, blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BLI_assert, bm, BM_FACE, BM_faces_join(), BM_ITER_MESH, BM_ITER_MESH_MUTABLE, BM_vert_collapse_edge(), 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, BMVert::e, FACE_MARK, FACE_NEW, FACE_ORIG, FACE_TAG, faces, BMOperator::flag, BMOperator::slots_in, BMOperator::slots_out, BMesh::totface, v, and VERT_MARK.
| void bmo_dissolve_limit_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 461 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 343 of file bmo_dissolve.cc.
References BMesh::act_face, 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_find_double(), BM_face_kill(), bm_face_split(), BM_faces_join_pair(), BM_ITER_ELEM, BM_ITER_MESH_MUTABLE, BM_LOOPS_OF_VERT, BM_VERT, BM_vert_collapse_edge(), 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, BMVert::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, BMFace::mat_nr, MEM_freeN(), MEM_mallocN, BMOperator::slots_in, BMOperator::slots_out, v, VERT_USED, and verts.
| void bmo_edgenet_fill_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 28 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, BMOperator::slots_out, BMesh::totedge, and BMesh::totvert.
| void bmo_edgenet_prepare_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 97 of file bmo_edgenet.cc.
References 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, cross_v3_v3v3(), dot_v3v3(), e, EDGE_MARK, edge_next(), EDGE_VIS, ELE_NEW, blender::Vector< T, InlineBufferCapacity, Allocator >::first(), 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, sub_v3_v3v3(), 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, BMEdge::v2, and BMesh::vdata.
| void bmo_extrude_face_region_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 317 of file bmo_extrude.cc.
References BMesh::act_face, 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, BMEdge::l, MEM_freeN(), MEM_mallocN, BMFace::no, normalize_v3(), BMOperator::slots_in, BMOperator::slots_out, BMLoop::v, v, BMEdge::v1, BMEdge::v2, v2, BMesh::vdata, 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, BMVert::co, CustomData_has_layer(), BMVert::e, e, BMEditSelection::ele, EXT_KEEP, BMOperator::slots_in, BMOperator::slots_out, v, BMEdge::v1, and BMesh::vdata.
| void bmo_face_attribute_fill_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 137 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 695 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 151 of file bmo_utils.cc.
References bm, BM_FACE, BM_LOOP, BMO_ITER, BMesh::elem_index_dirty, BMFace::l_first, BMFace::len, BMLoop::next, and BMOperator::slots_in.
| void bmo_grid_fill_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 592 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, e, EDGE_MARK, FACE_OUT, ListBase::first, GSET_ITER, ListBase::last, BMOperator::slots_in, and BMOperator::slots_out.
| void bmo_holes_fill_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 18 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 410 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 662 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, BMesh::elem_index_dirty, BMLoop::f, InterpFace::f, float, BMLoop::head, BMEdge::l, l, SplitEdgeInfo::l, l_b, BMesh::ldata, len_squared_v3(), len_squared_v3v3(), SplitEdgeInfo::length, madd_v3_v3fl(), madd_v3_v3v3fl(), MEM_callocN, MEM_freeN(), MEM_mallocN, 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(), BMesh::totface, BMesh::totvert, 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 ) |
Definition at line 244 of file bmo_join_triangles.cc.
References DelimitData::angle_face, DelimitData::angle_face__cos, DelimitData::angle_shape, BLI_sortutil_cmp_float(), bm, bm_edge_delimit_cdata(), BM_edge_face_pair(), bm_edge_is_delimit(), bm_edge_to_quad_verts(), BM_EDGES_OF_MESH, BM_FACE, BM_faces_join_pair(), BM_ITER_MESH, BMO_edge_flag_enable, BMO_edge_flag_test, BMO_face_flag_enable, BMO_face_flag_test, BMO_ITER, BMO_slot_bool_get(), BMO_slot_buffer_from_enabled_flag(), BMO_slot_float_get(), DelimitData_CD::cd_offset, CD_PROP_BYTE_COLOR, CD_PROP_FLOAT2, DelimitData::cdata, DelimitData::cdata_len, cosf, SortPtrByFloat::data, DEG2RADF, DelimitData::do_angle_face, DelimitData::do_angle_shape, DelimitData::do_mat, DelimitData::do_seam, DelimitData::do_sharp, e, EDGE_MARK, error(), BMLoop::f, FACE_INPUT, FACE_OUT, l_b, BMesh::ldata, BMFace::len, MEM_freeN(), MEM_mallocN, quad_calc_error(), BMOperator::slots_in, BMOperator::slots_out, SortPtrByFloat::sort_value, and verts.
| 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(), params, Object::shapenr, and BMOperator::slots_in.
| 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, BMVert::co, CustomData_bmesh_get_n(), CustomData_number_of_layers(), BMHeader::data, ELE_NEW, fabsf, BMOperator::flag, fmodf, BMLoop::head, l, BMesh::ldata, 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, l, BMFace::len, MEM_freeN(), MEM_mallocN, BMLoop::next, OFFSET, BMLoop::prev, 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, 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 412 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 321 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, l, CustomData::layers, BMesh::ldata, CustomDataLayer::offset, BMOperator::slots_in, CustomData::totlayer, CustomDataLayer::type, 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, BMesh::ldata, 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, int, MEM_freeN(), MEM_mallocN, BMOperator::slots_in, and BMesh::totface.
| void bmo_region_extend_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 381 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 683 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 708 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 136 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(), BMesh::ldata, and BMOperator::slots_in.
| void bmo_reverse_uvs_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 563 of file bmo_utils.cc.
References bm, BM_FACE, bm_face_reverse_uvs(), BMO_ITER, CD_PROP_FLOAT2, CustomData_get_offset(), BMesh::ldata, and BMOperator::slots_in.
| void bmo_rotate_colors_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 604 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, and BMOperator::slots_in.
| void bmo_rotate_edges_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 229 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, BMOperator::slots_in, and BMOperator::slots_out.
| void bmo_rotate_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 115 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 477 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(), BMesh::ldata, and BMOperator::slots_in.
| void bmo_scale_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 92 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 422 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(), BMVert::co, 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(), init_laplacian_matrix(), init_laplacian_system(), memset_laplacian_system(), LaplacianSystem::min_area, LaplacianSystem::ring_areas, BMOperator::slots_in, BMesh::totedge, BMesh::totface, BMesh::totloop, BMesh::totvert, v, validate_solution(), vert_is_boundary(), LaplacianSystem::vlengths, LaplacianSystem::vweights, w(), and LaplacianSystem::zerola.
| void bmo_smooth_vert_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 399 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, 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 835 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 518 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, is_zero_v3(), BMOpSlot::len, MEM_freeN(), MEM_mallocN, mul_m3_v3(), BMVert::no, normalize_v3(), BMOperator::slots_in, BMOperator::slots_out, steps, BMesh::totvert, and v.
| void bmo_split_edges_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 18 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_face_flag_test, 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_vert_flag_enable, DEL_FACES, e, BMOperator::flag, BMOperator::slots_in, 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, BMLoop::e, e, EDGE_RIM, EDGE_RING, fabsf, FACE_OUT, GHashPair::first, ListBase::first, float, GSET_ITER_INDEX, 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 911 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, l, 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, BMOperator::slots_in, BMOperator::slots_out, smooth(), 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, BMesh::vdata, and verts.
| void bmo_symmetrize_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 19 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, BMVert::co, CustomData_get_offset(), CustomData_number_of_layers(), float, invert_m4_m4(), is_zero_m4(), mul_m4_series, mul_m4_v3(), BMOperator::slots_in, v, and BMesh::vdata.
| void bmo_translate_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 71 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(), 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(), BMVert::co, copy_v3_v3(), cross_v3_v3v3(), dot_v3v3(), BMLoop::e, e, EDGE_MARK, ELE_NEW, ScanFillContext::fillfacebase, ScanFillContext::fillvertbase, ListBase::first, BMOperator::flag, is_zero_v3(), l, len_squared_v3(), LIKELY, LISTBASE_FOREACH, MEM_freeN(), MEM_mallocN, negate_v3(), ScanFillVert::next, BMVert::no, 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 179 of file bmo_removedoubles.cc.
References BMesh::act_face, BLI_assert, BLI_ghash_free(), BLI_ghash_insert(), BLI_ghash_ptr_new(), 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_get(), BMO_vert_flag_enable, BMO_vert_flag_test, BMO_vert_flag_test_bool, DEL_ONLYTAGGED, BMLoop::e, e, EDGE_COL, ELE_DEL, l, BMFace::len, oflags, remdoubles_createface(), remdoubles_splitface(), BMesh::selected, BMOperator::slots_in, BMesh::use_toolflags, BMLoop::v, v, and v2.
| void bmo_wireframe_exec | ( | BMesh * | bm, |
| BMOperator * | op ) |
Definition at line 22 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.