Blender V4.3
transform_convert_mesh_uv.cc File Reference
#include "MEM_guardedalloc.h"
#include "BLI_linklist_stack.h"
#include "BLI_math_geom.h"
#include "BLI_math_matrix.h"
#include "BLI_math_vector.h"
#include "BKE_context.hh"
#include "BKE_customdata.hh"
#include "BKE_editmesh.hh"
#include "BKE_mesh_mapping.hh"
#include "ED_image.hh"
#include "ED_mesh.hh"
#include "ED_uvedit.hh"
#include "WM_api.hh"
#include "transform.hh"
#include "transform_convert.hh"

Go to the source code of this file.

Classes

struct  UVGroups
 

Macros

#define TMP_LOOP_SELECT_TAG   BM_ELEM_TAG_ALT
 

Functions

UVs Transform Creation
static void UVsToTransData (const float aspect[2], float *uv, const float *center, const float calc_dist, const bool selected, BMLoop *l, TransData *r_td, TransData2D *r_td2d)
 
static void uv_set_connectivity_distance (const ToolSettings *ts, BMesh *bm, float *dists, const float aspect[2])
 
static void createTransUVs (bContext *C, TransInfo *t)
 
UVs Transform Flush
static void flushTransUVs (TransInfo *t)
 
static void recalcData_uv (TransInfo *t)
 
API for Vert and Edge Slide
static UVGroupsmesh_uv_groups_get (TransDataContainer *tc, BMesh *bm, const BMUVOffsets &offsets)
 
API for Vert Slide
Array< TransDataVertSlideVerttransform_mesh_uv_vert_slide_data_create (const TransInfo *t, TransDataContainer *tc, Vector< float3 > &r_loc_dst_buffer)
 
API for Edge Slide
static bool mesh_uv_group_is_inner (const TransDataContainer *tc, const BMUVOffsets &offsets, Span< int > group)
 
static bool bm_loop_uv_calc_opposite_co (const BMLoop *l_tmp, const float2 &uv_tmp, const BMUVOffsets &offsets, const float2 &ray_direction, float2 &r_co)
 
static float2 isect_face_dst (const BMLoop *l, const float2 &uv, const float2 &aspect, const BMUVOffsets &offsets)
 
Array< TransDataEdgeSlideVerttransform_mesh_uv_edge_slide_data_create (const TransInfo *t, TransDataContainer *tc, int *r_group_len)
 

Variables

TransConvertTypeInfo TransConvertType_MeshUV
 

Macro Definition Documentation

◆ TMP_LOOP_SELECT_TAG

#define TMP_LOOP_SELECT_TAG   BM_ELEM_TAG_ALT

Function Documentation

◆ bm_loop_uv_calc_opposite_co()

static bool bm_loop_uv_calc_opposite_co ( const BMLoop * l_tmp,
const float2 & uv_tmp,
const BMUVOffsets & offsets,
const float2 & ray_direction,
float2 & r_co )
static

Find the closest point on the ngon on the opposite side. used to set the edge slide distance for ngons.

Definition at line 759 of file transform_convert_mesh_uv.cc.

References BM_ELEM_CD_GET_FLOAT_P, blender::math::distance_squared(), FLT_MAX, isect_ray_seg_v2(), BMLoop::next, BMLoop::prev, and BMUVOffsets::uv.

Referenced by isect_face_dst().

◆ createTransUVs()

◆ flushTransUVs()

◆ isect_face_dst()

◆ mesh_uv_group_is_inner()

static bool mesh_uv_group_is_inner ( const TransDataContainer * tc,
const BMUVOffsets & offsets,
Span< int > group )
static

◆ mesh_uv_groups_get()

◆ recalcData_uv()

◆ transform_mesh_uv_edge_slide_data_create()

Array< TransDataEdgeSlideVert > transform_mesh_uv_edge_slide_data_create ( const TransInfo * t,
TransDataContainer * tc,
int * r_group_len )

◆ transform_mesh_uv_vert_slide_data_create()

◆ uv_set_connectivity_distance()

◆ UVsToTransData()

static void UVsToTransData ( const float aspect[2],
float * uv,
const float * center,
const float calc_dist,
const bool selected,
BMLoop * l,
TransData * r_td,
TransData2D * r_td2d )
static

Variable Documentation

◆ TransConvertType_MeshUV

TransConvertTypeInfo TransConvertType_MeshUV
Initial value:
= {
nullptr,
}
@ T_2D_EDIT
Definition transform.hh:104
@ T_POINTS
Definition transform.hh:93
@ T_EDIT
Definition transform.hh:91
static void createTransUVs(bContext *C, TransInfo *t)
static void recalcData_uv(TransInfo *t)

Definition at line 1156 of file transform_convert_mesh_uv.cc.

Referenced by convert_type_get(), createEdgeSlideVerts(), createVertSlideVerts(), init_proportional_edit(), init_TransDataContainers(), and transform_modal_item_poll().