Blender V2.61 - r43446
|
#include <string.h>
#include <stdio.h>
#include <math.h>
#include <float.h>
#include <assert.h>
#include "DNA_action_types.h"
#include "DNA_armature_types.h"
#include "DNA_curve_types.h"
#include "DNA_meta_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_tracking_types.h"
#include "MEM_guardedalloc.h"
#include "BLI_math.h"
#include "BLI_blenlib.h"
#include "BLI_editVert.h"
#include "BLI_rand.h"
#include "BLI_linklist.h"
#include "BLI_utildefines.h"
#include "IMB_imbuf_types.h"
#include "IMB_imbuf.h"
#include "BKE_global.h"
#include "BKE_context.h"
#include "BKE_paint.h"
#include "BKE_armature.h"
#include "BKE_movieclip.h"
#include "BKE_object.h"
#include "BKE_tracking.h"
#include "BIF_gl.h"
#include "BIF_glutil.h"
#include "WM_api.h"
#include "WM_types.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "RNA_enum_types.h"
#include "ED_armature.h"
#include "ED_curve.h"
#include "ED_particle.h"
#include "ED_mesh.h"
#include "ED_object.h"
#include "ED_screen.h"
#include "ED_mball.h"
#include "UI_interface.h"
#include "UI_resources.h"
#include "view3d_intern.h"
Go to the source code of this file.
Classes | |
struct | SelMenuItemF |
Defines | |
#define | MOVES_GESTURE 50 |
#define | MOVES_LASSO 500 |
#define | SEL_MENU_SIZE 22 |
Typedefs | |
typedef struct SelMenuItemF | SelMenuItemF |
Functions | |
void | view3d_set_viewcontext (bContext *C, ViewContext *vc) |
int | view3d_get_view_aligned_coordinate (ViewContext *vc, float fp[3], const int mval[2], const short do_fallback) |
void | view3d_get_transformation (const ARegion *ar, RegionView3D *rv3d, Object *ob, bglMats *mats) |
static void | EM_backbuf_checkAndSelectVerts (EditMesh *em, int select) |
static void | EM_backbuf_checkAndSelectEdges (EditMesh *em, int select) |
static void | EM_backbuf_checkAndSelectFaces (EditMesh *em, int select) |
static void | EM_backbuf_checkAndSelectVerts_obmode (Mesh *me, int select) |
static void | EM_backbuf_checkAndSelectTFaces (Mesh *me, int select) |
static int | view3d_selectable_data (bContext *C) |
static int | edge_fully_inside_rect (rcti *rect, short x1, short y1, short x2, short y2) |
static int | edge_inside_rect (rcti *rect, short x1, short y1, short x2, short y2) |
int | lasso_inside (int mcords[][2], short moves, int sx, int sy) |
int | lasso_inside_edge (int mcords[][2], short moves, int x0, int y0, int x1, int y1) |
static void | do_lasso_select_pose (ViewContext *vc, Object *ob, int mcords[][2], short moves, short select) |
static void | object_deselect_all_visible (Scene *scene, View3D *v3d) |
static void | do_lasso_select_objects (ViewContext *vc, int mcords[][2], short moves, short extend, short select) |
static void | lasso_select_boundbox (rcti *rect, int mcords[][2], short moves) |
static void | do_lasso_select_mesh__doSelectVert (void *userData, EditVert *eve, int x, int y, int UNUSED(index)) |
static void | do_lasso_select_mesh__doSelectEdge (void *userData, EditEdge *eed, int x0, int y0, int x1, int y1, int index) |
static void | do_lasso_select_mesh__doSelectFace (void *userData, EditFace *efa, int x, int y, int UNUSED(index)) |
static void | do_lasso_select_mesh (ViewContext *vc, int mcords[][2], short moves, short extend, short select) |
static void | do_lasso_select_curve__doSelect (void *userData, Nurb *UNUSED(nu), BPoint *bp, BezTriple *bezt, int beztindex, int x, int y) |
static void | do_lasso_select_curve (ViewContext *vc, int mcords[][2], short moves, short extend, short select) |
static void | do_lasso_select_lattice__doSelect (void *userData, BPoint *bp, int x, int y) |
static void | do_lasso_select_lattice (ViewContext *vc, int mcords[][2], short moves, short extend, short select) |
static void | do_lasso_select_armature (ViewContext *vc, int mcords[][2], short moves, short extend, short select) |
static void | do_lasso_select_meta (ViewContext *vc, int mcords[][2], short moves, short extend, short select) |
int | do_paintvert_box_select (ViewContext *vc, rcti *rect, int select, int extend) |
static void | do_lasso_select_paintvert (ViewContext *vc, int mcords[][2], short moves, short extend, short select) |
static void | do_lasso_select_paintface (ViewContext *vc, int mcords[][2], short moves, short extend, short select) |
static void | view3d_lasso_select (bContext *C, ViewContext *vc, int mcords[][2], short moves, short extend, short select) |
static int | view3d_lasso_select_exec (bContext *C, wmOperator *op) |
void | VIEW3D_OT_select_lasso (wmOperatorType *ot) |
static EnumPropertyItem * | object_select_menu_enum_itemf (bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), int *free) |
static int | object_select_menu_exec (bContext *C, wmOperator *op) |
void | VIEW3D_OT_select_menu (wmOperatorType *ot) |
static void | deselectall_except (Scene *scene, Base *b) |
static Base * | object_mouse_select_menu (bContext *C, ViewContext *vc, unsigned int *buffer, int hits, const int mval[2], short extend) |
static short | mixed_bones_object_selectbuffer (ViewContext *vc, unsigned int *buffer, const int mval[2]) |
static Base * | mouse_select_eval_buffer (ViewContext *vc, unsigned int *buffer, int hits, const int mval[2], Base *startbase, int has_bones) |
Base * | ED_view3d_give_base_under_cursor (bContext *C, const int mval[2]) |
static void | deselect_all_tracks (MovieTracking *tracking) |
static int | mouse_select (bContext *C, const int mval[2], short extend, short obcenter, short enumerate) |
int | edge_inside_circle (short centx, short centy, short rad, short x1, short y1, short x2, short y2) |
static void | do_nurbs_box_select__doSelect (void *userData, Nurb *UNUSED(nu), BPoint *bp, BezTriple *bezt, int beztindex, int x, int y) |
static int | do_nurbs_box_select (ViewContext *vc, rcti *rect, int select, int extend) |
static void | do_lattice_box_select__doSelect (void *userData, BPoint *bp, int x, int y) |
static int | do_lattice_box_select (ViewContext *vc, rcti *rect, int select, int extend) |
static void | do_mesh_box_select__doSelectVert (void *userData, EditVert *eve, int x, int y, int UNUSED(index)) |
static void | do_mesh_box_select__doSelectEdge (void *userData, EditEdge *eed, int x0, int y0, int x1, int y1, int index) |
static void | do_mesh_box_select__doSelectFace (void *userData, EditFace *efa, int x, int y, int UNUSED(index)) |
static int | do_mesh_box_select (ViewContext *vc, rcti *rect, int select, int extend) |
static int | do_meta_box_select (ViewContext *vc, rcti *rect, int select, int extend) |
static int | do_armature_box_select (ViewContext *vc, rcti *rect, short select, short extend) |
static int | do_object_pose_box_select (bContext *C, ViewContext *vc, rcti *rect, int select, int extend) |
static int | view3d_borderselect_exec (bContext *C, wmOperator *op) |
void | VIEW3D_OT_select_border (wmOperatorType *ot) |
static int | vertsel_vert_pick (struct bContext *C, Mesh *me, const int mval[2], unsigned int *index, int size) |
static int | mouse_weight_paint_vertex_select (bContext *C, const int mval[2], short extend, Object *obact) |
static int | view3d_select_invoke (bContext *C, wmOperator *op, wmEvent *event) |
void | VIEW3D_OT_select (wmOperatorType *ot) |
static void | mesh_circle_doSelectVert (void *userData, EditVert *eve, int x, int y, int UNUSED(index)) |
static void | mesh_circle_doSelectEdge (void *userData, EditEdge *eed, int x0, int y0, int x1, int y1, int UNUSED(index)) |
static void | mesh_circle_doSelectFace (void *userData, EditFace *efa, int x, int y, int UNUSED(index)) |
static void | mesh_circle_select (ViewContext *vc, int select, const int mval[2], float rad) |
static void | paint_facesel_circle_select (ViewContext *vc, int select, const int mval[2], float rad) |
static void | paint_vertsel_circle_select (ViewContext *vc, int select, const int mval[2], float rad) |
static void | nurbscurve_circle_doSelect (void *userData, Nurb *UNUSED(nu), BPoint *bp, BezTriple *bezt, int beztindex, int x, int y) |
static void | nurbscurve_circle_select (ViewContext *vc, int select, const int mval[2], float rad) |
static void | latticecurve_circle_doSelect (void *userData, BPoint *bp, int x, int y) |
static void | lattice_circle_select (ViewContext *vc, int select, const int mval[2], float rad) |
static short | pchan_circle_doSelectJoint (void *userData, bPoseChannel *pchan, int x, int y) |
static void | pose_circle_select (ViewContext *vc, int select, const int mval[2], float rad) |
static short | armature_circle_doSelectJoint (void *userData, EditBone *ebone, int x, int y, short head) |
static void | armature_circle_select (ViewContext *vc, int select, const int mval[2], float rad) |
static void | obedit_circle_select (ViewContext *vc, short select, const int mval[2], float rad) |
static int | view3d_circle_select_exec (bContext *C, wmOperator *op) |
void | VIEW3D_OT_select_circle (wmOperatorType *ot) |
Variables | |
static SelMenuItemF | object_mouse_select_menu_data [SEL_MENU_SIZE] |
Definition in file view3d_select.c.
#define MOVES_GESTURE 50 |
Definition at line 302 of file view3d_select.c.
#define MOVES_LASSO 500 |
Definition at line 303 of file view3d_select.c.
#define SEL_MENU_SIZE 22 |
Definition at line 1054 of file view3d_select.c.
Referenced by object_mouse_select_menu(), and object_select_menu_enum_itemf().
typedef struct SelMenuItemF SelMenuItemF |
static short armature_circle_doSelectJoint | ( | void * | userData, |
EditBone * | ebone, | ||
int | x, | ||
int | y, | ||
short | head | ||
) | [static] |
Definition at line 2495 of file view3d_select.c.
References BONE_ROOTSEL, BONE_TIPSEL, data, EditBone::flag, and sqrt().
Referenced by armature_circle_select().
static void armature_circle_select | ( | ViewContext * | vc, |
int | select, | ||
const int | mval[2], | ||
float | rad | ||
) | [static] |
Definition at line 2518 of file view3d_select.c.
References ViewContext::ar, armature_circle_doSelectJoint(), BONE_ROOTSEL, BONE_SELECTED, BONE_TIPSEL, Object::data, data, ED_armature_sync_selection(), ED_armature_validate_active(), ED_view3d_init_mats_rv3d(), bArmature::edbo, edge_inside_circle(), FALSE, ListBase::first, EditBone::flag, EditBone::head, mul_v3_m4v3(), NC_OBJECT, ND_BONE_SELECT, EditBone::next, ViewContext::obedit, Object::obmat, project_short(), ViewContext::rv3d, EditBone::tail, TRUE, and WM_main_add_notifier().
Referenced by obedit_circle_select().
static void deselect_all_tracks | ( | MovieTracking * | tracking | ) | [static] |
Definition at line 1413 of file view3d_select.c.
References BKE_tracking_deselect_track(), BKE_tracking_object_tracks(), ListBase::first, MovieTrackingTrack::next, MovieTracking::objects, and TRACK_AREA_ALL.
Referenced by mouse_select().
Definition at line 1148 of file view3d_select.c.
References BA_DESELECT, ED_base_object_select(), FIRSTBASE, Base::flag, Base::next, and SELECT.
Referenced by mouse_select().
static int do_armature_box_select | ( | ViewContext * | vc, |
rcti * | rect, | ||
short | select, | ||
short | extend | ||
) | [static] |
Definition at line 1843 of file view3d_select.c.
References BLI_findlink(), BONE_CONNECTED, BONE_DONE, BONE_ROOTSEL, BONE_SELECTED, BONE_TIPSEL, BONE_UNSELECTABLE, BONESEL_ANY, BONESEL_BONE, BONESEL_ROOT, BONESEL_TIP, Object::data, ED_armature_deselect_all_visible(), ED_armature_sync_selection(), bArmature::edbo, ListBase::first, EditBone::flag, MAXPICKBUF, EditBone::next, ViewContext::obedit, OPERATOR_CANCELLED, EditBone::parent, and view3d_opengl_select().
Referenced by view3d_borderselect_exec().
static void do_lasso_select_armature | ( | ViewContext * | vc, |
int | mcords[][2], | ||
short | moves, | ||
short | extend, | ||
short | select | ||
) | [static] |
Definition at line 679 of file view3d_select.c.
References ViewContext::ar, BONE_ROOTSEL, BONE_SELECTED, BONE_TIPSEL, BONE_UNSELECTABLE, Object::data, EBONE_VISIBLE, ED_armature_deselect_all_visible(), ED_armature_sync_selection(), ED_armature_validate_active(), bArmature::edbo, FALSE, ListBase::first, EditBone::flag, EditBone::head, lasso_inside(), lasso_inside_edge(), mul_v3_m4v3(), NC_OBJECT, ND_BONE_SELECT, EditBone::next, ViewContext::obedit, Object::obmat, project_short(), EditBone::tail, TRUE, and WM_main_add_notifier().
Referenced by view3d_lasso_select().
static void do_lasso_select_curve | ( | ViewContext * | vc, |
int | mcords[][2], | ||
short | moves, | ||
short | extend, | ||
short | select | ||
) | [static] |
Definition at line 638 of file view3d_select.c.
References CU_deselect_all(), data, do_lasso_select_curve__doSelect(), ED_view3d_init_mats_rv3d(), nurbs_foreachScreenVert(), ViewContext::obedit, and ViewContext::rv3d.
Referenced by view3d_lasso_select().
static void do_lasso_select_curve__doSelect | ( | void * | userData, |
Nurb * | UNUSEDnu, | ||
BPoint * | bp, | ||
BezTriple * | bezt, | ||
int | beztindex, | ||
int | x, | ||
int | y | ||
) | [static] |
Definition at line 609 of file view3d_select.c.
References CU_HIDE_HANDLES, Object::data, data, Curve::drawflag, BezTriple::f1, BPoint::f1, BezTriple::f2, BezTriple::f3, if(), lasso_inside(), Curve::lastsel, NULL, and SELECT.
Referenced by do_lasso_select_curve().
static void do_lasso_select_lattice | ( | ViewContext * | vc, |
int | mcords[][2], | ||
short | moves, | ||
short | extend, | ||
short | select | ||
) | [static] |
Definition at line 663 of file view3d_select.c.
References data, do_lasso_select_lattice__doSelect(), ED_setflagsLatt(), ED_view3d_init_mats_rv3d(), lattice_foreachScreenVert(), ViewContext::obedit, and ViewContext::rv3d.
Referenced by view3d_lasso_select().
static void do_lasso_select_lattice__doSelect | ( | void * | userData, |
BPoint * | bp, | ||
int | x, | ||
int | y | ||
) | [static] |
Definition at line 655 of file view3d_select.c.
References data, BPoint::f1, lasso_inside(), and SELECT.
Referenced by do_lasso_select_lattice().
static void do_lasso_select_mesh | ( | ViewContext * | vc, |
int | mcords[][2], | ||
short | moves, | ||
short | extend, | ||
short | select | ||
) | [static] |
Definition at line 491 of file view3d_select.c.
References Object::data, data, do_lasso_select_mesh__doSelectEdge(), do_lasso_select_mesh__doSelectFace(), do_lasso_select_mesh__doSelectVert(), ED_view3d_init_mats_rv3d(), ViewContext::em, EM_backbuf_checkAndSelectFaces(), EM_backbuf_checkAndSelectVerts(), EM_deselect_all(), EM_free_backbuf(), EM_mask_init_backbuf_border(), EM_selectmode_flush(), glLoadMatrixf, lasso_select_boundbox(), mesh_foreachScreenEdge(), mesh_foreachScreenFace(), mesh_foreachScreenVert(), ViewContext::obedit, ViewContext::rv3d, SCE_SELECT_EDGE, SCE_SELECT_FACE, SCE_SELECT_VERTEX, ViewContext::scene, ToolSettings::selectmode, Scene::toolsettings, V3D_CLIP_TEST_OFF, V3D_CLIP_TEST_RV3D_CLIPPING, RegionView3D::viewmat, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by view3d_lasso_select().
static void do_lasso_select_mesh__doSelectEdge | ( | void * | userData, |
EditEdge * | eed, | ||
int | x0, | ||
int | y0, | ||
int | x1, | ||
int | y1, | ||
int | index | ||
) | [static] |
Definition at line 463 of file view3d_select.c.
References data, edge_fully_inside_rect(), EM_check_backbuf(), EM_select_edge(), em_solidoffs, lasso_inside(), and lasso_inside_edge().
Referenced by do_lasso_select_mesh().
static void do_lasso_select_mesh__doSelectFace | ( | void * | userData, |
EditFace * | efa, | ||
int | x, | ||
int | y, | ||
int | UNUSEDindex | ||
) | [static] |
Definition at line 482 of file view3d_select.c.
References BLI_in_rcti(), data, EM_select_face_fgon(), and lasso_inside().
Referenced by do_lasso_select_mesh().
static void do_lasso_select_mesh__doSelectVert | ( | void * | userData, |
EditVert * | eve, | ||
int | x, | ||
int | y, | ||
int | UNUSEDindex | ||
) | [static] |
Definition at line 455 of file view3d_select.c.
References BLI_in_rcti(), data, EditVert::f, and lasso_inside().
Referenced by do_lasso_select_mesh().
static void do_lasso_select_meta | ( | ViewContext * | vc, |
int | mcords[][2], | ||
short | moves, | ||
short | extend, | ||
short | select | ||
) | [static] |
Definition at line 731 of file view3d_select.c.
References ViewContext::ar, Object::data, MetaBall::editelems, ListBase::first, if(), lasso_inside(), mul_v3_m4v3(), ViewContext::obedit, Object::obmat, project_short(), and SELECT.
Referenced by view3d_lasso_select().
static void do_lasso_select_objects | ( | ViewContext * | vc, |
int | mcords[][2], | ||
short | moves, | ||
short | extend, | ||
short | select | ||
) | [static] |
Definition at line 417 of file view3d_select.c.
References ViewContext::ar, BA_DESELECT, BA_SELECT, Scene::base, BASE_SELECTABLE, do_lasso_select_pose(), ED_base_object_select(), ListBase::first, Base::flag, Object::flag, lasso_inside(), Object::mode, Base::next, OB_MODE_POSE, Base::object, object_deselect_all_visible(), Object::obmat, project_short(), ViewContext::scene, Base::sx, Base::sy, and ViewContext::v3d.
Referenced by view3d_lasso_select().
static void do_lasso_select_paintface | ( | ViewContext * | vc, |
int | mcords[][2], | ||
short | moves, | ||
short | extend, | ||
short | select | ||
) | [static] |
Definition at line 838 of file view3d_select.c.
References Object::data, EM_backbuf_checkAndSelectTFaces(), EM_free_backbuf(), EM_mask_init_backbuf_border(), em_vertoffs, FALSE, lasso_select_boundbox(), NULL, ViewContext::obact, paintface_deselect_all_visible(), paintface_flush_flags(), ImBuf::rect, SEL_DESELECT, Mesh::totface, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by view3d_lasso_select().
static void do_lasso_select_paintvert | ( | ViewContext * | vc, |
int | mcords[][2], | ||
short | moves, | ||
short | extend, | ||
short | select | ||
) | [static] |
Definition at line 816 of file view3d_select.c.
References Object::data, EM_backbuf_checkAndSelectVerts_obmode(), EM_free_backbuf(), EM_mask_init_backbuf_border(), em_vertoffs, FALSE, lasso_select_boundbox(), NULL, ViewContext::obact, paintvert_deselect_all_visible(), paintvert_flush_flags(), ImBuf::rect, SEL_DESELECT, Mesh::totvert, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by view3d_lasso_select().
static void do_lasso_select_pose | ( | ViewContext * | vc, |
Object * | ob, | ||
int | mcords[][2], | ||
short | moves, | ||
short | select | ||
) | [static] |
Definition at line 382 of file view3d_select.c.
References ViewContext::ar, bPoseChannel::bone, BONE_SELECTED, BONE_UNSELECTABLE, bPose::chanbase, Object::data, ListBase::first, Bone::flag, lasso_inside_edge(), mul_v3_m4v3(), bPoseChannel::next, NULL, OB_ARMATURE, Object::obmat, PBONE_VISIBLE, Object::pose, bPoseChannel::pose_head, bPoseChannel::pose_tail, project_int(), and Object::type.
Referenced by do_lasso_select_objects().
static int do_lattice_box_select | ( | ViewContext * | vc, |
rcti * | rect, | ||
int | select, | ||
int | extend | ||
) | [static] |
Definition at line 1701 of file view3d_select.c.
References data, do_lattice_box_select__doSelect(), ED_setflagsLatt(), ED_view3d_init_mats_rv3d(), lattice_foreachScreenVert(), ViewContext::obedit, OPERATOR_FINISHED, and ViewContext::rv3d.
Referenced by view3d_borderselect_exec().
static void do_lattice_box_select__doSelect | ( | void * | userData, |
BPoint * | bp, | ||
int | x, | ||
int | y | ||
) | [static] |
Definition at line 1693 of file view3d_select.c.
References BLI_in_rcti(), data, BPoint::f1, and SELECT.
Referenced by do_lattice_box_select().
static int do_mesh_box_select | ( | ViewContext * | vc, |
rcti * | rect, | ||
int | select, | ||
int | extend | ||
) | [static] |
Definition at line 1751 of file view3d_select.c.
References data, do_mesh_box_select__doSelectEdge(), do_mesh_box_select__doSelectFace(), do_mesh_box_select__doSelectVert(), ED_view3d_init_mats_rv3d(), ViewContext::em, EM_backbuf_checkAndSelectFaces(), EM_backbuf_checkAndSelectVerts(), EM_deselect_all(), EM_free_backbuf(), EM_init_backbuf_border(), EM_selectmode_flush(), glLoadMatrixf, mesh_foreachScreenEdge(), mesh_foreachScreenFace(), mesh_foreachScreenVert(), ViewContext::obedit, OPERATOR_FINISHED, ViewContext::rv3d, SCE_SELECT_EDGE, SCE_SELECT_FACE, SCE_SELECT_VERTEX, ViewContext::scene, ToolSettings::selectmode, Scene::toolsettings, V3D_CLIP_TEST_OFF, V3D_CLIP_TEST_RV3D_CLIPPING, RegionView3D::viewmat, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by view3d_borderselect_exec().
static void do_mesh_box_select__doSelectEdge | ( | void * | userData, |
EditEdge * | eed, | ||
int | x0, | ||
int | y0, | ||
int | x1, | ||
int | y1, | ||
int | index | ||
) | [static] |
Definition at line 1726 of file view3d_select.c.
References data, edge_fully_inside_rect(), edge_inside_rect(), EM_check_backbuf(), EM_select_edge(), and em_solidoffs.
Referenced by do_mesh_box_select().
static void do_mesh_box_select__doSelectFace | ( | void * | userData, |
EditFace * | efa, | ||
int | x, | ||
int | y, | ||
int | UNUSEDindex | ||
) | [static] |
Definition at line 1743 of file view3d_select.c.
References BLI_in_rcti(), data, and EM_select_face_fgon().
Referenced by do_mesh_box_select().
static void do_mesh_box_select__doSelectVert | ( | void * | userData, |
EditVert * | eve, | ||
int | x, | ||
int | y, | ||
int | UNUSEDindex | ||
) | [static] |
Definition at line 1718 of file view3d_select.c.
References BLI_in_rcti(), data, and EditVert::f.
Referenced by do_mesh_box_select().
static int do_meta_box_select | ( | ViewContext * | vc, |
rcti * | rect, | ||
int | select, | ||
int | extend | ||
) | [static] |
Definition at line 1806 of file view3d_select.c.
References Object::data, MetaBall::editelems, ListBase::first, MAXPICKBUF, MB_SCALE_RAD, ViewContext::obedit, OPERATOR_FINISHED, SELECT, and view3d_opengl_select().
Referenced by view3d_borderselect_exec().
static int do_nurbs_box_select | ( | ViewContext * | vc, |
rcti * | rect, | ||
int | select, | ||
int | extend | ||
) | [static] |
Definition at line 1676 of file view3d_select.c.
References CU_deselect_all(), data, do_nurbs_box_select__doSelect(), ED_view3d_init_mats_rv3d(), nurbs_foreachScreenVert(), ViewContext::obedit, OPERATOR_FINISHED, and ViewContext::rv3d.
Referenced by view3d_borderselect_exec().
static void do_nurbs_box_select__doSelect | ( | void * | userData, |
Nurb * | UNUSEDnu, | ||
BPoint * | bp, | ||
BezTriple * | bezt, | ||
int | beztindex, | ||
int | x, | ||
int | y | ||
) | [static] |
Definition at line 1648 of file view3d_select.c.
References BLI_in_rcti(), CU_HIDE_HANDLES, Object::data, data, Curve::drawflag, BezTriple::f1, BPoint::f1, BezTriple::f2, BezTriple::f3, if(), Curve::lastsel, NULL, and SELECT.
Referenced by do_nurbs_box_select().
static int do_object_pose_box_select | ( | bContext * | C, |
ViewContext * | vc, | ||
rcti * | rect, | ||
int | select, | ||
int | extend | ||
) | [static] |
Definition at line 1913 of file view3d_select.c.
References bArmature::act_bone, BA_DESELECT, BA_SELECT, Scene::base, BASE_SELECTABLE, BONE_ROOTSEL, BONE_SELECTED, BONE_TIPSEL, BONE_UNSELECTABLE, BONESEL_ANY, CTX_DATA_BEGIN, CTX_DATA_END, Object::data, ED_base_object_select(), ListBase::first, Bone::flag, get_indexed_bone(), MAXPICKBUF, MEM_freeN(), MEM_mallocN(), Object::mode, NC_OBJECT, NC_SCENE, ND_BONE_SELECT, ND_OB_SELECT, Base::next, NULL, OB_MODE_POSE, ViewContext::obact, Base::object, object_deselect_all_visible(), OPERATOR_CANCELLED, OPERATOR_FINISHED, ViewContext::scene, Base::selcol, ViewContext::v3d, view3d_opengl_select(), and WM_event_add_notifier().
Referenced by view3d_borderselect_exec().
int do_paintvert_box_select | ( | ViewContext * | vc, |
rcti * | rect, | ||
int | select, | ||
int | extend | ||
) |
Definition at line 756 of file view3d_select.c.
References ViewContext::ar, B_ENDIAN, Object::data, ENDIAN_ORDER, FALSE, MVert::flag, IB_rect, IMB_allocImBuf(), IMB_convert_rgba_to_abgr(), IMB_freeImBuf(), ImBuf::index, ME_HIDE, MEM_callocN(), MEM_freeN(), Mesh::mvert, NULL, ViewContext::obact, OPERATOR_CANCELLED, OPERATOR_FINISHED, paintvert_deselect_all_visible(), paintvert_flush_flags(), ImBuf::rect, SEL_DESELECT, SELECT, Mesh::totvert, view3d_validate_backbuf(), ARegion::winrct, WM_framebuffer_to_index(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by view3d_borderselect_exec().
Definition at line 1389 of file view3d_select.c.
References Scene::base, ListBase::first, MAXPICKBUF, mixed_bones_object_selectbuffer(), mouse_select_eval_buffer(), NULL, ViewContext::scene, view3d_operator_needs_opengl(), and view3d_set_viewcontext().
Referenced by drop_named_image_invoke(), drop_named_material_invoke(), view3d_ima_bg_drop_poll(), and view3d_ima_ob_drop_poll().
static int edge_fully_inside_rect | ( | rcti * | rect, |
short | x1, | ||
short | y1, | ||
short | x2, | ||
short | y2 | ||
) | [static] |
Definition at line 271 of file view3d_select.c.
References BLI_in_rcti().
Referenced by do_lasso_select_mesh__doSelectEdge(), do_mesh_box_select__doSelectEdge(), and edge_inside_rect().
int edge_inside_circle | ( | short | centx, |
short | centy, | ||
short | rad, | ||
short | x1, | ||
short | y1, | ||
short | x2, | ||
short | y2 | ||
) |
Definition at line 1626 of file view3d_select.c.
References dist_to_line_segment_v2().
Referenced by armature_circle_select(), gp_stroke_eraser_strokeinside(), and mesh_circle_doSelectEdge().
static int edge_inside_rect | ( | rcti * | rect, |
short | x1, | ||
short | y1, | ||
short | x2, | ||
short | y2 | ||
) | [static] |
Definition at line 276 of file view3d_select.c.
References edge_fully_inside_rect(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by do_mesh_box_select__doSelectEdge().
static void EM_backbuf_checkAndSelectEdges | ( | EditMesh * | em, |
int | select | ||
) | [static] |
Definition at line 181 of file view3d_select.c.
References EditMesh::edges, EM_check_backbuf(), EM_select_edge(), em_solidoffs, ListBase::first, EditEdge::h, and EditEdge::next.
Referenced by mesh_circle_select().
static void EM_backbuf_checkAndSelectFaces | ( | EditMesh * | em, |
int | select | ||
) | [static] |
Definition at line 195 of file view3d_select.c.
References EM_check_backbuf(), EM_select_face_fgon(), EditMesh::faces, ListBase::first, EditFace::h, and EditFace::next.
Referenced by do_lasso_select_mesh(), do_mesh_box_select(), and mesh_circle_select().
static void EM_backbuf_checkAndSelectTFaces | ( | Mesh * | me, |
int | select | ||
) | [static] |
Definition at line 227 of file view3d_select.c.
References EM_check_backbuf(), MFace::flag, ME_FACE_SEL, Mesh::mface, and Mesh::totface.
Referenced by do_lasso_select_paintface(), and paint_facesel_circle_select().
static void EM_backbuf_checkAndSelectVerts | ( | EditMesh * | em, |
int | select | ||
) | [static] |
Definition at line 167 of file view3d_select.c.
References EM_check_backbuf(), em_wireoffs, EditVert::f, ListBase::first, EditVert::h, EditVert::next, and EditMesh::verts.
Referenced by do_lasso_select_mesh(), do_mesh_box_select(), and mesh_circle_select().
static void EM_backbuf_checkAndSelectVerts_obmode | ( | Mesh * | me, |
int | select | ||
) | [static] |
Definition at line 211 of file view3d_select.c.
References EM_check_backbuf(), MVert::flag, ME_HIDE, Mesh::mvert, SELECT, and Mesh::totvert.
Referenced by do_lasso_select_paintvert(), and paint_vertsel_circle_select().
int lasso_inside | ( | int | mcords[][2], |
short | moves, | ||
int | sx, | ||
int | sy | ||
) |
Definition at line 305 of file view3d_select.c.
References cross(), dot(), fabs(), IS_CLIPPED, len(), saacos(), and sqrt().
Referenced by do_lasso_select_armature(), do_lasso_select_curve__doSelect(), do_lasso_select_lattice__doSelect(), do_lasso_select_mesh__doSelectEdge(), do_lasso_select_mesh__doSelectFace(), do_lasso_select_mesh__doSelectVert(), do_lasso_select_meta(), do_lasso_select_objects(), lasso_inside_edge(), and PE_lasso_select().
int lasso_inside_edge | ( | int | mcords[][2], |
short | moves, | ||
int | x0, | ||
int | y0, | ||
int | x1, | ||
int | y1 | ||
) |
Definition at line 353 of file view3d_select.c.
References IS_CLIPPED, isect_line_line_v2_int(), and lasso_inside().
Referenced by do_lasso_select_armature(), do_lasso_select_mesh__doSelectEdge(), and do_lasso_select_pose().
static void lasso_select_boundbox | ( | rcti * | rect, |
int | mcords[][2], | ||
short | moves | ||
) | [static] |
Definition at line 440 of file view3d_select.c.
References rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by do_lasso_select_mesh(), do_lasso_select_paintface(), and do_lasso_select_paintvert().
static void lattice_circle_select | ( | ViewContext * | vc, |
int | select, | ||
const int | mval[2], | ||
float | rad | ||
) | [static] |
Definition at line 2418 of file view3d_select.c.
References data, ED_view3d_init_mats_rv3d(), lattice_foreachScreenVert(), latticecurve_circle_doSelect(), ViewContext::obedit, and ViewContext::rv3d.
Referenced by obedit_circle_select().
static void latticecurve_circle_doSelect | ( | void * | userData, |
BPoint * | bp, | ||
int | x, | ||
int | y | ||
) | [static] |
Definition at line 2408 of file view3d_select.c.
References data, BPoint::f1, SELECT, and sqrt().
Referenced by lattice_circle_select().
static void mesh_circle_doSelectEdge | ( | void * | userData, |
EditEdge * | eed, | ||
int | x0, | ||
int | y0, | ||
int | x1, | ||
int | y1, | ||
int | UNUSEDindex | ||
) | [static] |
Definition at line 2262 of file view3d_select.c.
References data, edge_inside_circle(), and EM_select_edge().
Referenced by mesh_circle_select().
static void mesh_circle_doSelectFace | ( | void * | userData, |
EditFace * | efa, | ||
int | x, | ||
int | y, | ||
int | UNUSEDindex | ||
) | [static] |
Definition at line 2270 of file view3d_select.c.
References data, EM_select_face_fgon(), and sqrt().
Referenced by mesh_circle_select().
static void mesh_circle_doSelectVert | ( | void * | userData, |
EditVert * | eve, | ||
int | x, | ||
int | y, | ||
int | UNUSEDindex | ||
) | [static] |
Definition at line 2252 of file view3d_select.c.
References data, EditVert::f, and sqrt().
Referenced by mesh_circle_select().
static void mesh_circle_select | ( | ViewContext * | vc, |
int | select, | ||
const int | mval[2], | ||
float | rad | ||
) | [static] |
Definition at line 2281 of file view3d_select.c.
References Object::data, data, ED_view3d_init_mats_rv3d(), ViewContext::em, EM_backbuf_checkAndSelectEdges(), EM_backbuf_checkAndSelectFaces(), EM_backbuf_checkAndSelectVerts(), EM_free_backbuf(), EM_init_backbuf_circle(), EM_selectmode_flush(), LEFTMOUSE, mesh_circle_doSelectEdge(), mesh_circle_doSelectFace(), mesh_circle_doSelectVert(), mesh_foreachScreenEdge(), mesh_foreachScreenFace(), mesh_foreachScreenVert(), ViewContext::obedit, ViewContext::rv3d, SCE_SELECT_EDGE, SCE_SELECT_FACE, SCE_SELECT_VERTEX, ViewContext::scene, ToolSettings::selectmode, Scene::toolsettings, V3D_CLIP_TEST_OFF, and V3D_CLIP_TEST_RV3D_CLIPPING.
Referenced by obedit_circle_select().
static short mixed_bones_object_selectbuffer | ( | ViewContext * | vc, |
unsigned int * | buffer, | ||
const int | mval[2] | ||
) | [static] |
Definition at line 1239 of file view3d_select.c.
References BLI_init_rcti(), MAXPICKBUF, offs, and view3d_opengl_select().
Referenced by ED_view3d_give_base_under_cursor(), and mouse_select().
static int mouse_select | ( | bContext * | C, |
const int | mval[2], | ||
short | extend, | ||
short | obcenter, | ||
short | enumerate | ||
) | [static] |
Definition at line 1433 of file view3d_select.c.
References abs(), BA_DESELECT, BA_SELECT, BASACT, BASE_SELECTABLE, BKE_tracking_deselect_track(), BKE_tracking_indexed_track(), BKE_tracking_select_track(), CTX_data_scene(), CTX_wm_region(), CTX_wm_view3d(), deselect_all_tracks(), deselectall_except(), ED_base_object_activate(), ED_base_object_select(), ED_do_pose_selectbuffer(), FIRSTBASE, i, MAXPICKBUF, mixed_bones_object_selectbuffer(), mouse_select_eval_buffer(), NC_MOVIECLIP, NC_OBJECT, NC_SCENE, ND_BONE_ACTIVE, ND_BONE_SELECT, ND_OB_SELECT, ND_SELECT, Base::next, NULL, OB_CAMERA, OB_MODE_WEIGHT_PAINT, ViewContext::obedit, Base::object, object_get_movieclip(), object_mouse_select_menu(), Object::obmat, project_short(), SELECT, Base::sx, Base::sy, TRACK_AREA_ALL, TRACK_SELECTED, MovieClip::tracking, view3d_set_viewcontext(), and WM_event_add_notifier().
Referenced by view3d_select_invoke().
static Base* mouse_select_eval_buffer | ( | ViewContext * | vc, |
unsigned int * | buffer, | ||
int | hits, | ||
const int | mval[2], | ||
Base * | startbase, | ||
int | has_bones | ||
) | [static] |
Definition at line 1296 of file view3d_select.c.
References ABS, BASACT, BASE_SELECTABLE, View3D::drawtype, FIRSTBASE, min, Base::next, NULL, OB_RESTRICT_SELECT, OB_WIRE, Base::object, Object::restrictflag, ViewContext::scene, Base::selcol, SELECT, and ViewContext::v3d.
Referenced by ED_view3d_give_base_under_cursor(), and mouse_select().
static int mouse_weight_paint_vertex_select | ( | bContext * | C, |
const int | mval[2], | ||
short | extend, | ||
Object * | obact | ||
) | [static] |
Definition at line 2149 of file view3d_select.c.
References Object::data, FALSE, MVert::flag, Mesh::mvert, NC_GEOM, ND_SELECT, paintvert_deselect_all_visible(), paintvert_flush_flags(), SEL_DESELECT, SELECT, vertsel_vert_pick(), and WM_event_add_notifier().
Referenced by view3d_select_invoke().
static void nurbscurve_circle_doSelect | ( | void * | userData, |
Nurb * | UNUSEDnu, | ||
BPoint * | bp, | ||
BezTriple * | bezt, | ||
int | beztindex, | ||
int | x, | ||
int | y | ||
) | [static] |
Definition at line 2360 of file view3d_select.c.
References CU_HIDE_HANDLES, Object::data, data, Curve::drawflag, BezTriple::f1, BPoint::f1, BezTriple::f2, BezTriple::f3, if(), Curve::lastsel, NULL, SELECT, and sqrt().
Referenced by nurbscurve_circle_select().
static void nurbscurve_circle_select | ( | ViewContext * | vc, |
int | select, | ||
const int | mval[2], | ||
float | rad | ||
) | [static] |
Definition at line 2391 of file view3d_select.c.
References data, ED_view3d_init_mats_rv3d(), nurbs_foreachScreenVert(), nurbscurve_circle_doSelect(), ViewContext::obedit, and ViewContext::rv3d.
Referenced by obedit_circle_select().
static void obedit_circle_select | ( | ViewContext * | vc, |
short | select, | ||
const int | mval[2], | ||
float | rad | ||
) | [static] |
Callbacks for circle selection in Editmode
Definition at line 2577 of file view3d_select.c.
References armature_circle_select(), lattice_circle_select(), mesh_circle_select(), nurbscurve_circle_select(), OB_ARMATURE, OB_CURVE, OB_LATTICE, OB_MESH, OB_SURF, ViewContext::obedit, and Object::type.
Referenced by view3d_circle_select_exec().
Definition at line 406 of file view3d_select.c.
References BA_DESELECT, Scene::base, BASE_SELECTABLE, ED_base_object_select(), ListBase::first, and Base::next.
Referenced by do_lasso_select_objects(), and do_object_pose_box_select().
static Base* object_mouse_select_menu | ( | bContext * | C, |
ViewContext * | vc, | ||
unsigned int * | buffer, | ||
int | hits, | ||
const int | mval[2], | ||
short | extend | ||
) | [static] |
Definition at line 1161 of file view3d_select.c.
References abs(), ViewContext::ar, BLI_linklist_free(), BLI_linklist_prepend(), BLI_strncpy(), CTX_DATA_BEGIN, CTX_DATA_END, FALSE, i, SelMenuItemF::icon, Object::id, LinkNode::link, MAX_ID_NAME, ID::name, LinkNode::next, NULL, Base::object, Object::obmat, project_short(), RNA_boolean_set(), SEL_MENU_SIZE, Base::selcol, Base::sx, Base::sy, TRUE, uiIconFromID(), WM_OP_INVOKE_DEFAULT, WM_operator_name_call(), WM_operator_properties_create(), and WM_operator_properties_free().
Referenced by mouse_select().
static EnumPropertyItem* object_select_menu_enum_itemf | ( | bContext * | C, |
PointerRNA * | UNUSEDptr, | ||
PropertyRNA * | UNUSEDprop, | ||
int * | free | ||
) | [static] |
Definition at line 1058 of file view3d_select.c.
References DummyRNA_NULL_items, i, SelMenuItemF::icon, SelMenuItemF::idname, EnumPropertyItem::name, NULL, RNA_enum_item_add(), RNA_enum_item_end(), and SEL_MENU_SIZE.
Referenced by VIEW3D_OT_select_menu().
static int object_select_menu_exec | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 1083 of file view3d_select.c.
References BA_DESELECT, BA_SELECT, CTX_DATA_BEGIN, CTX_DATA_END, CTX_data_scene(), ED_base_object_activate(), ED_base_object_select(), Base::flag, Object::id, SelMenuItemF::idname, ID::name, NC_SCENE, ND_OB_SELECT, Base::object, OPERATOR_CANCELLED, OPERATOR_FINISHED, wmOperator::ptr, RNA_boolean_get(), RNA_enum_get(), SELECT, and WM_event_add_notifier().
Referenced by VIEW3D_OT_select_menu().
static void paint_facesel_circle_select | ( | ViewContext * | vc, |
int | select, | ||
const int | mval[2], | ||
float | rad | ||
) | [static] |
Definition at line 2326 of file view3d_select.c.
References Object::data, EM_backbuf_checkAndSelectTFaces(), EM_free_backbuf(), EM_init_backbuf_circle(), em_vertoffs, LEFTMOUSE, NULL, ViewContext::obact, and Mesh::totface.
Referenced by view3d_circle_select_exec().
static void paint_vertsel_circle_select | ( | ViewContext * | vc, |
int | select, | ||
const int | mval[2], | ||
float | rad | ||
) | [static] |
Definition at line 2342 of file view3d_select.c.
References Object::data, EM_backbuf_checkAndSelectVerts_obmode(), EM_free_backbuf(), EM_init_backbuf_circle(), em_vertoffs, LEFTMOUSE, NULL, ViewContext::obact, paintvert_flush_flags(), and Mesh::totvert.
Referenced by view3d_circle_select_exec().
static short pchan_circle_doSelectJoint | ( | void * | userData, |
bPoseChannel * | pchan, | ||
int | x, | ||
int | y | ||
) | [static] |
Definition at line 2435 of file view3d_select.c.
References bPoseChannel::bone, BONE_SELECTED, data, Bone::flag, and sqrt().
Referenced by pose_circle_select().
static void pose_circle_select | ( | ViewContext * | vc, |
int | select, | ||
const int | mval[2], | ||
float | rad | ||
) | [static] |
Definition at line 2450 of file view3d_select.c.
References ViewContext::ar, bPose::chanbase, data, ED_view3d_init_mats_rv3d(), FALSE, ListBase::first, mul_v3_m4v3(), NC_OBJECT, ND_BONE_SELECT, bPoseChannel::next, ViewContext::obact, Object::obmat, pchan_circle_doSelectJoint(), Object::pose, bPoseChannel::pose_head, bPoseChannel::pose_tail, project_short(), ViewContext::rv3d, and WM_main_add_notifier().
Referenced by view3d_circle_select_exec().
static int vertsel_vert_pick | ( | struct bContext * | C, |
Mesh * | me, | ||
const int | mval[2], | ||
unsigned int * | index, | ||
int | size | ||
) | [static] |
Definition at line 2119 of file view3d_select.c.
References NULL, Mesh::totvert, view3d_sample_backbuf(), view3d_sample_backbuf_rect(), and view3d_set_viewcontext().
Referenced by mouse_weight_paint_vertex_select().
static int view3d_borderselect_exec | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 2011 of file view3d_select.c.
References assert, Object::data, do_armature_box_select(), do_lattice_box_select(), do_mesh_box_select(), do_meta_box_select(), do_nurbs_box_select(), do_object_pose_box_select(), do_paintface_box_select(), do_paintvert_box_select(), ViewContext::em, GESTURE_MODAL_SELECT, Object::mode, NC_GEOM, NC_OBJECT, ND_BONE_SELECT, ND_SELECT, OB_ARMATURE, OB_CURVE, OB_LATTICE, OB_MBALL, OB_MESH, OB_MODE_PARTICLE_EDIT, OB_MODE_SCULPT, OB_SURF, ViewContext::obact, ViewContext::obedit, OPERATOR_CANCELLED, OPERATOR_FINISHED, paint_facesel_test(), paint_vertsel_test(), PE_border_select(), wmOperator::ptr, RNA_boolean_get(), RNA_int_get(), Object::type, view3d_operator_needs_opengl(), view3d_set_viewcontext(), WM_event_add_notifier(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by VIEW3D_OT_select_border().
static int view3d_circle_select_exec | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 2599 of file view3d_select.c.
References BA_DESELECT, BA_SELECT, BASE_SELECTABLE, CTX_data_active_object(), CTX_data_edit_object(), CTX_data_scene(), CTX_wm_area(), CTX_wm_region(), Object::data, ED_base_object_select(), ListBase::first, FIRSTBASE, GESTURE_MODAL_SELECT, IS_CLIPPED, Object::mode, NC_GEOM, NC_SCENE, ND_OB_SELECT, ND_SELECT, Base::next, OB_MODE_PARTICLE_EDIT, OB_MODE_POSE, OB_MODE_SCULPT, obedit_circle_select(), Base::object, Object::obmat, OPERATOR_CANCELLED, OPERATOR_FINISHED, paint_facesel_circle_select(), paint_facesel_test(), paint_vertsel_circle_select(), paint_vertsel_test(), PE_circle_select(), pose_circle_select(), project_short(), wmOperator::ptr, RNA_int_get(), ScrArea::spacedata, Base::sx, Base::sy, view3d_operator_needs_opengl(), view3d_set_viewcontext(), and WM_event_add_notifier().
Referenced by VIEW3D_OT_select_circle().
void view3d_get_transformation | ( | const ARegion * | ar, |
RegionView3D * | rv3d, | ||
Object * | ob, | ||
bglMats * | mats | ||
) |
Definition at line 139 of file view3d_select.c.
References copy_m4_m4(), i, bglMats::modelview, mult_m4_m4m4(), Object::obmat, bglMats::projection, RegionView3D::viewmat, bglMats::viewport, RegionView3D::winmat, ARegion::winrct, ARegion::winx, ARegion::winy, rcti::xmin, and rcti::ymin.
int view3d_get_view_aligned_coordinate | ( | ViewContext * | vc, |
float | fp[3], | ||
const int | mval[2], | ||
const short | do_fallback | ||
) |
Definition at line 104 of file view3d_select.c.
References ViewContext::ar, ED_view3d_win_to_delta(), FALSE, initgrabz(), IS_CLIPPED, negate_v3_v3(), RegionView3D::ofs, project_int_noclip(), ViewContext::rv3d, sub_v3_v3(), TRUE, VECSUB2D, and view3d_get_view_aligned_coordinate().
Referenced by add_vertex_invoke(), dupli_extrude_cursor(), and view3d_get_view_aligned_coordinate().
static void view3d_lasso_select | ( | bContext * | C, |
ViewContext * | vc, | ||
int | mcords[][2], | ||
short | moves, | ||
short | extend, | ||
short | select | ||
) | [static] |
Definition at line 893 of file view3d_select.c.
References assert, CTX_data_active_object(), Object::data, do_lasso_select_armature(), do_lasso_select_curve(), do_lasso_select_lattice(), do_lasso_select_mesh(), do_lasso_select_meta(), do_lasso_select_objects(), do_lasso_select_paintface(), do_lasso_select_paintvert(), Object::mode, NC_GEOM, NC_SCENE, ND_OB_SELECT, ND_SELECT, NULL, OB_ARMATURE, OB_CURVE, OB_LATTICE, OB_MBALL, OB_MESH, OB_MODE_PARTICLE_EDIT, OB_MODE_TEXTURE_PAINT, OB_MODE_VERTEX_PAINT, OB_MODE_WEIGHT_PAINT, OB_SURF, ViewContext::obedit, paint_facesel_test(), paint_vertsel_test(), PE_lasso_select(), ViewContext::scene, Object::type, and WM_event_add_notifier().
Referenced by view3d_lasso_select_exec().
static int view3d_lasso_select_exec | ( | bContext * | C, |
wmOperator * | op | ||
) | [static] |
Definition at line 940 of file view3d_select.c.
References i, OPERATOR_FINISHED, OPERATOR_PASS_THROUGH, wmOperator::ptr, RNA_BEGIN, RNA_boolean_get(), RNA_END, RNA_float_get_array(), view3d_lasso_select(), view3d_operator_needs_opengl(), and view3d_set_viewcontext().
Referenced by VIEW3D_OT_select_lasso().
void VIEW3D_OT_select | ( | wmOperatorType * | ot | ) |
Definition at line 2228 of file view3d_select.c.
References wmOperatorType::description, ED_operator_view3d_active(), wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_boolean(), wmOperatorType::srna, and view3d_select_invoke().
Referenced by view3d_operatortypes().
void VIEW3D_OT_select_border | ( | wmOperatorType * | ot | ) |
Definition at line 2096 of file view3d_select.c.
References wmOperatorType::cancel, wmOperatorType::description, wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::modal, wmOperatorType::name, OPTYPE_UNDO, wmOperatorType::poll, TRUE, view3d_borderselect_exec(), view3d_selectable_data(), WM_border_select_cancel(), WM_border_select_invoke(), WM_border_select_modal(), and WM_operator_properties_gesture_border().
Referenced by view3d_operatortypes().
void VIEW3D_OT_select_circle | ( | wmOperatorType * | ot | ) |
Definition at line 2667 of file view3d_select.c.
References wmOperatorType::cancel, wmOperatorType::description, wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::modal, wmOperatorType::name, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_int(), wmOperatorType::srna, view3d_circle_select_exec(), view3d_selectable_data(), WM_gesture_circle_cancel(), WM_gesture_circle_invoke(), and WM_gesture_circle_modal().
Referenced by view3d_operatortypes().
void VIEW3D_OT_select_lasso | ( | wmOperatorType * | ot | ) |
Definition at line 973 of file view3d_select.c.
References wmOperatorType::cancel, wmOperatorType::description, wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::modal, wmOperatorType::name, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_boolean(), RNA_def_collection_runtime(), RNA_OperatorMousePath, wmOperatorType::srna, view3d_lasso_select_exec(), view3d_selectable_data(), WM_gesture_lasso_cancel(), WM_gesture_lasso_invoke(), and WM_gesture_lasso_modal().
Referenced by view3d_operatortypes().
void VIEW3D_OT_select_menu | ( | wmOperatorType * | ot | ) |
Definition at line 1123 of file view3d_select.c.
References wmOperatorType::description, DummyRNA_NULL_items, wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, object_select_menu_enum_itemf(), object_select_menu_exec(), OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::prop, PROP_HIDDEN, RNA_def_boolean(), RNA_def_enum(), RNA_def_enum_funcs(), RNA_def_property_flag(), wmOperatorType::srna, and WM_menu_invoke().
Referenced by view3d_operatortypes().
static int view3d_select_invoke | ( | bContext * | C, |
wmOperator * | op, | ||
wmEvent * | event | ||
) | [static] |
Definition at line 2173 of file view3d_select.c.
References CTX_data_active_object(), CTX_data_edit_object(), ELEM, FALSE, Object::mode, mouse_armature(), mouse_lattice(), mouse_mball(), mouse_mesh(), mouse_nurb(), mouse_select(), mouse_weight_paint_vertex_select(), wmEvent::mval, NULL, OB_ARMATURE, OB_CURVE, OB_LATTICE, OB_MBALL, OB_MESH, OB_MODE_PARTICLE_EDIT, OB_MODE_SCULPT, OB_SURF, OPERATOR_CANCELLED, OPERATOR_FINISHED, OPERATOR_PASS_THROUGH, paint_facesel_test(), paint_vertsel_test(), paintface_mouse_select(), PE_mouse_particles(), wmOperator::ptr, RNA_boolean_get(), Object::type, and view3d_operator_needs_opengl().
Referenced by VIEW3D_OT_select().
static int view3d_selectable_data | ( | bContext * | C | ) | [static] |
Definition at line 243 of file view3d_select.c.
References CTX_data_active_object(), ED_operator_region_view3d_active(), Object::mode, OB_FONT, OB_MODE_EDIT, OB_MODE_SCULPT, OB_MODE_TEXTURE_PAINT, OB_MODE_VERTEX_PAINT, OB_MODE_WEIGHT_PAINT, paint_facesel_test(), paint_vertsel_test(), and Object::type.
Referenced by VIEW3D_OT_select_border(), VIEW3D_OT_select_circle(), and VIEW3D_OT_select_lasso().
void view3d_set_viewcontext | ( | bContext * | C, |
ViewContext * | vc | ||
) |
Definition at line 93 of file view3d_select.c.
References ViewContext::ar, CTX_data_active_object(), CTX_data_edit_object(), CTX_data_scene(), CTX_wm_region(), CTX_wm_region_view3d(), CTX_wm_view3d(), ViewContext::obact, ViewContext::obedit, ViewContext::rv3d, ViewContext::scene, and ViewContext::v3d.
Referenced by add_vertex_invoke(), ED_view3d_give_base_under_cursor(), em_setup_viewcontext(), facesel_face_pick(), get_nearest_bone(), mouse_armature(), mouse_lattice(), mouse_mball(), mouse_nurb(), mouse_select(), paint_draw_cursor(), paint_stroke_new(), PE_set_view3d_data(), select_linked_pick_invoke(), sk_selectStroke(), texture_paint_init(), vertsel_vert_pick(), view3d_borderselect_exec(), view3d_circle_select_exec(), view3d_clipping_exec(), view3d_lasso_select_exec(), vpaint_stroke_test_start(), weight_paint_sample_enum_itemf(), weight_sample_group_exec(), weight_sample_invoke(), and wpaint_stroke_test_start().
SelMenuItemF object_mouse_select_menu_data[SEL_MENU_SIZE] [static] |
Definition at line 1055 of file view3d_select.c.