Blender V2.61 - r43446
|
#include <stdlib.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "DNA_material_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_modifier_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "BLI_blenlib.h"
#include "BLI_math.h"
#include "BLI_editVert.h"
#include "BLI_rand.h"
#include "BLI_utildefines.h"
#include "BKE_context.h"
#include "BKE_displist.h"
#include "BKE_depsgraph.h"
#include "BKE_mesh.h"
#include "BKE_material.h"
#include "BKE_paint.h"
#include "BKE_report.h"
#include "BKE_texture.h"
#include "IMB_imbuf_types.h"
#include "IMB_imbuf.h"
#include "RE_render_ext.h"
#include "WM_api.h"
#include "WM_types.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "ED_mesh.h"
#include "ED_screen.h"
#include "ED_view3d.h"
#include "ED_uvedit.h"
#include "BIF_gl.h"
#include "mesh_intern.h"
#include "BLO_sys_types.h"
Go to the source code of this file.
Definition in file editmesh_mods.c.
#define face_table_edge | ( | eed | ) |
{ \ i = eed->tmp.l; \ if (i != -1) { \ if (efa1[i]) { \ if (efa2[i]) { \ /* invalidate, edge has more than two neighbors */ \ eed->tmp.l = -1; \ } \ else { \ efa2[i] = efa; \ } \ } \ else { \ efa1[i] = efa; \ } \ } \ }
Referenced by select_linked_flat_faces(), and select_sharp_edges_exec().
#define face_table_edge | ( | eed | ) |
#define face_tag | ( | efa | ) |
if(efa->v4) efa->tmp.l= efa->e1->tmp.l= efa->e2->tmp.l= efa->e3->tmp.l= efa->e4->tmp.l= 1;\ else efa->tmp.l= efa->e1->tmp.l= efa->e2->tmp.l= efa->e3->tmp.l= 1;
Definition at line 2350 of file editmesh_mods.c.
Referenced by select_linked_limited_invoke().
#define is_edge_delimit_ok | ( | eed | ) | ((eed->tmp.l == 1) && (eed->seam==0)) |
Definition at line 2347 of file editmesh_mods.c.
#define is_face_tag | ( | efa | ) | is_edge_delimit_ok(efa->e1) || is_edge_delimit_ok(efa->e2) || is_edge_delimit_ok(efa->e3) || (efa->v4 && is_edge_delimit_ok(efa->e4)) |
Definition at line 2348 of file editmesh_mods.c.
Referenced by select_linked_limited_invoke().
Definition at line 737 of file editmesh_mods.c.
Referenced by similar_edge_select__internal(), and similar_face_select__internal().
#define select_flat_neighbor | ( | eed | ) |
{ \ i = eed->tmp.l; \ if (i!=-1) { \ if (! (efa1[i]->f & SELECT) ) { \ EM_select_face(efa1[i], 1); \ ++faceselcount; \ } \ if (! (efa2[i]->f & SELECT) ) { \ EM_select_face(efa2[i], 1); \ ++faceselcount; \ } \ } \ }
Referenced by select_linked_flat_faces().
#define SIMEDGE_CREASE 105 |
Definition at line 699 of file editmesh_mods.c.
Referenced by similar_edge_select__internal().
#define SIMEDGE_DIR 102 |
Definition at line 696 of file editmesh_mods.c.
Referenced by similar_edge_select__internal().
#define SIMEDGE_FACE 103 |
Definition at line 697 of file editmesh_mods.c.
Referenced by similar_edge_select__internal().
#define SIMEDGE_FACE_ANGLE 104 |
Definition at line 698 of file editmesh_mods.c.
Referenced by similar_edge_select__internal().
#define SIMEDGE_LENGTH 101 |
Definition at line 695 of file editmesh_mods.c.
Referenced by select_similar_type_itemf(), and similar_edge_select__internal().
#define SIMEDGE_SEAM 106 |
Definition at line 700 of file editmesh_mods.c.
Referenced by similar_edge_select__internal().
#define SIMEDGE_SHARP 107 |
Definition at line 701 of file editmesh_mods.c.
Referenced by similar_edge_select__internal().
#define SIMEDGE_TOT 108 |
Definition at line 702 of file editmesh_mods.c.
Referenced by select_similar_type_itemf().
#define SIMFACE_AREA 203 |
Definition at line 708 of file editmesh_mods.c.
Referenced by similar_face_select__internal().
#define SIMFACE_COPLANAR 206 |
Definition at line 711 of file editmesh_mods.c.
Referenced by similar_face_select__internal().
#define SIMFACE_IMAGE 202 |
Definition at line 707 of file editmesh_mods.c.
Referenced by similar_face_select__internal().
#define SIMFACE_MATERIAL 201 |
Definition at line 706 of file editmesh_mods.c.
Referenced by select_similar_type_itemf(), and similar_face_select__internal().
#define SIMFACE_NORMAL 205 |
Definition at line 710 of file editmesh_mods.c.
Referenced by similar_face_select__internal().
#define SIMFACE_PERIMETER 204 |
Definition at line 709 of file editmesh_mods.c.
Referenced by similar_face_select__internal().
#define SIMFACE_TOT 207 |
Definition at line 712 of file editmesh_mods.c.
Referenced by select_similar_type_itemf().
#define SIMVERT_FACE 1 |
Definition at line 689 of file editmesh_mods.c.
Referenced by similar_vert_select_exec().
#define SIMVERT_NORMAL 0 |
Definition at line 688 of file editmesh_mods.c.
Referenced by MESH_OT_select_similar(), select_similar_type_itemf(), and similar_vert_select_exec().
#define SIMVERT_TOT 3 |
Definition at line 691 of file editmesh_mods.c.
Referenced by select_similar_type_itemf().
#define SIMVERT_VGROUP 2 |
Definition at line 690 of file editmesh_mods.c.
Referenced by similar_vert_select_exec().
static void draw_triangulated | ( | int | mcords[][2], |
short | tot | ||
) | [static] |
Definition at line 163 of file editmesh_mods.c.
References BLI_addtail(), DL_INDEX3, DL_POLY, filldisplist(), ListBase::first, freedisplist(), DispList::index, MEM_callocN(), DispList::nr, NULL, DispList::parts, DispList::type, and DispList::verts.
Referenced by EM_mask_init_backbuf_border().
Definition at line 1804 of file editmesh_mods.c.
References EditFace::e1, EditFace::e2, EditFace::e3, EditFace::e4, EditEdge::f2, EditMesh::faces, ListBase::first, EditFace::h, and EditFace::next.
Referenced by edgeloop_select().
Definition at line 1845 of file editmesh_mods.c.
References EditFace::e1, EditFace::e2, EditFace::e3, EditFace::e4, edge_not_in_tagged_face(), EditMesh::edges, EM_select_edge(), ensure_ed_vert_sel(), EditFace::f1, EditVert::f1, EditEdge::f1, EditVert::f2, EditEdge::f2, EditMesh::faces, FALSE, ListBase::first, EditEdge::h, EditFace::h, EditEdge::next, EditFace::next, EditVert::next, SCE_SELECT_VERTEX, EditMesh::selectmode, EditEdge::v1, EditEdge::v2, and EditMesh::verts.
Referenced by loop_multiselect(), and mouse_mesh_loop().
Definition at line 1915 of file editmesh_mods.c.
References EditFace::e1, EditFace::e2, EditFace::e3, EditFace::e4, EditMesh::edges, EM_select_edge(), ensure_ed_vert_sel(), EditFace::f1, EditEdge::f1, EditEdge::f2, EditMesh::faces, FALSE, ListBase::first, EditFace::h, EditEdge::next, EditFace::next, SCE_SELECT_VERTEX, and EditMesh::selectmode.
Referenced by loop_multiselect(), and mouse_mesh_loop().
static int editmesh_mark_seam | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 3713 of file editmesh_mods.c.
References BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), CD_MTFACE, clear(), CTX_data_edit_object(), CTX_data_scene(), CustomData_has_layer(), DAG_id_tag_update(), Object::data, Mesh::drawflag, ED_unwrap_lscm(), ToolSettings::edge_mode_live_unwrap, EditMesh::edges, EditEdge::f, FALSE, EditMesh::fdata, ListBase::first, EditEdge::h, ME_DRAWSEAMS, NC_GEOM, ND_DATA, EditEdge::next, OPERATOR_FINISHED, wmOperator::ptr, RNA_boolean_get(), EditEdge::seam, SELECT, Scene::toolsettings, and WM_event_add_notifier().
Referenced by MESH_OT_mark_seam().
static int editmesh_mark_sharp | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 3778 of file editmesh_mods.c.
References BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), clear(), CTX_data_edit_object(), DAG_id_tag_update(), Object::data, Mesh::drawflag, EditMesh::edges, EditEdge::f, ListBase::first, EditEdge::h, ME_DRAWSHARP, NC_GEOM, ND_DATA, EditEdge::next, OPERATOR_FINISHED, wmOperator::ptr, RNA_boolean_get(), SELECT, EditEdge::sharp, and WM_event_add_notifier().
Referenced by MESH_OT_mark_sharp().
static int editmesh_select_all_exec | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 3406 of file editmesh_mods.c.
References BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), CTX_data_edit_object(), Object::data, EM_deselect_all(), EM_select_all(), EM_select_swap(), EM_toggle_select_all(), NC_GEOM, ND_SELECT, OPERATOR_FINISHED, wmOperator::ptr, RNA_enum_get(), SEL_DESELECT, SEL_INVERT, SEL_SELECT, SEL_TOGGLE, and WM_event_add_notifier().
Referenced by MESH_OT_select_all().
Definition at line 135 of file editmesh_mods.c.
References ToolSettings::automerge, DAG_id_tag_update(), Object::data, ToolSettings::doublimit, Mesh::edit_mesh, Mesh::id, Object::mode, NULL, OB_MESH, OB_MODE_EDIT, removedoublesflag(), Scene::toolsettings, EditMesh::totedge, EditMesh::totface, EditMesh::totvert, and Object::type.
Referenced by special_aftertrans_update().
Definition at line 94 of file editmesh_mods.c.
References EditVert::co, editmesh_get_x_mirror_vert(), ListBase::first, EditVert::next, NULL, EditVert::tmp, EditVert::v, and EditMesh::verts.
Referenced by ED_vgroup_mirror(), and EM_select_mirrored().
int EM_check_backbuf | ( | unsigned int | index | ) |
Definition at line 237 of file editmesh_mods.c.
References em_vertoffs, ImBuf::index, and NULL.
Referenced by do_lasso_select_mesh__doSelectEdge(), do_mesh_box_select__doSelectEdge(), EM_backbuf_checkAndSelectEdges(), EM_backbuf_checkAndSelectFaces(), EM_backbuf_checkAndSelectTFaces(), EM_backbuf_checkAndSelectVerts(), and EM_backbuf_checkAndSelectVerts_obmode().
void EM_deselect_all | ( | EditMesh * | em | ) |
Definition at line 3401 of file editmesh_mods.c.
References EM_clear_flag_all(), and SELECT.
Referenced by do_lasso_select_mesh(), do_mesh_box_select(), editmesh_select_all_exec(), mesh_select_random_exec(), and select_all_perform().
void EM_deselect_by_material | ( | EditMesh * | em, |
int | index | ||
) |
Definition at line 3698 of file editmesh_mods.c.
References EM_select_face(), EM_selectmode_flush(), EditMesh::faces, ListBase::first, EditFace::mat_nr, and EditFace::next.
Referenced by material_slot_de_select().
void EM_free_backbuf | ( | void | ) |
Definition at line 245 of file editmesh_mods.c.
References MEM_freeN(), and NULL.
Referenced by do_lasso_select_mesh(), do_lasso_select_paintface(), do_lasso_select_paintvert(), do_mesh_box_select(), mesh_circle_select(), paint_facesel_circle_select(), and paint_vertsel_circle_select().
void EM_hide_mesh | ( | EditMesh * | em, |
int | swap | ||
) |
Definition at line 2672 of file editmesh_mods.c.
References EditFace::e1, EditFace::e2, EditFace::e3, EditFace::e4, EditMesh::edges, EM_select_edge(), EM_select_face(), EditEdge::f, EditVert::f, EditFace::f, EditVert::f1, EditEdge::f1, EditMesh::faces, ListBase::first, EditEdge::h, EditVert::h, EditFace::h, EditEdge::next, EditFace::next, EditVert::next, NULL, SCE_SELECT_EDGE, SCE_SELECT_FACE, SCE_SELECT_VERTEX, SELECT, EditMesh::selectmode, EditMesh::totedgesel, EditMesh::totfacesel, EditMesh::totvertsel, EditEdge::v1, EditEdge::v2, and EditMesh::verts.
Referenced by hide_exec(), and hide_mesh_exec().
int EM_init_backbuf_border | ( | ViewContext * | vc, |
short | xmin, | ||
short | ymin, | ||
short | xmax, | ||
short | ymax | ||
) |
Definition at line 210 of file editmesh_mods.c.
References View3D::drawtype, em_vertoffs, View3D::flag, IMB_freeImBuf(), MEM_callocN(), NULL, OB_SOLID, ViewContext::obedit, ImBuf::rect, ViewContext::v3d, V3D_ZBUF_SELECT, and view3d_read_backbuf().
Referenced by do_mesh_box_select().
int EM_init_backbuf_circle | ( | ViewContext * | vc, |
short | xs, | ||
short | ys, | ||
short | rads | ||
) |
Definition at line 320 of file editmesh_mods.c.
References View3D::drawtype, em_vertoffs, View3D::flag, IMB_freeImBuf(), MEM_callocN(), NULL, OB_SOLID, ViewContext::obact, ViewContext::obedit, paint_facesel_test(), paint_vertsel_test(), ImBuf::rect, ViewContext::v3d, V3D_ZBUF_SELECT, and view3d_read_backbuf().
Referenced by mesh_circle_select(), paint_facesel_circle_select(), and paint_vertsel_circle_select().
int EM_mask_init_backbuf_border | ( | ViewContext * | vc, |
int | mcords[][2], | ||
short | tot, | ||
short | xmin, | ||
short | ymin, | ||
short | xmax, | ||
short | ymax | ||
) |
Definition at line 257 of file editmesh_mods.c.
References ViewContext::ar, draw_triangulated(), View3D::drawtype, ED_region_pixelspace(), em_vertoffs, View3D::flag, IMB_freeImBuf(), MEM_callocN(), NULL, OB_SOLID, ViewContext::obact, ViewContext::obedit, paint_facesel_test(), paint_vertsel_test(), ImBuf::rect, ViewContext::v3d, V3D_ZBUF_SELECT, and view3d_read_backbuf().
Referenced by do_lasso_select_mesh(), do_lasso_select_paintface(), and do_lasso_select_paintvert().
static void EM_mesh_copy_edge | ( | EditMesh * | em, |
short | type | ||
) | [static] |
Definition at line 1356 of file editmesh_mods.c.
References add_v3_v3v3(), EditEdge::bweight, EditVert::co, EditEdge::crease, EditSelection::data, EditMesh::edges, EditEdge::f, ListBase::first, ListBase::last, len_v3v3(), mul_v3_fl(), EditEdge::next, recalc_editnormals(), SELECT, EditMesh::selected, sub_v3_v3v3(), EditEdge::v1, EditEdge::v2, and VECCOPY.
Referenced by mesh_copy_menu().
static void EM_mesh_copy_face | ( | EditMesh * | em, |
wmOperator * | op, | ||
short | type | ||
) | [static] |
Definition at line 1435 of file editmesh_mods.c.
References MCol::b, BKE_report(), CD_MCOL, CD_MTFACE, CLAMP(), CustomData_em_get(), EditFace::data, EM_get_actFace(), EditFace::f, EditMesh::faces, EditMesh::fdata, ListBase::first, MCol::g, g, EditFace::mat_nr, MTFace::mode, EditFace::next, NULL, MCol::r, wmOperator::reports, RPT_WARNING, SELECT, MTFace::tile, MTFace::tpage, MTFace::transp, MTFace::uv, EditFace::v4, and simple_enum_gen::val.
Referenced by mesh_copy_menu().
void EM_mesh_copy_face_layer | ( | EditMesh * | em, |
wmOperator * | op, | ||
short | type | ||
) |
Definition at line 1562 of file editmesh_mods.c.
References BKE_report(), CD_MCOL, CD_MTFACE, CustomData_em_get(), CustomData_get_active_layer(), CustomData_number_of_layers(), CustomData_set_layer_active(), EditFace::data, EditFace::f, EditMesh::faces, EditMesh::fdata, ListBase::first, mesh_layers_menu(), MTFace::mode, EditFace::next, NULL, EditFace::p, wmOperator::reports, RPT_WARNING, SELECT, MTFace::tile, EditFace::tmp, MTFace::tpage, MTFace::transp, and MTFace::uv.
Referenced by mesh_copy_menu().
void EM_recalc_normal_direction | ( | EditMesh * | em, |
int | inside, | ||
int | select | ||
) |
Definition at line 3832 of file editmesh_mods.c.
References cent_tri_v3(), EditVert::co, EditFace::e1, EditFace::e2, EditFace::e3, EditFace::e4, EditMesh::edges, EditFace::f, EditFace::f1, EditEdge::f1, EditEdge::f2, EditMesh::faces, ListBase::first, flipface(), ListBase::last, EditEdge::next, EditFace::next, normal_tri_v3(), NULL, EditFace::prev, recalc_editnormals(), SELECT, EditFace::v1, EditEdge::v1, EditFace::v2, EditEdge::v2, EditFace::v3, EditFace::v4, and waitcursor().
Referenced by make_prim(), and normals_make_consistent_exec().
void EM_reveal_mesh | ( | EditMesh * | em | ) |
Definition at line 2805 of file editmesh_mods.c.
References EditMesh::edges, EM_fgon_flags(), EM_select_edge(), EM_select_face(), EM_selectmode_flush(), EditVert::f, EditMesh::faces, ListBase::first, EditEdge::h, EditVert::h, EditFace::h, EditEdge::next, EditFace::next, EditVert::next, NULL, SCE_SELECT_EDGE, SCE_SELECT_VERTEX, SELECT, EditMesh::selectmode, and EditMesh::verts.
Referenced by reveal_exec(), and reveal_mesh_exec().
void EM_select_all | ( | EditMesh * | em | ) |
Definition at line 3396 of file editmesh_mods.c.
References EM_set_flag_all_selectmode(), and SELECT.
Referenced by editmesh_select_all_exec(), and select_all_perform().
void EM_select_by_material | ( | EditMesh * | em, |
int | index | ||
) |
Definition at line 3685 of file editmesh_mods.c.
References EM_select_face(), EM_selectmode_flush(), EditMesh::faces, ListBase::first, EditFace::mat_nr, and EditFace::next.
Referenced by material_slot_de_select(), and mesh_separate_material().
static void EM_select_less | ( | EditMesh * | em | ) | [static] |
Definition at line 3521 of file editmesh_mods.c.
References EditFace::e1, EditFace::e2, EditFace::e3, EditFace::e4, EditMesh::edges, EM_deselect_flush(), EM_select_edge(), EM_select_face(), EM_selectmode_flush(), EditVert::f, EditFace::f, EditEdge::f1, EditMesh::faces, ListBase::first, EditEdge::h, EditFace::h, EditEdge::next, EditFace::next, SCE_SELECT_EDGE, SELECT, EditMesh::selectmode, EditEdge::v1, and EditEdge::v2.
Referenced by select_less().
Definition at line 114 of file editmesh_mods.c.
References EM_cache_x_mirror_vert(), EditVert::f, FALSE, ListBase::first, EditVert::next, NULL, SELECT, EditVert::tmp, EditVert::v, and EditMesh::verts.
Referenced by select_mirror_exec().
void EM_select_more | ( | EditMesh * | em | ) |
Definition at line 3452 of file editmesh_mods.c.
References EditMesh::edges, EM_select_edge(), EM_select_face(), EditVert::f, EditVert::f1, EditMesh::faces, ListBase::first, EditEdge::h, EditFace::h, EditEdge::next, EditFace::next, EditVert::next, NULL, SCE_SELECT_EDGE, SELECT, EditMesh::selectmode, EditFace::v1, EditEdge::v1, EditFace::v2, EditEdge::v2, EditFace::v3, EditFace::v4, and EditMesh::verts.
Referenced by EdgeLoopDelete(), and select_more().
void EM_select_swap | ( | EditMesh * | em | ) |
Definition at line 3350 of file editmesh_mods.c.
References EditMesh::edges, EM_select_edge(), EM_select_face(), EM_selectmode_flush(), EditEdge::f, EditVert::f, EditFace::f, EditMesh::faces, ListBase::first, EditEdge::h, EditVert::h, EditFace::h, EditEdge::next, EditFace::next, EditVert::next, SCE_SELECT_EDGE, SCE_SELECT_VERTEX, SELECT, EditMesh::selectmode, and EditMesh::verts.
Referenced by editmesh_select_all_exec(), and select_all_perform().
void EM_toggle_select_all | ( | EditMesh * | em | ) |
Definition at line 3388 of file editmesh_mods.c.
References EM_clear_flag_all(), EM_nvertices_selected(), EM_set_flag_all_selectmode(), and SELECT.
Referenced by editmesh_select_all_exec(), and select_all_perform().
static void ensure_ed_vert_sel | ( | EditMesh * | em | ) | [static] |
Definition at line 1820 of file editmesh_mods.c.
References EditMesh::edges, EditEdge::f, EditVert::f, ListBase::first, EditEdge::next, SELECT, EditEdge::v1, and EditEdge::v2.
Referenced by edgeloop_select(), and edgering_select().
Definition at line 1734 of file editmesh_mods.c.
References EditFace::e1, EditFace::e2, EditFace::e3, EditFace::e4, EditMesh::edges, EM_select_face(), EditFace::f1, EditEdge::f1, EditEdge::f2, EditMesh::faces, ListBase::first, EditFace::h, EditEdge::next, and EditFace::next.
Referenced by mesh_rip_invoke(), and mouse_mesh_loop().
EditEdge* findnearestedge | ( | ViewContext * | vc, |
int * | dist | ||
) |
Definition at line 518 of file editmesh_mods.c.
References BLI_findlink(), data, distance(), View3D::drawtype, ED_view3d_init_mats_rv3d(), EditMesh::edges, ViewContext::em, em_wireoffs, findnearestedge__doClosest(), View3D::flag, mesh_foreachScreenEdge(), ViewContext::mval, NULL, OB_WIRE, ViewContext::obedit, ViewContext::rv3d, ViewContext::v3d, V3D_CLIP_TEST_REGION, V3D_ZBUF_SELECT, and view3d_sample_backbuf_rect().
Referenced by mouse_mesh_loop(), mouse_mesh_shortest_path(), ringcut_invoke(), ringcut_modal(), ringsel_invoke(), and unified_findnearest().
static void findnearestedge__doClosest | ( | void * | userData, |
EditEdge * | eed, | ||
int | x0, | ||
int | y0, | ||
int | x1, | ||
int | y1, | ||
int | UNUSEDindex | ||
) | [static] |
Definition at line 481 of file editmesh_mods.c.
References EditVert::co, data, dist_to_line_segment_v2(), distance(), ED_view3d_local_clipping(), ED_view3d_test_clipping(), EditEdge::f, labda_PdistVL2Dfl(), RV3D_CLIPPING, SELECT, EditEdge::v1, and EditEdge::v2.
Referenced by findnearestedge().
static EditFace* findnearestface | ( | ViewContext * | vc, |
int * | dist | ||
) | [static] |
Definition at line 583 of file editmesh_mods.c.
References BLI_findlink(), data, View3D::drawtype, ED_view3d_init_mats_rv3d(), ViewContext::em, EditMesh::faces, findnearestface__doClosest(), findnearestface__getDistance(), View3D::flag, mesh_foreachScreenFace(), ViewContext::mval, NULL, OB_WIRE, ViewContext::obedit, ViewContext::rv3d, SCE_SELECT_FACE, EditMesh::selectmode, ViewContext::v3d, V3D_ZBUF_SELECT, and view3d_sample_backbuf().
Referenced by unified_findnearest().
static void findnearestface__doClosest | ( | void * | userData, |
EditFace * | efa, | ||
int | x, | ||
int | y, | ||
int | index | ||
) | [static] |
Definition at line 561 of file editmesh_mods.c.
Referenced by findnearestface().
static void findnearestface__getDistance | ( | void * | userData, |
EditFace * | efa, | ||
int | x, | ||
int | y, | ||
int | UNUSEDindex | ||
) | [static] |
Definition at line 550 of file editmesh_mods.c.
Referenced by findnearestface().
EditVert* findnearestvert | ( | ViewContext * | vc, |
int * | dist, | ||
short | sel, | ||
short | strict | ||
) |
findnearestvert
dist (in/out): minimal distance to the nearest and at the end, actual distance sel: selection bias if SELECT, selected vertice are given a 5 pixel bias to make them farter than unselect verts if 0, unselected vertice are given the bias strict: if 1, the vertice corresponding to the sel parameter are ignored and not just biased
Definition at line 408 of file editmesh_mods.c.
References BLI_findlink(), data, distance(), View3D::drawtype, ED_view3d_init_mats_rv3d(), ViewContext::em, em_wireoffs, findnearestvert__backbufIndextest(), findnearestvert__doClosest(), View3D::flag, mesh_foreachScreenVert(), ViewContext::mval, NULL, OB_WIRE, ViewContext::obedit, ViewContext::rv3d, ViewContext::v3d, V3D_CLIP_TEST_RV3D_CLIPPING, V3D_ZBUF_SELECT, EditMesh::verts, and view3d_sample_backbuf_rect().
Referenced by unified_findnearest().
static unsigned int findnearestvert__backbufIndextest | ( | void * | handle, |
unsigned int | index | ||
) | [static] |
Definition at line 391 of file editmesh_mods.c.
References BLI_findlink(), EditVert::f, SELECT, and EditMesh::verts.
Referenced by findnearestvert().
static void findnearestvert__doClosest | ( | void * | userData, |
EditVert * | eve, | ||
int | x, | ||
int | y, | ||
int | index | ||
) | [static] |
Definition at line 359 of file editmesh_mods.c.
References abs(), data, and EditVert::f.
Referenced by findnearestvert().
static int flip_normals | ( | bContext * | C, |
wmOperator * | UNUSEDop | ||
) | [static] |
Definition at line 4336 of file editmesh_mods.c.
References BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), CTX_data_edit_object(), DAG_id_tag_update(), Object::data, EditFace::f, EditMesh::faces, ListBase::first, flipface(), NC_GEOM, ND_DATA, EditFace::next, OPERATOR_FINISHED, recalc_editnormals(), SELECT, and WM_event_add_notifier().
Referenced by MESH_OT_flip_normals().
Definition at line 4316 of file editmesh_mods.c.
References EditVert::co, EditEdge::dir, EditFace::e1, EditFace::e2, EditFace::e3, EditFace::e4, EM_data_interp_from_faces(), EditFace::n, normal_quad_v3(), normal_tri_v3(), NULL, SWAP, EditFace::v1, EditFace::v2, EditFace::v3, and EditFace::v4.
Referenced by EM_recalc_normal_direction(), extrudeflag_edge(), fix_new_face(), and flip_normals().
static int hide_mesh_exec | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 2774 of file editmesh_mods.c.
References BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), CTX_data_edit_object(), Object::data, EM_hide_mesh(), NC_GEOM, ND_SELECT, OPERATOR_FINISHED, wmOperator::ptr, RNA_boolean_get(), and WM_event_add_notifier().
Referenced by MESH_OT_hide().
static float labda_PdistVL2Dfl | ( | float * | v1, |
float * | v2, | ||
float * | v3 | ||
) | [static] |
Definition at line 467 of file editmesh_mods.c.
References len().
Referenced by findnearestedge__doClosest().
static void linked_limit_default | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 2459 of file editmesh_mods.c.
References BKE_mesh_get_editmesh(), CTX_data_edit_object(), Object::data, wmOperator::ptr, RNA_boolean_set(), RNA_struct_property_is_set(), SCE_SELECT_FACE, EditMesh::selectmode, and TRUE.
Referenced by select_linked_invoke(), and select_linked_pick_invoke().
static int loop_multiselect | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 1985 of file editmesh_mods.c.
References BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), CTX_data_edit_object(), Object::data, edgeloop_select(), edgering_select(), EditMesh::edges, EM_nedges_selected(), EM_selectmode_flush(), EditEdge::f, ListBase::first, MEM_freeN(), MEM_mallocN(), NC_GEOM, ND_SELECT, EditEdge::next, OPERATOR_FINISHED, wmOperator::ptr, RNA_boolean_get(), SELECT, EditMesh::totedgesel, and WM_event_add_notifier().
Referenced by MESH_OT_loop_multi_select().
static void UNUSED_FUNCTION() mesh_copy_menu | ( | EditMesh * | em, |
wmOperator * | op | ||
) | [static] |
Definition at line 1691 of file editmesh_mods.c.
References EDITEDGE, EDITFACE, EDITVERT, EM_mesh_copy_edge(), EM_mesh_copy_face(), EM_mesh_copy_face_layer(), NULL, pupmenu(), and EditSelection::type.
int mesh_layers_menu | ( | CustomData * | data, |
int | type | ||
) |
Definition at line 1339 of file editmesh_mods.c.
References MEM_freeN(), MEM_mallocN(), mesh_layers_menu_charlen(), mesh_layers_menu_concat(), pupmenu(), and str.
Referenced by EM_mesh_copy_face_layer().
int mesh_layers_menu_charlen | ( | CustomData * | data, |
int | type | ||
) |
Definition at line 1307 of file editmesh_mods.c.
References i, CustomData::layers, len(), and CustomData::totlayer.
Referenced by mesh_layers_menu().
void mesh_layers_menu_concat | ( | CustomData * | data, |
int | type, | ||
char * | str | ||
) |
Definition at line 1323 of file editmesh_mods.c.
References i, CustomData::layers, CustomDataLayer::name, str, CustomData::totlayer, and CustomDataLayer::type.
Referenced by mesh_layers_menu().
static int mesh_noise_exec | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 4245 of file editmesh_mods.c.
References Object::actcol, add_v3_v3(), BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), BKE_report(), BLI_hnoise(), EditVert::co, CTX_data_edit_object(), DAG_id_tag_update(), Object::data, externtex(), EditVert::f, ListBase::first, give_current_material(), give_current_material_texture(), Material::mtex, NC_GEOM, ND_DATA, EditVert::next, Tex::noisesize, NULL, OPERATOR_FINISHED, wmOperator::ptr, recalc_editnormals(), wmOperator::reports, RNA_float_get(), RPT_WARNING, SELECT, Tex::stype, MTex::tex, TEX_STUCCI, Tex::turbul, Tex::type, EditMesh::verts, and WM_event_add_notifier().
Referenced by MESH_OT_noise().
void MESH_OT_edges_select_sharp | ( | wmOperatorType * | ot | ) |
Definition at line 3066 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh(), wmOperatorType::exec, wmOperatorType::flag, FLT_MAX, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_float(), select_sharp_edges_exec(), and wmOperatorType::srna.
Referenced by ED_operatortypes_mesh().
void MESH_OT_faces_select_linked_flat | ( | wmOperatorType * | ot | ) |
Definition at line 3234 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh(), wmOperatorType::exec, wmOperatorType::flag, FLT_MAX, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_float(), select_linked_flat_faces_exec(), and wmOperatorType::srna.
Referenced by ED_operatortypes_mesh().
void MESH_OT_flip_normals | ( | wmOperatorType * | ot | ) |
Definition at line 4361 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh(), wmOperatorType::exec, wmOperatorType::flag, flip_normals(), wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, and wmOperatorType::poll.
Referenced by ED_operatortypes_mesh().
void MESH_OT_hide | ( | wmOperatorType * | ot | ) |
Definition at line 2787 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh(), wmOperatorType::exec, wmOperatorType::flag, hide_mesh_exec(), wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_boolean(), and wmOperatorType::srna.
Referenced by ED_operatortypes_mesh().
void MESH_OT_loop_multi_select | ( | wmOperatorType * | ot | ) |
Definition at line 2031 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, loop_multiselect(), wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_boolean(), and wmOperatorType::srna.
Referenced by ED_operatortypes_mesh().
void MESH_OT_loop_select | ( | wmOperatorType * | ot | ) |
Definition at line 2121 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh_region_view3d(), wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, mesh_select_loop_invoke(), wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_boolean(), and wmOperatorType::srna.
Referenced by ED_operatortypes_mesh().
void MESH_OT_mark_seam | ( | wmOperatorType * | ot | ) |
Definition at line 3761 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh(), editmesh_mark_seam(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_boolean(), and wmOperatorType::srna.
Referenced by ED_operatortypes_mesh().
void MESH_OT_mark_sharp | ( | wmOperatorType * | ot | ) |
Definition at line 3813 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh(), editmesh_mark_sharp(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_boolean(), and wmOperatorType::srna.
Referenced by ED_operatortypes_mesh().
void MESH_OT_noise | ( | wmOperatorType * | ot | ) |
Definition at line 4299 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh(), wmOperatorType::exec, wmOperatorType::flag, FLT_MAX, wmOperatorType::idname, mesh_noise_exec(), wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_float(), and wmOperatorType::srna.
Referenced by ED_operatortypes_mesh().
void MESH_OT_normals_make_consistent | ( | wmOperatorType * | ot | ) |
Definition at line 4057 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, normals_make_consistent_exec(), OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_boolean(), and wmOperatorType::srna.
Referenced by ED_operatortypes_mesh().
void MESH_OT_reveal | ( | wmOperatorType * | ot | ) |
Definition at line 2854 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, and reveal_mesh_exec().
Referenced by ED_operatortypes_mesh().
void MESH_OT_select_all | ( | wmOperatorType * | ot | ) |
Definition at line 3433 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh(), editmesh_select_all_exec(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, and WM_operator_properties_select_all().
Referenced by ED_operatortypes_mesh().
void MESH_OT_select_by_number_vertices | ( | wmOperatorType * | ot | ) |
Definition at line 2905 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, NULL, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, wmOperatorType::prop, RNA_def_enum(), select_by_number_vertices_exec(), wmOperatorType::srna, and WM_menu_invoke().
Referenced by ED_operatortypes_mesh().
void MESH_OT_select_less | ( | wmOperatorType * | ot | ) |
Definition at line 3596 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, and select_less().
Referenced by ED_operatortypes_mesh().
void MESH_OT_select_linked | ( | wmOperatorType * | ot | ) |
Definition at line 2650 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_boolean(), select_linked_exec(), select_linked_invoke(), and wmOperatorType::srna.
Referenced by ED_operatortypes_mesh().
void MESH_OT_select_linked_pick | ( | wmOperatorType * | ot | ) |
Definition at line 2561 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh_region_view3d(), wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_boolean(), select_linked_pick_invoke(), and wmOperatorType::srna.
Referenced by ED_operatortypes_mesh().
void MESH_OT_select_mirror | ( | wmOperatorType * | ot | ) |
Definition at line 2945 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_boolean(), select_mirror_exec(), and wmOperatorType::srna.
Referenced by ED_operatortypes_mesh().
void MESH_OT_select_more | ( | wmOperatorType * | ot | ) |
Definition at line 3506 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, and select_more().
Referenced by ED_operatortypes_mesh().
void MESH_OT_select_non_manifold | ( | wmOperatorType * | ot | ) |
Definition at line 3335 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, and select_non_manifold_exec().
Referenced by ED_operatortypes_mesh().
void MESH_OT_select_nth | ( | wmOperatorType * | ot | ) |
Definition at line 4438 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, mesh_select_nth_exec(), wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_int(), and wmOperatorType::srna.
Referenced by ED_operatortypes_mesh().
void MESH_OT_select_random | ( | wmOperatorType * | ot | ) |
Definition at line 3666 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh(), wmOperatorType::exec, FALSE, wmOperatorType::flag, wmOperatorType::idname, mesh_select_random_exec(), wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_boolean(), RNA_def_float_percentage(), and wmOperatorType::srna.
Referenced by ED_operatortypes_mesh().
void MESH_OT_select_shortest_path | ( | wmOperatorType * | ot | ) |
Definition at line 2252 of file editmesh_mods.c.
References wmOperatorType::description, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, mesh_shortest_path_select_invoke(), mesh_shortest_path_select_poll(), wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_boolean(), and wmOperatorType::srna.
Referenced by ED_operatortypes_mesh().
void MESH_OT_select_similar | ( | wmOperatorType * | ot | ) |
Definition at line 1280 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh(), wmOperatorType::exec, wmOperatorType::flag, FLT_MAX, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, wmOperatorType::prop, RNA_def_enum(), RNA_def_enum_funcs(), RNA_def_float(), select_similar_exec(), select_similar_type_itemf(), SIMVERT_NORMAL, wmOperatorType::srna, and WM_menu_invoke().
Referenced by ED_operatortypes_mesh().
void MESH_OT_solidify | ( | wmOperatorType * | ot | ) |
Definition at line 4402 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh(), wmOperatorType::exec, wmOperatorType::flag, FLT_MAX, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_float(), RNA_def_property_ui_range(), solidify_exec(), and wmOperatorType::srna.
Referenced by ED_operatortypes_mesh().
void MESH_OT_vertices_smooth | ( | wmOperatorType * | ot | ) |
Definition at line 4225 of file editmesh_mods.c.
References wmOperatorType::description, ED_operator_editmesh(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_boolean(), RNA_def_int(), smooth_vertex_exec(), and wmOperatorType::srna.
Referenced by ED_operatortypes_mesh().
static int mesh_select_loop_invoke | ( | bContext * | C, |
wmOperator * | op, | ||
wmEvent * | event | ||
) | [static] |
Definition at line 2109 of file editmesh_mods.c.
References mouse_mesh_loop(), wmEvent::mval, OPERATOR_FINISHED, wmOperator::ptr, RNA_boolean_get(), and view3d_operator_needs_opengl().
Referenced by MESH_OT_loop_select().
static int mesh_select_nth_exec | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 4421 of file editmesh_mods.c.
References BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), CTX_data_edit_object(), DAG_id_tag_update(), Object::data, EM_deselect_nth(), NC_GEOM, ND_DATA, OPERATOR_FINISHED, wmOperator::ptr, RNA_int_get(), and WM_event_add_notifier().
Referenced by MESH_OT_select_nth().
static int mesh_select_random_exec | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 3650 of file editmesh_mods.c.
References BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), CTX_data_edit_object(), Object::data, EM_deselect_all(), NC_GEOM, ND_SELECT, OPERATOR_FINISHED, wmOperator::ptr, RNA_boolean_get(), RNA_float_get(), selectrandom_mesh(), and WM_event_add_notifier().
Referenced by MESH_OT_select_random().
static int mesh_shortest_path_select_invoke | ( | bContext * | C, |
wmOperator * | UNUSEDop, | ||
wmEvent * | event | ||
) | [static] |
Definition at line 2232 of file editmesh_mods.c.
References mouse_mesh_shortest_path(), wmEvent::mval, OPERATOR_FINISHED, and view3d_operator_needs_opengl().
Referenced by MESH_OT_select_shortest_path().
static int mesh_shortest_path_select_poll | ( | bContext * | C | ) | [static] |
Definition at line 2242 of file editmesh_mods.c.
References BKE_mesh_get_editmesh(), CTX_data_edit_object(), Object::data, ED_operator_editmesh_region_view3d(), SCE_SELECT_EDGE, and EditMesh::selectmode.
Referenced by MESH_OT_select_shortest_path().
int mouse_mesh | ( | bContext * | C, |
const int | mval[2], | ||
short | extend | ||
) |
Definition at line 2276 of file editmesh_mods.c.
References Object::actcol, Object::data, EDITEDGE, EDITFACE, EDITVERT, ViewContext::em, EM_clear_flag_all(), EM_remove_selection(), EM_select_edge(), EM_select_face_fgon(), EM_selectmode_flush(), EM_set_actFace(), em_setup_viewcontext(), EM_store_selection(), EditEdge::f, EditVert::f, EditFace::f, EditMesh::mat_nr, EditFace::mat_nr, ViewContext::mval, NC_GEOM, NC_MATERIAL, ND_SELECT, ND_SHADING, NULL, ViewContext::obedit, SELECT, unified_findnearest(), and WM_event_add_notifier().
Referenced by view3d_select_invoke().
static void mouse_mesh_loop | ( | bContext * | C, |
const int | mval[2], | ||
short | extend, | ||
short | ring | ||
) | [static] |
Definition at line 2055 of file editmesh_mods.c.
References Object::data, edgeloop_select(), edgering_select(), EDITEDGE, EDITVERT, ViewContext::em, EM_clear_flag_all(), EM_selectmode_flush(), em_setup_viewcontext(), EM_store_selection(), EditEdge::f, faceloop_select(), findnearestedge(), ViewContext::mval, NC_GEOM, ND_SELECT, ViewContext::obedit, SCE_SELECT_EDGE, SCE_SELECT_FACE, SCE_SELECT_VERTEX, SELECT, EditMesh::selectmode, EditEdge::v1, view3d_validate_backbuf(), and WM_event_add_notifier().
Referenced by mesh_select_loop_invoke().
static void mouse_mesh_shortest_path | ( | bContext * | C, |
const int | mval[2] | ||
) | [static] |
Definition at line 2143 of file editmesh_mods.c.
References CD_MTFACE, CustomData_has_layer(), DAG_id_tag_update(), EditSelection::data, Object::data, Mesh::drawflag, ED_unwrap_lscm(), ToolSettings::edge_mode, ToolSettings::edge_mode_live_unwrap, EDGE_MODE_SELECT, EDGE_MODE_TAG_BEVEL, EDGE_MODE_TAG_CREASE, EDGE_MODE_TAG_SEAM, EDGE_MODE_TAG_SHARP, edgetag_context_check(), edgetag_context_set(), edgetag_shortest_path(), EDITEDGE, ViewContext::em, EM_remove_selection(), EM_select_edge(), EM_selectmode_flush(), em_setup_viewcontext(), EM_store_selection(), FALSE, EditMesh::fdata, findnearestedge(), if(), ListBase::last, ME_DRAWBWEIGHTS, ME_DRAWCREASES, ME_DRAWSEAMS, ME_DRAWSHARP, ViewContext::mval, NC_GEOM, ND_SELECT, NULL, ViewContext::obedit, ViewContext::scene, EditMesh::selected, Scene::toolsettings, EditSelection::type, view3d_validate_backbuf(), and WM_event_add_notifier().
Referenced by mesh_shortest_path_select_invoke().
static int normals_make_consistent_exec | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 4039 of file editmesh_mods.c.
References BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), CTX_data_edit_object(), DAG_id_tag_update(), Object::data, EM_recalc_normal_direction(), NC_GEOM, ND_DATA, OPERATOR_FINISHED, wmOperator::ptr, RNA_boolean_get(), and WM_event_add_notifier().
Referenced by MESH_OT_normals_make_consistent().
static int pupmenu | ( | const char * | UNUSEDarg | ) | [static] |
Definition at line 90 of file editmesh_mods.c.
Referenced by BIF_selectOrientation(), mesh_copy_menu(), and mesh_layers_menu().
static int reveal_mesh_exec | ( | bContext * | C, |
wmOperator * | UNUSEDop | ||
) | [static] |
Definition at line 2841 of file editmesh_mods.c.
References BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), CTX_data_edit_object(), Object::data, EM_reveal_mesh(), NC_GEOM, ND_SELECT, OPERATOR_FINISHED, and WM_event_add_notifier().
Referenced by MESH_OT_reveal().
static int select_by_number_vertices_exec | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 2869 of file editmesh_mods.c.
References BKE_mesh_get_editmesh(), BKE_report(), CTX_data_edit_object(), Object::data, EditFace::e4, EM_select_face(), EM_selectmode_flush(), EM_set_flag_all(), EditMesh::faces, ListBase::first, NC_GEOM, ND_SELECT, EditFace::next, OPERATOR_CANCELLED, OPERATOR_FINISHED, wmOperator::ptr, wmOperator::reports, RNA_enum_get(), RPT_WARNING, SCE_SELECT_FACE, SELECT, EditMesh::selectmode, and WM_event_add_notifier().
Referenced by MESH_OT_select_by_number_vertices().
static int select_less | ( | bContext * | C, |
wmOperator * | UNUSEDop | ||
) | [static] |
Definition at line 3582 of file editmesh_mods.c.
References BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), CTX_data_edit_object(), Object::data, EM_select_less(), NC_GEOM, ND_SELECT, OPERATOR_FINISHED, and WM_event_add_notifier().
Referenced by MESH_OT_select_less().
static int select_linked_exec | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 2625 of file editmesh_mods.c.
References BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), CTX_data_edit_object(), Object::data, em_setup_viewcontext(), NC_GEOM, ND_SELECT, OPERATOR_FINISHED, wmOperator::ptr, RNA_boolean_get(), select_linked_limited_invoke(), selectconnected_mesh_all(), and WM_event_add_notifier().
Referenced by MESH_OT_select_linked(), and select_linked_invoke().
static void select_linked_flat_faces | ( | EditMesh * | em, |
wmOperator * | op, | ||
float | sharpness | ||
) | [static] |
Definition at line 3085 of file editmesh_mods.c.
References angle(), BKE_report(), EditFace::e1, EditFace::e2, EditFace::e3, EditFace::e4, EditMesh::edges, EditFace::f, fabsf, face_table_edge, EditMesh::faces, ListBase::first, i, EditEdge::l, M_PI, MEM_callocN(), MEM_freeN(), EditEdge::next, EditFace::next, wmOperator::reports, RPT_WARNING, saacos(), SCE_SELECT_FACE, SELECT, select_flat_neighbor, EditMesh::selectmode, and EditEdge::tmp.
Referenced by select_linked_flat_faces_exec().
static int select_linked_flat_faces_exec | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 3221 of file editmesh_mods.c.
References BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), CTX_data_edit_object(), Object::data, NC_GEOM, ND_SELECT, OPERATOR_FINISHED, wmOperator::ptr, RNA_float_get(), select_linked_flat_faces(), and WM_event_add_notifier().
Referenced by MESH_OT_faces_select_linked_flat().
static int select_linked_invoke | ( | bContext * | C, |
wmOperator * | op, | ||
wmEvent * | UNUSEDevent | ||
) | [static] |
Definition at line 2644 of file editmesh_mods.c.
References linked_limit_default(), and select_linked_exec().
Referenced by MESH_OT_select_linked().
static int select_linked_limited_invoke | ( | ViewContext * | vc, |
short | all, | ||
short | sel | ||
) | [static] |
Definition at line 2359 of file editmesh_mods.c.
References EditMesh::edges, ViewContext::em, EM_select_face(), EditEdge::f, EditFace::f, face_tag, EditMesh::faces, ListBase::first, EditFace::h, is_face_tag, EditFace::l, EditEdge::l, EditEdge::next, EditFace::next, OPERATOR_CANCELLED, OPERATOR_FINISHED, SELECT, EditFace::tmp, EditEdge::tmp, unified_findnearest(), EditEdge::v1, and EditEdge::v2.
Referenced by select_linked_exec(), and select_linked_pick_invoke().
static int select_linked_pick_invoke | ( | bContext * | C, |
wmOperator * | op, | ||
wmEvent * | event | ||
) | [static] |
Definition at line 2469 of file editmesh_mods.c.
References CTX_data_edit_object(), Object::data, EditMesh::edges, ViewContext::em, EM_select_edge(), EM_select_face(), em_setup_viewcontext(), EditVert::f1, EditMesh::faces, ListBase::first, EditEdge::h, ListBase::last, linked_limit_default(), ViewContext::mval, NC_GEOM, ND_SELECT, EditEdge::next, EditFace::next, EditVert::next, NULL, OPERATOR_CANCELLED, OPERATOR_FINISHED, EditEdge::prev, wmOperator::ptr, RNA_boolean_get(), select_linked_limited_invoke(), unified_findnearest(), EditFace::v1, EditEdge::v1, EditFace::v2, EditEdge::v2, EditFace::v3, EditFace::v4, EditMesh::verts, view3d_operator_needs_opengl(), and WM_event_add_notifier().
Referenced by MESH_OT_select_linked_pick().
static int select_mirror_exec | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 2931 of file editmesh_mods.c.
References BKE_mesh_get_editmesh(), CTX_data_edit_object(), Object::data, EM_select_mirrored(), EM_selectmode_flush(), NC_GEOM, ND_SELECT, OPERATOR_FINISHED, wmOperator::ptr, RNA_boolean_get(), and WM_event_add_notifier().
Referenced by MESH_OT_select_mirror().
static int select_more | ( | bContext * | C, |
wmOperator * | UNUSEDop | ||
) | [static] |
Definition at line 3491 of file editmesh_mods.c.
References BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), CTX_data_edit_object(), Object::data, EM_select_more(), NC_GEOM, ND_SELECT, OPERATOR_FINISHED, and WM_event_add_notifier().
Referenced by MESH_OT_select_more().
static void select_non_manifold | ( | EditMesh * | em, |
wmOperator * | op | ||
) | [static] |
Definition at line 3252 of file editmesh_mods.c.
References BKE_report(), EditFace::e1, EditFace::e2, EditFace::e3, EditFace::e4, EditMesh::edges, EM_select_edge(), EditVert::f, EditVert::f1, EditEdge::f1, EditMesh::faces, ListBase::first, EditEdge::h, EditVert::h, EditEdge::next, EditFace::next, EditVert::next, wmOperator::reports, RPT_WARNING, SCE_SELECT_FACE, SCE_SELECT_VERTEX, SELECT, EditMesh::selectmode, EditEdge::v1, EditEdge::v2, and EditMesh::verts.
Referenced by select_non_manifold_exec().
static int select_non_manifold_exec | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 3322 of file editmesh_mods.c.
References BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), CTX_data_edit_object(), Object::data, NC_GEOM, ND_SELECT, OPERATOR_FINISHED, select_non_manifold(), and WM_event_add_notifier().
Referenced by MESH_OT_select_non_manifold().
static int select_sharp_edges_exec | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 2963 of file editmesh_mods.c.
References angle(), BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), BKE_report(), CTX_data_edit_object(), Object::data, EditFace::e1, EditFace::e2, EditFace::e3, EditFace::e4, EditMesh::edges, EM_select_edge(), fabsf, face_table_edge, EditMesh::faces, ListBase::first, i, EditEdge::l, M_PI, MEM_callocN(), MEM_freeN(), NC_GEOM, ND_SELECT, EditEdge::next, EditFace::next, OPERATOR_CANCELLED, OPERATOR_FINISHED, wmOperator::ptr, wmOperator::reports, RNA_float_get(), RPT_WARNING, saacos(), SCE_SELECT_FACE, EditMesh::selectmode, EditEdge::tmp, and WM_event_add_notifier().
Referenced by MESH_OT_edges_select_sharp().
static int select_similar_exec | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 1235 of file editmesh_mods.c.
References wmOperator::ptr, RNA_enum_get(), similar_edge_select_exec(), similar_face_select_exec(), and similar_vert_select_exec().
Referenced by MESH_OT_select_similar().
static EnumPropertyItem* select_similar_type_itemf | ( | bContext * | C, |
PointerRNA * | UNUSEDptr, | ||
PropertyRNA * | UNUSEDprop, | ||
int * | free | ||
) | [static] |
Definition at line 1247 of file editmesh_mods.c.
References BKE_mesh_get_editmesh(), CTX_data_edit_object(), Object::data, NULL, OB_MESH, prop_similar_types, RNA_enum_item_end(), RNA_enum_items_add_value(), SCE_SELECT_EDGE, SCE_SELECT_FACE, SCE_SELECT_VERTEX, EditMesh::selectmode, SIMEDGE_LENGTH, SIMEDGE_TOT, SIMFACE_MATERIAL, SIMFACE_TOT, SIMVERT_NORMAL, SIMVERT_TOT, and Object::type.
Referenced by MESH_OT_select_similar().
void selectconnected_mesh_all | ( | EditMesh * | em | ) |
Definition at line 2582 of file editmesh_mods.c.
References EditMesh::edges, EM_select_flush(), EditVert::f, ListBase::first, EditEdge::h, ListBase::last, EditEdge::next, EditEdge::prev, SELECT, EditEdge::v1, and EditEdge::v2.
Referenced by mesh_separate_loose(), and select_linked_exec().
static void selectrandom_mesh | ( | EditMesh * | em, |
float | randfac | ||
) | [static] |
Definition at line 3611 of file editmesh_mods.c.
References BLI_frand(), BLI_rand(), BLI_srand(), EditMesh::edges, EM_select_edge(), EM_select_face(), EM_selectmode_flush(), EditVert::f, EditMesh::faces, ListBase::first, EditEdge::h, EditVert::h, EditFace::h, EditEdge::next, EditFace::next, EditVert::next, SCE_SELECT_EDGE, SCE_SELECT_VERTEX, SELECT, EditMesh::selectmode, and EditMesh::verts.
Referenced by mesh_select_random_exec().
static int similar_edge_select__internal | ( | EditMesh * | em, |
int | mode, | ||
float | thresh | ||
) | [static] |
Definition at line 884 of file editmesh_mods.c.
References angle(), angle_v3v3(), EditVert::co, EditEdge::crease, EditFace::e1, EditFace::e2, EditFace::e3, EditFace::e4, EditMesh::edges, EM_select_edge(), EditEdge::f, EditEdge::f1, EditEdge::f2, fabsf, EditMesh::faces, ListBase::first, EditEdge::fp, EditEdge::h, EditEdge::l, len_v3v3(), EditFace::n, EditEdge::next, EditFace::next, NULL, RAD2DEGF, SCALE_CMP, EditEdge::seam, SELECT, EditEdge::sharp, SIMEDGE_CREASE, SIMEDGE_DIR, SIMEDGE_FACE, SIMEDGE_FACE_ANGLE, SIMEDGE_LENGTH, SIMEDGE_SEAM, SIMEDGE_SHARP, sub_v3_v3v3(), EditEdge::tmp, EditEdge::v1, and EditEdge::v2.
Referenced by similar_edge_select_exec().
static int similar_edge_select_exec | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 1081 of file editmesh_mods.c.
References BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), CTX_data_edit_object(), Object::data, EM_selectmode_flush(), NC_GEOM, ND_SELECT, OPERATOR_FINISHED, wmOperator::ptr, RNA_enum_get(), RNA_float_get(), similar_edge_select__internal(), and WM_event_add_notifier().
Referenced by select_similar_exec().
static int similar_face_select__internal | ( | EditMesh * | em, |
int | mode, | ||
float | thresh | ||
) | [static] |
Definition at line 739 of file editmesh_mods.c.
References angle(), angle_v3v3(), CD_MTFACE, EditFace::cent, CustomData_em_get(), EditFace::data, dot(), dot_v3v3(), EM_face_area(), EM_face_perimeter(), EM_select_face(), EditFace::f, EditFace::f1, fabsf, EditMesh::faces, EditMesh::fdata, ListBase::first, EditFace::fp, EditFace::h, EditFace::mat_nr, EditFace::n, EditFace::next, NULL, RAD2DEGF, SCALE_CMP, SELECT, SIMFACE_AREA, SIMFACE_COPLANAR, SIMFACE_IMAGE, SIMFACE_MATERIAL, SIMFACE_NORMAL, SIMFACE_PERIMETER, EditFace::tmp, and MTFace::tpage.
Referenced by similar_face_select_exec().
static int similar_face_select_exec | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 864 of file editmesh_mods.c.
References BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), CTX_data_edit_object(), Object::data, EM_selectmode_flush(), NC_GEOM, ND_SELECT, OPERATOR_FINISHED, wmOperator::ptr, RNA_enum_get(), RNA_float_get(), similar_face_select__internal(), and WM_event_add_notifier().
Referenced by select_similar_exec().
static int similar_vert_select_exec | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 1101 of file editmesh_mods.c.
References angle(), angle_v3v3(), BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), CD_MDEFORMVERT, CTX_data_edit_object(), CustomData_em_get(), Object::data, EditVert::data, MDeformWeight::def_nr, MDeformVert::dw, EditVert::f, EditVert::f1, EditMesh::faces, ListBase::first, EditVert::h, i, EditVert::l, NC_GEOM, ND_SELECT, EditFace::next, EditVert::next, EditVert::no, NULL, OPERATOR_CANCELLED, OPERATOR_FINISHED, wmOperator::ptr, RAD2DEGF, RNA_enum_get(), RNA_float_get(), SELECT, SIMVERT_FACE, SIMVERT_NORMAL, SIMVERT_VGROUP, thresh, EditVert::tmp, MDeformVert::totweight, EditFace::v1, EditFace::v2, EditFace::v3, EditFace::v4, EditMesh::vdata, EditMesh::verts, and WM_event_add_notifier().
Referenced by select_similar_exec().
static int smooth_vertex | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 4076 of file editmesh_mods.c.
References add_v3_v3(), BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), EditVert::co, CTX_data_edit_object(), DAG_id_tag_update(), Object::data, EditMesh::edges, editmesh_get_x_mirror_vert(), eModifierMode_Realtime, eModifierType_Mirror, EditVert::f, EditVert::f1, EditVert::f2, fabsf, ListBase::first, MirrorModifierData::flag, if(), ME_EDIT_MIRROR_X, MEM_callocN(), MEM_freeN(), mid_v3_v3v3(), MOD_MIR_AXIS_X, MOD_MIR_AXIS_Y, MOD_MIR_AXIS_Z, MOD_MIR_CLIPPING, ModifierData::mode, Object::modifiers, NC_GEOM, ND_DATA, ModifierData::next, EditEdge::next, EditVert::next, NULL, OPERATOR_CANCELLED, OPERATOR_FINISHED, EditVert::p, wmOperator::ptr, recalc_editnormals(), RNA_boolean_get(), SELECT, EditVert::tmp, MirrorModifierData::tolerance, ModifierData::type, EditEdge::v1, EditEdge::v2, EditMesh::verts, and WM_event_add_notifier().
Referenced by smooth_vertex_exec().
static int smooth_vertex_exec | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 4211 of file editmesh_mods.c.
References i, OPERATOR_FINISHED, wmOperator::ptr, RNA_int_get(), and smooth_vertex().
Referenced by MESH_OT_vertices_smooth().
static int solidify_exec | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 4377 of file editmesh_mods.c.
References BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), CTX_data_edit_object(), DAG_id_tag_update(), Object::data, EM_make_hq_normals(), EM_solidify(), extrudeflag(), NC_GEOM, ND_DATA, OPERATOR_FINISHED, wmOperator::ptr, recalc_editnormals(), RNA_float_get(), SELECT, and WM_event_add_notifier().
Referenced by MESH_OT_solidify().
static int unified_findnearest | ( | ViewContext * | vc, |
EditVert ** | eve, | ||
EditEdge ** | eed, | ||
EditFace ** | efa | ||
) | [static] |
Definition at line 649 of file editmesh_mods.c.
References ViewContext::em, findnearestedge(), findnearestface(), findnearestvert(), NULL, SCE_SELECT_EDGE, SCE_SELECT_FACE, SCE_SELECT_VERTEX, SELECT, EditMesh::selectmode, and view3d_validate_backbuf().
Referenced by mouse_mesh(), select_linked_limited_invoke(), and select_linked_pick_invoke().
static void waitcursor | ( | int | UNUSEDval | ) | [static] |
Definition at line 89 of file editmesh_mods.c.
Referenced by EM_recalc_normal_direction().
unsigned int em_solidoffs = 0 |
Definition at line 157 of file editmesh_mods.c.
Referenced by do_lasso_select_mesh__doSelectEdge(), do_mesh_box_select__doSelectEdge(), draw_object_backbufsel(), and EM_backbuf_checkAndSelectEdges().
unsigned int em_vertoffs = 0 |
Definition at line 157 of file editmesh_mods.c.
Referenced by do_lasso_select_paintface(), do_lasso_select_paintvert(), draw_object_backbufsel(), EM_check_backbuf(), EM_init_backbuf_border(), EM_init_backbuf_circle(), EM_mask_init_backbuf_border(), paint_facesel_circle_select(), and paint_vertsel_circle_select().
unsigned int em_wireoffs = 0 |
Definition at line 157 of file editmesh_mods.c.
Referenced by draw_object_backbufsel(), EM_backbuf_checkAndSelectVerts(), findnearestedge(), and findnearestvert().
EnumPropertyItem prop_similar_types[] [static] |
{ {SIMVERT_NORMAL, "NORMAL", 0, "Normal", ""}, {SIMVERT_FACE, "FACE", 0, "Amount of Vertices in Face", ""}, {SIMVERT_VGROUP, "VGROUP", 0, "Vertex Groups", ""}, {SIMEDGE_LENGTH, "LENGTH", 0, "Length", ""}, {SIMEDGE_DIR, "DIR", 0, "Direction", ""}, {SIMEDGE_FACE, "FACE", 0, "Amount of Vertices in Face", ""}, {SIMEDGE_FACE_ANGLE, "FACE_ANGLE", 0, "Face Angles", ""}, {SIMEDGE_CREASE, "CREASE", 0, "Crease", ""}, {SIMEDGE_SEAM, "SEAM", 0, "Seam", ""}, {SIMEDGE_SHARP, "SHARP", 0, "Sharpness", ""}, {SIMFACE_MATERIAL, "MATERIAL", 0, "Material", ""}, {SIMFACE_IMAGE, "IMAGE", 0, "Image", ""}, {SIMFACE_AREA, "AREA", 0, "Area", ""}, {SIMFACE_PERIMETER, "PERIMETER", 0, "Perimeter", ""}, {SIMFACE_NORMAL, "NORMAL", 0, "Normal", ""}, {SIMFACE_COPLANAR, "COPLANAR", 0, "Co-planar", ""}, {0, NULL, 0, NULL, NULL} }
Definition at line 714 of file editmesh_mods.c.
Referenced by select_similar_type_itemf().
char* selbuf = NULL [static] |
Definition at line 160 of file editmesh_mods.c.