Blender V4.3
ED_select_utils.hh File Reference

Go to the source code of this file.

Classes

struct  SelectPick_Params
 

Macros

#define SEL_OP_USE_OUTSIDE(sel_op)   (ELEM(sel_op, SEL_OP_AND))
 
#define SEL_OP_USE_PRE_DESELECT(sel_op)   (ELEM(sel_op, SEL_OP_SET))
 
#define SEL_OP_CAN_DESELECT(sel_op)   (!ELEM(sel_op, SEL_OP_ADD))
 

Enumerations

enum  { SEL_TOGGLE = 0 , SEL_SELECT = 1 , SEL_DESELECT = 2 , SEL_INVERT = 3 }
 
enum  WalkSelectDirection { UI_SELECT_WALK_UP , UI_SELECT_WALK_DOWN , UI_SELECT_WALK_LEFT , UI_SELECT_WALK_RIGHT }
 
enum  eSelectOp {
  SEL_OP_ADD = 1 , SEL_OP_SUB , SEL_OP_SET , SEL_OP_AND ,
  SEL_OP_XOR
}
 
enum  eSimilarCmp { SIM_CMP_EQ = 0 , SIM_CMP_GT , SIM_CMP_LT }
 

Functions

int ED_select_op_action (eSelectOp sel_op, bool is_select, bool is_inside)
 
int ED_select_op_action_deselected (eSelectOp sel_op, bool is_select, bool is_inside)
 
bool ED_select_similar_compare_float (float delta, float thresh, eSimilarCmp compare)
 
bool ED_select_similar_compare_float_tree (const KDTree_1d *tree, float length, float thresh, eSimilarCmp compare)
 
eSelectOp ED_select_op_modal (eSelectOp sel_op, bool is_first)
 
eSelectOp ED_select_op_from_operator (PointerRNA *ptr) ATTR_NONNULL(1) ATTR_WARN_UNUSED_RESULT
 
void ED_select_pick_params_from_operator (PointerRNA *ptr, SelectPick_Params *params) ATTR_NONNULL(1
 
void std::string ED_select_pick_get_name (wmOperatorType *ot, PointerRNA *ptr)
 
std::string ED_select_circle_get_name (wmOperatorType *ot, PointerRNA *ptr)
 

Macro Definition Documentation

◆ SEL_OP_CAN_DESELECT

#define SEL_OP_CAN_DESELECT ( sel_op)    (!ELEM(sel_op, SEL_OP_ADD))

Definition at line 49 of file ED_select_utils.hh.

Referenced by do_lasso_select_paintvert(), and do_paintvert_box_select().

◆ SEL_OP_USE_OUTSIDE

#define SEL_OP_USE_OUTSIDE ( sel_op)    (ELEM(sel_op, SEL_OP_AND))

Definition at line 47 of file ED_select_utils.hh.

Referenced by do_object_box_select().

◆ SEL_OP_USE_PRE_DESELECT

#define SEL_OP_USE_PRE_DESELECT ( sel_op)    (ELEM(sel_op, SEL_OP_SET))

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
SEL_TOGGLE 
SEL_SELECT 
SEL_DESELECT 
SEL_INVERT 

Definition at line 17 of file ED_select_utils.hh.

◆ eSelectOp

enum eSelectOp

See WM_operator_properties_select_operation

Enumerator
SEL_OP_ADD 
SEL_OP_SUB 
SEL_OP_SET 
SEL_OP_AND 
SEL_OP_XOR 

Definition at line 32 of file ED_select_utils.hh.

◆ eSimilarCmp

Select Similar.

Enumerator
SIM_CMP_EQ 
SIM_CMP_GT 
SIM_CMP_LT 

Definition at line 41 of file ED_select_utils.hh.

◆ WalkSelectDirection

Enumerator
UI_SELECT_WALK_UP 
UI_SELECT_WALK_DOWN 
UI_SELECT_WALK_LEFT 
UI_SELECT_WALK_RIGHT 

Definition at line 24 of file ED_select_utils.hh.

Function Documentation

◆ ED_select_circle_get_name()

◆ ED_select_op_action()

int ED_select_op_action ( eSelectOp sel_op,
bool is_select,
bool is_inside )

Use when we've de-selected all first for 'SEL_OP_SET'. 1: select, 0: deselect, -1: pass.

Definition at line 26 of file select_utils.cc.

References BLI_assert_msg, is_inside(), SEL_OP_ADD, SEL_OP_AND, SEL_OP_SET, SEL_OP_SUB, and SEL_OP_XOR.

◆ ED_select_op_action_deselected()

◆ ED_select_op_from_operator()

eSelectOp ED_select_op_from_operator ( PointerRNA * ptr)

Utility to get #eSelectPickMode from booleans for convenience.

Definition at line 133 of file select_utils.cc.

References ptr, RNA_boolean_get(), SEL_OP_ADD, SEL_OP_SET, SEL_OP_SUB, and SEL_OP_XOR.

Referenced by bone_select_menu_exec(), and ED_select_pick_params_from_operator().

◆ ED_select_op_modal()

eSelectOp ED_select_op_modal ( eSelectOp sel_op,
bool is_first )

Utility to use for selection operations that run multiple times (circle select).

Definition at line 64 of file select_utils.cc.

References SEL_OP_ADD, and SEL_OP_SET.

Referenced by action_circle_select_exec(), circle_select_exec(), circle_select_exec(), graph_circle_select_exec(), blender::ed::space_node::node_circleselect_exec(), uv_circle_select_exec(), and view3d_circle_select_exec().

◆ ED_select_pick_get_name()

void std::string ED_select_pick_get_name ( wmOperatorType * ot,
PointerRNA * ptr )

◆ ED_select_pick_params_from_operator()

void ED_select_pick_params_from_operator ( PointerRNA * ptr,
SelectPick_Params * params )

Initialize params from op, these properties are defined by WM_operator_properties_mouse_select.

Referenced by blender::ed::space_node::node_select_exec(), uv_select_exec(), and view3d_select_exec().

◆ ED_select_similar_compare_float()

bool ED_select_similar_compare_float ( float delta,
float thresh,
eSimilarCmp compare )

◆ ED_select_similar_compare_float_tree()