Blender  V3.3
Classes
uvedit_path.c File Reference
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include "BLI_linklist.h"
#include "DNA_windowmanager_types.h"
#include "MEM_guardedalloc.h"
#include "BLI_ghash.h"
#include "BLI_linklist_stack.h"
#include "BLI_math.h"
#include "BLI_math_vector.h"
#include "BLI_utildefines.h"
#include "DNA_image_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_node_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_space_types.h"
#include "BKE_context.h"
#include "BKE_customdata.h"
#include "BKE_editmesh.h"
#include "BKE_layer.h"
#include "BKE_mesh.h"
#include "BKE_report.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
#include "ED_screen.h"
#include "ED_transform.h"
#include "ED_uvedit.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "WM_api.h"
#include "WM_types.h"
#include "UI_view2d.h"
#include "intern/bmesh_marking.h"
#include "uvedit_intern.h"
#include "bmesh_tools.h"

Go to the source code of this file.

Classes

struct  PathSelectParams
 
struct  UserData_UV
 

Functions

Path Select Struct & Properties
static void path_select_properties (wmOperatorType *ot)
 
static void path_select_params_from_op (wmOperator *op, struct PathSelectParams *op_params)
 
UV Vert Path
static bool verttag_filter_cb (BMLoop *l, void *user_data_v)
 
static bool verttag_test_cb (BMLoop *l, void *user_data_v)
 
static void verttag_set_cb (BMLoop *l, bool val, void *user_data_v)
 
static int mouse_mesh_uv_shortest_path_vert (Scene *scene, Object *obedit, const struct PathSelectParams *op_params, BMLoop *l_src, BMLoop *l_dst, const float aspect_y, const int cd_loop_uv_offset)
 
UV Edge Path
static bool edgetag_filter_cb (BMLoop *l, void *user_data_v)
 
static bool edgetag_test_cb (BMLoop *l, void *user_data_v)
 
static void edgetag_set_cb (BMLoop *l, bool val, void *user_data_v)
 
static int mouse_mesh_uv_shortest_path_edge (Scene *scene, Object *obedit, const struct PathSelectParams *op_params, BMLoop *l_src, BMLoop *l_dst, const float aspect_y, const int cd_loop_uv_offset)
 
UV Face Path
static bool facetag_filter_cb (BMFace *f, void *user_data_v)
 
static bool facetag_test_cb (BMFace *f, void *user_data_v)
 
static void facetag_set_cb (BMFace *f, bool val, void *user_data_v)
 
static int mouse_mesh_uv_shortest_path_face (Scene *scene, Object *obedit, const struct PathSelectParams *op_params, BMFace *f_src, BMFace *f_dst, const float aspect_y, const int cd_loop_uv_offset)
 
Main Operator for vert/edge/face tag
static int uv_shortest_path_pick_exec (bContext *C, wmOperator *op)
 
static bool uv_shortest_path_pick_ex (Scene *scene, Depsgraph *depsgraph, Object *obedit, const struct PathSelectParams *op_params, BMElem *ele_src, BMElem *ele_dst, const float aspect_y, const int cd_loop_uv_offset)
 
static int uv_shortest_path_pick_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void UV_OT_shortest_path_pick (wmOperatorType *ot)
 
Select Path Between Existing Selection
static int uv_shortest_path_select_exec (bContext *C, wmOperator *op)
 
void UV_OT_shortest_path_select (wmOperatorType *ot)
 

Detailed Description

Note
The logic in this file closely follows editmesh_path.c

Definition in file uvedit_path.c.

Function Documentation

◆ edgetag_filter_cb()

static bool edgetag_filter_cb ( BMLoop l,
void user_data_v 
)
static

Definition at line 246 of file uvedit_path.c.

References BMLoop::f, l, user_data, and uvedit_face_visible_test().

Referenced by edgetag_test_cb(), and mouse_mesh_uv_shortest_path_edge().

◆ edgetag_set_cb()

static void edgetag_set_cb ( BMLoop l,
bool  val,
void user_data_v 
)
static

◆ edgetag_test_cb()

static bool edgetag_test_cb ( BMLoop l,
void user_data_v 
)
static

◆ facetag_filter_cb()

static bool facetag_filter_cb ( BMFace f,
void user_data_v 
)
static

Definition at line 368 of file uvedit_path.c.

References user_data, and uvedit_face_visible_test().

Referenced by mouse_mesh_uv_shortest_path_face().

◆ facetag_set_cb()

static void facetag_set_cb ( BMFace f,
bool  val,
void user_data_v 
)
static

◆ facetag_test_cb()

static bool facetag_test_cb ( BMFace f,
void user_data_v 
)
static

◆ mouse_mesh_uv_shortest_path_edge()

static int mouse_mesh_uv_shortest_path_edge ( Scene scene,
Object obedit,
const struct PathSelectParams op_params,
BMLoop l_src,
BMLoop l_dst,
const float  aspect_y,
const int  cd_loop_uv_offset 
)
static

◆ mouse_mesh_uv_shortest_path_face()

static int mouse_mesh_uv_shortest_path_face ( Scene scene,
Object obedit,
const struct PathSelectParams op_params,
BMFace f_src,
BMFace f_dst,
const float  aspect_y,
const int  cd_loop_uv_offset 
)
static

◆ mouse_mesh_uv_shortest_path_vert()

static int mouse_mesh_uv_shortest_path_vert ( Scene scene,
Object obedit,
const struct PathSelectParams op_params,
BMLoop l_src,
BMLoop l_dst,
const float  aspect_y,
const int  cd_loop_uv_offset 
)
static

◆ path_select_params_from_op()

static void path_select_params_from_op ( wmOperator op,
struct PathSelectParams op_params 
)
static

◆ path_select_properties()

static void path_select_properties ( wmOperatorType ot)
static

◆ UV_OT_shortest_path_pick()

void UV_OT_shortest_path_pick ( wmOperatorType ot)

◆ UV_OT_shortest_path_select()

void UV_OT_shortest_path_select ( wmOperatorType ot)

◆ uv_shortest_path_pick_ex()

static bool uv_shortest_path_pick_ex ( Scene scene,
Depsgraph depsgraph,
Object obedit,
const struct PathSelectParams op_params,
BMElem ele_src,
BMElem ele_dst,
const float  aspect_y,
const int  cd_loop_uv_offset 
)
static

◆ uv_shortest_path_pick_exec()

static int uv_shortest_path_pick_exec ( bContext C,
wmOperator op 
)
static

◆ uv_shortest_path_pick_invoke()

static int uv_shortest_path_pick_invoke ( bContext C,
wmOperator op,
const wmEvent event 
)
static

◆ uv_shortest_path_select_exec()

static int uv_shortest_path_select_exec ( bContext C,
wmOperator op 
)
static

◆ verttag_filter_cb()

static bool verttag_filter_cb ( BMLoop l,
void user_data_v 
)
static

◆ verttag_set_cb()

static void verttag_set_cb ( BMLoop l,
bool  val,
void user_data_v 
)
static

◆ verttag_test_cb()

static bool verttag_test_cb ( BMLoop l,
void user_data_v 
)
static