Blender  V2.93
Classes
uvedit_unwrap_ops.c File Reference
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "DNA_camera_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_modifier_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "BLI_alloca.h"
#include "BLI_array.h"
#include "BLI_linklist.h"
#include "BLI_math.h"
#include "BLI_memarena.h"
#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "BLI_uvproject.h"
#include "BLT_translation.h"
#include "BKE_cdderivedmesh.h"
#include "BKE_context.h"
#include "BKE_customdata.h"
#include "BKE_editmesh.h"
#include "BKE_image.h"
#include "BKE_layer.h"
#include "BKE_lib_id.h"
#include "BKE_main.h"
#include "BKE_material.h"
#include "BKE_mesh.h"
#include "BKE_report.h"
#include "BKE_scene.h"
#include "BKE_subsurf.h"
#include "DEG_depsgraph.h"
#include "PIL_time.h"
#include "UI_interface.h"
#include "ED_image.h"
#include "ED_mesh.h"
#include "ED_screen.h"
#include "ED_uvedit.h"
#include "ED_view3d.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "WM_api.h"
#include "WM_types.h"
#include "uvedit_intern.h"
#include "uvedit_parametrizer.h"

Go to the source code of this file.

Classes

struct  UnwrapOptions
 
struct  UnwrapResultInfo
 
struct  MinStretch
 
struct  ThickFace
 

Functions

Utility Functions
static void modifier_unwrap_state (Object *obedit, const Scene *scene, bool *r_use_subsurf)
 
static bool ED_uvedit_ensure_uvs (Object *obedit)
 
Pack UV Islands Operator
static void uvedit_pack_islands (const Scene *scene, Object *ob, BMesh *bm)
 
static void uvedit_pack_islands_multi (const Scene *scene, Object **objects, const uint objects_len, const UnwrapOptions *options, bool rotate, bool ignore_pinned)
 
static int pack_islands_exec (bContext *C, wmOperator *op)
 
void UV_OT_pack_islands (wmOperatorType *ot)
 
Average UV Islands Scale Operator
static int average_islands_scale_exec (bContext *C, wmOperator *UNUSED(op))
 
void UV_OT_average_islands_scale (wmOperatorType *ot)
 
UV Map Clip & Correct
static void uv_map_clip_correct_properties_ex (wmOperatorType *ot, bool clip_to_bounds)
 
static void uv_map_clip_correct_properties (wmOperatorType *ot)
 
static void uv_map_clip_correct_multi (Object **objects, uint objects_len, wmOperator *op)
 
static void uv_map_clip_correct (Object *ob, wmOperator *op)
 
Project UV From View Operator
static int uv_from_view_exec (bContext *C, wmOperator *op)
 
static int uv_from_view_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
static bool uv_from_view_poll (bContext *C)
 
void UV_OT_project_from_view (wmOperatorType *ot)
 
Reset UV Operator
static int reset_exec (bContext *C, wmOperator *UNUSED(op))
 
void UV_OT_reset (wmOperatorType *ot)
 
Sphere UV Project Operator
static void uv_sphere_project (float target[2], const float source[3], const float center[3], const float rotmat[4][4])
 
static void uv_map_mirror (BMEditMesh *em, BMFace *efa)
 
static int sphere_project_exec (bContext *C, wmOperator *op)
 
void UV_OT_sphere_project (wmOperatorType *ot)
 
Cylinder UV Project Operator
static void uv_cylinder_project (float target[2], const float source[3], const float center[3], const float rotmat[4][4])
 
static int cylinder_project_exec (bContext *C, wmOperator *op)
 
void UV_OT_cylinder_project (wmOperatorType *ot)
 
Cube UV Project Operator
static void uvedit_unwrap_cube_project (BMesh *bm, float cube_size, bool use_select, const float center[3])
 
static int cube_project_exec (bContext *C, wmOperator *op)
 
void UV_OT_cube_project (wmOperatorType *ot)
 
Simple UVs for Texture Painting
void ED_uvedit_add_simple_uvs (Main *bmain, const Scene *scene, Object *ob)
 

UV Map Common Transforms

#define VIEW_ON_EQUATOR   0
 
#define VIEW_ON_POLES   1
 
#define ALIGN_TO_OBJECT   2
 
#define POLAR_ZX   0
 
#define POLAR_ZY   1
 
static void uv_map_transform_calc_bounds (BMEditMesh *em, float r_min[3], float r_max[3])
 
static void uv_map_transform_calc_center_median (BMEditMesh *em, float r_center[3])
 
static void uv_map_transform_center (const Scene *scene, View3D *v3d, Object *ob, BMEditMesh *em, float r_center[3], float r_bounds[2][3])
 
static void uv_map_rotation_matrix_ex (float result[4][4], RegionView3D *rv3d, Object *ob, float upangledeg, float sideangledeg, float radius, const float offset[4])
 
static void uv_map_rotation_matrix (float result[4][4], RegionView3D *rv3d, Object *ob, float upangledeg, float sideangledeg, float radius)
 
static void uv_map_transform (bContext *C, wmOperator *op, float rotmat[4][4])
 
static void uv_transform_properties (wmOperatorType *ot, int radius)
 
static void correct_uv_aspect (Object *ob, BMEditMesh *em)
 

UV Unwrap Operator

enum  { UNWRAP_ERROR_NONUNIFORM = (1 << 0) , UNWRAP_ERROR_NEGATIVE = (1 << 1) }
 
static void uvedit_unwrap (const Scene *scene, Object *obedit, const UnwrapOptions *options, UnwrapResultInfo *result_info)
 
static void uvedit_unwrap_multi (const Scene *scene, Object **objects, const int objects_len, const UnwrapOptions *options, UnwrapResultInfo *result_info)
 
void ED_uvedit_live_unwrap (const Scene *scene, Object **objects, int objects_len)
 
static int unwrap_exec (bContext *C, wmOperator *op)
 
void UV_OT_unwrap (wmOperatorType *ot)
 

Parametrizer Conversion

typedef struct UnwrapOptions UnwrapOptions
 
typedef struct UnwrapResultInfo UnwrapResultInfo
 
static bool uvedit_have_selection (const Scene *scene, BMEditMesh *em, const UnwrapOptions *options)
 
static bool uvedit_have_selection_multi (const Scene *scene, Object **objects, const uint objects_len, const UnwrapOptions *options)
 
void ED_uvedit_get_aspect (Object *ob, float *r_aspx, float *r_aspy)
 
static void construct_param_handle_face_add (ParamHandle *handle, const Scene *scene, BMFace *efa, int face_index, const int cd_loop_uv_offset)
 
static ParamHandleconstruct_param_handle (const Scene *scene, Object *ob, BMesh *bm, const UnwrapOptions *options, UnwrapResultInfo *result_info)
 
static ParamHandleconstruct_param_handle_multi (const Scene *scene, Object **objects, const uint objects_len, const UnwrapOptions *options, int *count_fail)
 
static void texface_from_original_index (const Scene *scene, const int cd_loop_uv_offset, BMFace *efa, int index, float **r_uv, ParamBool *r_pin, ParamBool *r_select)
 
static ParamHandleconstruct_param_handle_subsurfed (const Scene *scene, Object *ob, BMEditMesh *em, const UnwrapOptions *options, UnwrapResultInfo *result_info)
 

Minimize Stretch Operator

typedef struct MinStretch MinStretch
 
static bool minimize_stretch_init (bContext *C, wmOperator *op)
 
static void minimize_stretch_iteration (bContext *C, wmOperator *op, bool interactive)
 
static void minimize_stretch_exit (bContext *C, wmOperator *op, bool cancel)
 
static int minimize_stretch_exec (bContext *C, wmOperator *op)
 
static int minimize_stretch_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
static int minimize_stretch_modal (bContext *C, wmOperator *op, const wmEvent *event)
 
static void minimize_stretch_cancel (bContext *C, wmOperator *op)
 
void UV_OT_minimize_stretch (wmOperatorType *ot)
 

Smart UV Project Operator

typedef struct ThickFace ThickFace
 
static const float smart_uv_project_area_ignore = 1e-12f
 
static int smart_uv_project_thickface_area_cmp_fn (const void *tf_a_p, const void *tf_b_p)
 
static uint smart_uv_project_calculate_project_normals (const ThickFace *thick_faces, const uint thick_faces_len, BMesh *bm, const float project_angle_limit_half_cos, const float project_angle_limit_cos, const float area_weight, float(**r_project_normal_array)[3])
 
static int smart_project_exec (bContext *C, wmOperator *op)
 
void UV_OT_smart_project (wmOperatorType *ot)
 

Live UV Unwrap

struct {
   ParamHandle **   handles
 
   uint   len
 
   uint   len_alloc
 
g_live_unwrap = {NULL}
 
void ED_uvedit_live_unwrap_begin (Scene *scene, Object *obedit)
 
void ED_uvedit_live_unwrap_re_solve (void)
 
void ED_uvedit_live_unwrap_end (short cancel)
 

Macro Definition Documentation

◆ ALIGN_TO_OBJECT

#define ALIGN_TO_OBJECT   2

Definition at line 1230 of file uvedit_unwrap_ops.c.

◆ POLAR_ZX

#define POLAR_ZX   0

Definition at line 1232 of file uvedit_unwrap_ops.c.

◆ POLAR_ZY

#define POLAR_ZY   1

Definition at line 1233 of file uvedit_unwrap_ops.c.

◆ VIEW_ON_EQUATOR

#define VIEW_ON_EQUATOR   0

Definition at line 1228 of file uvedit_unwrap_ops.c.

◆ VIEW_ON_POLES

#define VIEW_ON_POLES   1

Definition at line 1229 of file uvedit_unwrap_ops.c.

Typedef Documentation

◆ MinStretch

typedef struct MinStretch MinStretch

◆ ThickFace

typedef struct ThickFace ThickFace

◆ UnwrapOptions

typedef struct UnwrapOptions UnwrapOptions

◆ UnwrapResultInfo

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
UNWRAP_ERROR_NONUNIFORM 
UNWRAP_ERROR_NEGATIVE 

Definition at line 1715 of file uvedit_unwrap_ops.c.

Function Documentation

◆ average_islands_scale_exec()

static int average_islands_scale_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ construct_param_handle()

static ParamHandle* construct_param_handle ( const Scene scene,
Object ob,
BMesh bm,
const UnwrapOptions options,
UnwrapResultInfo result_info 
)
static

◆ construct_param_handle_face_add()

static void construct_param_handle_face_add ( ParamHandle handle,
const Scene scene,
BMFace efa,
int  face_index,
const int  cd_loop_uv_offset 
)
static

◆ construct_param_handle_multi()

static ParamHandle* construct_param_handle_multi ( const Scene scene,
Object **  objects,
const uint  objects_len,
const UnwrapOptions options,
int *  count_fail 
)
static

◆ construct_param_handle_subsurfed()

static ParamHandle* construct_param_handle_subsurfed ( const Scene scene,
Object ob,
BMEditMesh em,
const UnwrapOptions options,
UnwrapResultInfo result_info 
)
static

Unwrap handle initialization for subsurf aware-unwrapper. The many modifications required to make the original function(see above) work justified the existence of a new function.

Definition at line 485 of file uvedit_unwrap_ops.c.

References BKE_id_free(), BKE_mesh_from_bmesh_for_eval_nomain(), BLI_assert, BMEditMesh::bm, BM_EDGE, BM_edge_at_index(), BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SEAM, BM_ELEM_SELECT, BM_FACE, BM_face_at_index(), BM_mesh_elem_index_ensure(), BM_mesh_elem_table_ensure(), BM_VERT, CD_MLOOPUV, CD_ORIGINDEX, CDDM_from_mesh(), MVert::co, UnwrapResultInfo::count_failed, CustomData_get_offset(), Object::data, ED_uvedit_get_aspect(), faceMap, ListBase::first, DerivedMesh::getEdgeArray, DerivedMesh::getEdgeDataArray, DerivedMesh::getLoopArray, DerivedMesh::getNumEdges, DerivedMesh::getNumPolys, DerivedMesh::getPolyArray, DerivedMesh::getPolyDataArray, DerivedMesh::getVertArray, DerivedMesh::getVertDataArray, BMesh::ldata, SubsurfModifierData::levels, MPoly::loopstart, MEM_freeN, MEM_mallocN, Object::modifiers, NULL, options, ORIGINDEX_NONE, param_aspect_ratio(), param_construct_begin(), param_construct_end(), param_edge_set_seam(), param_face_add(), DerivedMesh::release, scene, select(), SubsurfModifierData::subdivType, SUBSURF_IN_EDIT_MODE, subsurf_make_derived_from_derived(), texface_from_original_index(), Scene::toolsettings, MPoly::totloop, ToolSettings::uv_flag, UV_SYNC_SELECTION, v, MLoop::v, MEdge::v1, and MEdge::v2.

Referenced by ED_uvedit_live_unwrap_begin(), and uvedit_unwrap().

◆ correct_uv_aspect()

static void correct_uv_aspect ( Object ob,
BMEditMesh em 
)
static

◆ cube_project_exec()

static int cube_project_exec ( bContext C,
wmOperator op 
)
static

◆ cylinder_project_exec()

static int cylinder_project_exec ( bContext C,
wmOperator op 
)
static

◆ ED_uvedit_add_simple_uvs()

void ED_uvedit_add_simple_uvs ( Main bmain,
const Scene scene,
Object ob 
)

◆ ED_uvedit_ensure_uvs()

static bool ED_uvedit_ensure_uvs ( Object obedit)
static

◆ ED_uvedit_get_aspect()

void ED_uvedit_get_aspect ( Object ob,
float r_aspx,
float r_aspy 
)

◆ ED_uvedit_live_unwrap()

void ED_uvedit_live_unwrap ( const Scene scene,
Object **  objects,
int  objects_len 
)

◆ ED_uvedit_live_unwrap_begin()

void ED_uvedit_live_unwrap_begin ( Scene scene,
Object obedit 
)

◆ ED_uvedit_live_unwrap_end()

void ED_uvedit_live_unwrap_end ( short  cancel)

◆ ED_uvedit_live_unwrap_re_solve()

void ED_uvedit_live_unwrap_re_solve ( void  )

Definition at line 1195 of file uvedit_unwrap_ops.c.

References g_live_unwrap, NULL, param_flush(), and param_lscm_solve().

Referenced by recalcData_uv(), and uvedit_live_unwrap_update().

◆ minimize_stretch_cancel()

static void minimize_stretch_cancel ( bContext C,
wmOperator op 
)
static

Definition at line 909 of file uvedit_unwrap_ops.c.

References C, and minimize_stretch_exit().

Referenced by UV_OT_minimize_stretch().

◆ minimize_stretch_exec()

static int minimize_stretch_exec ( bContext C,
wmOperator op 
)
static

◆ minimize_stretch_exit()

static void minimize_stretch_exit ( bContext C,
wmOperator op,
bool  cancel 
)
static

◆ minimize_stretch_init()

static bool minimize_stretch_init ( bContext C,
wmOperator op 
)
static

◆ minimize_stretch_invoke()

static int minimize_stretch_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ minimize_stretch_iteration()

static void minimize_stretch_iteration ( bContext C,
wmOperator op,
bool  interactive 
)
static

◆ minimize_stretch_modal()

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

◆ modifier_unwrap_state()

static void modifier_unwrap_state ( Object obedit,
const Scene scene,
bool *  r_use_subsurf 
)
static

◆ pack_islands_exec()

static int pack_islands_exec ( bContext C,
wmOperator op 
)
static

◆ reset_exec()

static int reset_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ smart_project_exec()

static int smart_project_exec ( bContext C,
wmOperator op 
)
static

◆ smart_uv_project_calculate_project_normals()

static uint smart_uv_project_calculate_project_normals ( const ThickFace thick_faces,
const uint  thick_faces_len,
BMesh bm,
const float  project_angle_limit_half_cos,
const float  project_angle_limit_cos,
const float  area_weight,
float(**)  r_project_normal_array[3] 
)
static

◆ smart_uv_project_thickface_area_cmp_fn()

static int smart_uv_project_thickface_area_cmp_fn ( const void *  tf_a_p,
const void *  tf_b_p 
)
static

Definition at line 1925 of file uvedit_unwrap_ops.c.

References ThickFace::area, and smart_uv_project_area_ignore.

Referenced by smart_project_exec().

◆ sphere_project_exec()

static int sphere_project_exec ( bContext C,
wmOperator op 
)
static

◆ texface_from_original_index()

static void texface_from_original_index ( const Scene scene,
const int  cd_loop_uv_offset,
BMFace efa,
int  index,
float **  r_uv,
ParamBool r_pin,
ParamBool r_select 
)
static

◆ unwrap_exec()

static int unwrap_exec ( bContext C,
wmOperator op 
)
static

◆ uv_cylinder_project()

static void uv_cylinder_project ( float  target[2],
const float  source[3],
const float  center[3],
const float  rotmat[4][4] 
)
static

◆ uv_from_view_exec()

static int uv_from_view_exec ( bContext C,
wmOperator op 
)
static

◆ uv_from_view_invoke()

static int uv_from_view_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ uv_from_view_poll()

static bool uv_from_view_poll ( bContext C)
static

Definition at line 2431 of file uvedit_unwrap_ops.c.

References C, CTX_wm_region_view3d(), ED_operator_uvmap(), and NULL.

Referenced by UV_OT_project_from_view().

◆ uv_map_clip_correct()

static void uv_map_clip_correct ( Object ob,
wmOperator op 
)
static

◆ uv_map_clip_correct_multi()

static void uv_map_clip_correct_multi ( Object **  objects,
uint  objects_len,
wmOperator op 
)
static

◆ uv_map_clip_correct_properties()

static void uv_map_clip_correct_properties ( wmOperatorType ot)
static

◆ uv_map_clip_correct_properties_ex()

static void uv_map_clip_correct_properties_ex ( wmOperatorType ot,
bool  clip_to_bounds 
)
static

◆ uv_map_mirror()

static void uv_map_mirror ( BMEditMesh em,
BMFace efa 
)
static

◆ uv_map_rotation_matrix()

static void uv_map_rotation_matrix ( float  result[4][4],
RegionView3D rv3d,
Object ob,
float  upangledeg,
float  sideangledeg,
float  radius 
)
static

Definition at line 1374 of file uvedit_unwrap_ops.c.

References result, and uv_map_rotation_matrix_ex().

Referenced by uv_map_transform().

◆ uv_map_rotation_matrix_ex()

static void uv_map_rotation_matrix_ex ( float  result[4][4],
RegionView3D rv3d,
Object ob,
float  upangledeg,
float  sideangledeg,
float  radius,
const float  offset[4] 
)
static

◆ uv_map_transform()

static void uv_map_transform ( bContext C,
wmOperator op,
float  rotmat[4][4] 
)
static

◆ uv_map_transform_calc_bounds()

static void uv_map_transform_calc_bounds ( BMEditMesh em,
float  r_min[3],
float  r_max[3] 
)
static

◆ uv_map_transform_calc_center_median()

static void uv_map_transform_calc_center_median ( BMEditMesh em,
float  r_center[3] 
)
static

◆ uv_map_transform_center()

static void uv_map_transform_center ( const Scene scene,
View3D v3d,
Object ob,
BMEditMesh em,
float  r_center[3],
float  r_bounds[2][3] 
)
static

◆ UV_OT_average_islands_scale()

void UV_OT_average_islands_scale ( wmOperatorType ot)

◆ UV_OT_cube_project()

void UV_OT_cube_project ( wmOperatorType ot)

◆ UV_OT_cylinder_project()

void UV_OT_cylinder_project ( wmOperatorType ot)

◆ UV_OT_minimize_stretch()

void UV_OT_minimize_stretch ( wmOperatorType ot)

◆ UV_OT_pack_islands()

void UV_OT_pack_islands ( wmOperatorType ot)

◆ UV_OT_project_from_view()

void UV_OT_project_from_view ( wmOperatorType ot)

◆ UV_OT_reset()

void UV_OT_reset ( wmOperatorType ot)

◆ UV_OT_smart_project()

void UV_OT_smart_project ( wmOperatorType ot)

◆ UV_OT_sphere_project()

void UV_OT_sphere_project ( wmOperatorType ot)

◆ UV_OT_unwrap()

void UV_OT_unwrap ( wmOperatorType ot)

◆ uv_sphere_project()

static void uv_sphere_project ( float  target[2],
const float  source[3],
const float  center[3],
const float  rotmat[4][4] 
)
static

◆ uv_transform_properties()

static void uv_transform_properties ( wmOperatorType ot,
int  radius 
)
static

◆ uvedit_have_selection()

static bool uvedit_have_selection ( const Scene scene,
BMEditMesh em,
const UnwrapOptions options 
)
static

◆ uvedit_have_selection_multi()

static bool uvedit_have_selection_multi ( const Scene scene,
Object **  objects,
const uint  objects_len,
const UnwrapOptions options 
)
static

◆ uvedit_pack_islands()

static void uvedit_pack_islands ( const Scene scene,
Object ob,
BMesh bm 
)
static

◆ uvedit_pack_islands_multi()

static void uvedit_pack_islands_multi ( const Scene scene,
Object **  objects,
const uint  objects_len,
const UnwrapOptions options,
bool  rotate,
bool  ignore_pinned 
)
static
Warning
Since this uses ParamHandle it doesn't work with non-manifold meshes (see T82637). Use ED_uvedit_pack_islands_multi for a more general solution.

TODO: remove this function, in favor of ED_uvedit_pack_islands_multi.

Definition at line 988 of file uvedit_unwrap_ops.c.

References construct_param_handle_multi(), Object::data, DEG_id_tag_update(), ID_RECALC_GEOMETRY, NC_GEOM, ND_DATA, NULL, options, param_delete(), param_flush(), param_pack(), rotate(), scene, Scene::toolsettings, ToolSettings::uvcalc_margin, and WM_main_add_notifier().

Referenced by ED_uvedit_live_unwrap(), and unwrap_exec().

◆ uvedit_unwrap()

static void uvedit_unwrap ( const Scene scene,
Object obedit,
const UnwrapOptions options,
UnwrapResultInfo result_info 
)
static

◆ uvedit_unwrap_cube_project()

static void uvedit_unwrap_cube_project ( BMesh bm,
float  cube_size,
bool  use_select,
const float  center[3] 
)
static

◆ uvedit_unwrap_multi()

static void uvedit_unwrap_multi ( const Scene scene,
Object **  objects,
const int  objects_len,
const UnwrapOptions options,
UnwrapResultInfo result_info 
)
static

Variable Documentation

◆ 

struct { ... } g_live_unwrap

◆ handles

ParamHandle** handles

◆ len

Definition at line 1146 of file uvedit_unwrap_ops.c.

Referenced by _bli_array_permute(), _glewSearchExtension(), add_struct(), addedgetoscanlist(), Freestyle::BlenderFileLoader::addTriangle(), alter_co(), an_stringdec(), angle_poly_v3(), ANIM_add_driver_with_target(), apply_heights_callback(), arrow_draw_geom(), bezier_handle_calc_length_v3(), BKE_bpath_traverse_id(), BKE_brush_curve_strength(), BKE_brush_curve_strength_clamped(), BKE_curve_bevelList_make(), BKE_curve_correct_bezpart(), BKE_displist_make_surf(), BKE_fcurve_correct_bezpart(), BKE_fcurve_pathcache_find(), BKE_fcurve_pathcache_find_array(), BKE_image_user_frame_get(), BKE_keyblock_convert_from_mesh(), BKE_mask_clipboard_copy_from_layer(), BKE_mask_point_set_handle(), BKE_mask_spline_resolution(), BKE_mball_is_basis(), BKE_nurb_duplicate(), BKE_nurb_makeCurve(), BKE_nurb_makeFaces(), BKE_object_dimensions_set_ex(), BKE_paint_toolslots_len_ensure(), BKE_ptcache_disk_cache_rename(), BKE_ptcache_id_clear(), BKE_ptcache_id_time(), BKE_ptcache_load_external(), BKE_report(), BKE_scene_multiview_view_prefix_get(), BKE_tracking_tracks_join(), BKE_vfont_clipboard_set(), BLF_boundbox(), BLF_boundbox_ex(), BLF_boundbox_foreach_glyph(), BLF_boundbox_foreach_glyph_ex(), BLF_draw(), BLF_draw_ascii(), BLF_draw_ascii_ex(), BLF_draw_buffer(), BLF_draw_buffer_ex(), BLF_draw_default(), BLF_draw_default_ascii(), BLF_draw_ex(), BLF_draw_mono(), blf_font_boundbox(), blf_font_boundbox__wrap(), blf_font_boundbox_ex(), blf_font_boundbox_foreach_glyph(), blf_font_boundbox_foreach_glyph_ex(), blf_font_boundbox_wrap_cb(), blf_font_count_missing_chars(), blf_font_draw(), blf_font_draw__wrap(), blf_font_draw__wrap_cb(), blf_font_draw_ascii(), blf_font_draw_ascii_ex(), blf_font_draw_buffer(), blf_font_draw_buffer__wrap(), blf_font_draw_buffer__wrap_cb(), blf_font_draw_buffer_ex(), blf_font_draw_ex(), blf_font_draw_mono(), blf_font_height(), blf_font_width(), blf_font_width_and_height(), blf_font_width_to_rstrlen(), blf_font_width_to_strlen(), blf_font_wrap_apply(), BLF_height(), BLF_height_ex(), BLF_width(), BLF_width_and_height(), BLF_width_ex(), BLF_width_to_rstrlen(), BLF_width_to_strlen(), BLI_box_pack_2d(), BLI_dir_free_space(), BLI_dynstr_appendf(), BLI_dynstr_nappend(), BLI_dynstr_vappendf(), BLI_exists(), BLI_filename_make_safe(), BLI_gzip_mem_to_file_at_pos(), BLI_hash_md5_buffer(), BLI_hash_md5_stream(), BLI_hash_md5_to_hexdigest(), BLI_hash_mm2(), BLI_hash_mm2a_add(), BLI_hash_mm3(), BLI_jitterate1(), BLI_linklist_count(), BLI_path_frame_get(), BLI_path_frame_strip(), BLI_path_join(), BLI_path_slash_ensure(), BLI_path_slash_rstrip(), BLI_str_escape(), BLI_str_format_byte_unit(), BLI_str_tolower_ascii(), BLI_str_toupper_ascii(), BLI_str_unescape(), BLI_str_utf32_as_utf8(), BLI_str_utf32_as_utf8_len(), BLI_str_utf8_as_unicode(), BLI_str_utf8_as_unicode_and_size(), BLI_str_utf8_as_unicode_and_size_safe(), BLI_str_utf8_as_unicode_step(), BLI_str_utf8_as_utf32(), BLI_str_utf8_from_unicode(), BLI_str_utf8_size(), BLI_str_utf8_size_safe(), BLI_strcasestr(), BLI_strdupn(), BLI_string_find_split_words(), BLI_string_flip_side_name(), BLI_string_split_prefix(), BLI_string_split_suffix(), BLI_strlen_utf8_ex(), BLI_strncasecmp(), BLI_strncasestr(), BLI_strncpy_wchar_as_utf8(), BLI_strnlen(), BLI_strnlen_utf8_ex(), BLI_system_thread_count(), BLI_ungzip_file_to_mem_at_pos(), BLI_uniquename_cb(), BLI_wstrlen_utf8(), bm_bridge_best_rotation(), BM_disk_dissolve(), bm_edge_info_average_length(), BM_edge_is_any_face_len_test(), bm_edge_seg_isect(), bm_edgeloop_offset_length(), BM_edges_from_verts(), BM_edges_from_verts_ensure(), bm_edges_sort_winding(), BM_face_create(), BM_face_create_ngon(), BM_face_create_ngon_verts(), BM_face_create_verts(), BM_face_exists(), BM_face_exists_multi(), BM_face_exists_multi_edge(), BM_face_exists_overlap(), BM_face_exists_overlap_subset(), BM_face_split_edgenet_connect_islands(), BM_face_splits_check_legal(), BM_face_splits_check_optimal(), BM_iter_as_array(), BM_loop_at_index_find(), BM_loop_calc_face_normal(), bm_mesh_calc_uvs_sphere_face(), bm_uuidwalk_init_from_edge(), BM_vert_calc_normal(), BM_vert_calc_normal_ex(), BM_vert_dissolve(), BM_vert_normal_update_all(), BM_verts_from_edges(), BM_verts_in_face(), BM_verts_in_face_count(), BM_verts_sort_radial_plane(), bmesh_disk_validate(), bmesh_elem_check(), bmesh_loop_validate(), bmo_connect_verts_nonplanar_exec(), bmo_create_uvsphere_exec(), BMO_iter_as_array(), BMO_slot_as_arrayN(), BMO_slot_buffer_alloc(), bmw_EdgeringWalker_step(), boid_brain(), bone_autoside_name(), boxPack_FromPyObject(), boxPack_ToPyObject(), bpy_bmeditselseq_subscript(), bpy_bmelemseq_subscript(), bpy_bmlayercollection_subscript(), bpy_bmlayercollection_subscript_int(), bpy_bmlayercollection_subscript_slice(), BPY_context_member_get(), BPy_IDGroup_CorrectListLen(), bpy_prop_boolean_array_get_fn(), bpy_prop_boolean_array_set_fn(), bpy_prop_float_array_get_fn(), bpy_prop_float_array_set_fn(), bpy_prop_int_array_get_fn(), bpy_prop_int_array_set_fn(), BPy_Wrap_GetKeys(), brush_painter_curve_mask_new(), btAdjustInternalEdgeContacts(), btStrLen(), buffer_alloc(), buffer_realloc(), Buffer_to_list(), Buffer_to_list_recursive(), BVH(), bvh_instance_pop(), bvh_instance_pop_factor(), bvh_instance_push(), C_BVHTree_FromPolygons(), calc_bevfac_spline_mapping(), calchandle_curvemap(), calchandleNurb_intern(), btTransformUtil::calculateDiffAxisAngle(), btTransformUtil::calculateDiffAxisAngleQuaternion(), camera_distance(), camera_z_depth(), check_destination(), check_field_alignment(), clampto_evaluate(), clg_ctx_filter_check(), clg_str_append_with_len(), clg_str_reserve(), cloth_bend_poly_dir(), cloth_bend_set_poly_vert_array(), cloth_calc_helper_forces(), compute_face_normal(), Mesh::Triangle::compute_normal(), console_indent_exec(), console_insert_exec(), console_insert_invoke(), console_line_insert(), console_line_verify_length(), console_unindent_exec(), copy_single_file(), Freestyle::createStroke(), curve_to_displist(), deformStroke(), LightManager::device_update_points(), direction_to_equirectangular_range(), DNA_elem_size_nr(), do_makeDispListCurveTypes(), dquat_to_mat4(), draw_distortion(), draw_frustum_bound_sphere_calc(), drw_shgroup_bone_envelope(), ED_armature_ebone_from_mat3(), ed_editnurb_extrude_flag(), ED_gpencil_stroke_point_is_inside(), ED_mask_feather_find_nearest(), ed_mesh_pick_vert__mapFunc(), ED_scene_grid_scale(), ED_undo_editmode_bases_from_view_layer(), ED_undo_editmode_objects_from_view_layer(), ED_view3d_grid_steps(), ED_view3d_grid_view_scale(), edbm_bevel_calc_initial_length(), edbm_connect_vert_pair(), edbm_knife_cut_exec(), editstr_insert_at_cursor(), eff_calc_visibility(), ensure_digits(), exr_rgba_channelname(), extract_lines_loose_subbuffer(), extract_tris_finish(), face_map_move_exec(), fcurve_path_rename(), blender::compositor::FHT(), file_draw_string_multiline(), find_internal_spring_target_vertex(), flatten_string(), flatten_string_append(), flatten_string_strlen(), followpath_path_animate_exec(), fsmenu_entry_generate_name(), fsmenu_read_bookmarks(), gearGL(), get_section_len(), get_stats_string(), get_suggest_prefix(), GHOST_SystemWin32::getClipboard(), GHOST_SystemX11::getClipboard_xcout(), GHOST_SystemCocoa::GHOST_SystemCocoa(), GHOST_WindowX11::GHOST_WindowX11(), gizmo_preselect_elem_test_select(), gpencil_duplicate_points(), GPU_shader_uniform_2fv_array(), GPU_shader_uniform_4fv_array(), GPU_shader_uniform_vector(), GPU_shader_uniform_vector_int(), gpu_str_skip_token(), GPU_unpack_row_length_set(), GPU_vertbuf_update_sub(), GPU_vertformat_safe_attr_name(), HsiehHash(), hull_merge_triangles(), idp_from_PyMapping(), IDP_ResizeIDPArray(), idp_sequence_type(), idp_str_append_escape(), image_save_options_init(), imb_exr_insert_view_name(), imb_exr_split_channel_name(), IMB_indexer_get_frame_index(), IMB_metadata_get_field(), IMB_thumb_load_font_get_hash(), info_statusbar_string(), init_track_for_stabilization(), btDefaultSerializer::initDNA(), insert_text_exec(), is_hidden_dot_filename(), is_track_clean(), join_dirfile_alloc(), lib_relocate_do_remap(), light_distribution_sample(), light_spread_clamp_area_light(), load_tex_cursor_task_cb(), load_tex_task_cb_ex(), M_Geometry_area_tri(), M_Geometry_box_pack_2d(), M_Geometry_intersect_line_line(), M_Interpolate_poly_3d_calc(), make_memhead_header(), make_structDNA(), map_to_sphere(), map_to_tube(), mathutils_array_hash(), mathutils_rna_vector_set(), md5_process_block(), mdisp_rot_face_to_crn(), mean_value_half_tan_v2_db(), mean_value_half_tan_v3(), MEM_guarded_calloc_arrayN(), MEM_guarded_callocN(), MEM_guarded_malloc_arrayN(), MEM_guarded_mallocN(), MEM_guarded_mallocN_aligned(), MEM_guarded_reallocN_id(), MEM_guarded_recallocN_id(), MEM_lockfree_calloc_arrayN(), MEM_lockfree_callocN(), MEM_lockfree_freeN(), MEM_lockfree_malloc_arrayN(), MEM_lockfree_mallocN(), MEM_lockfree_mallocN_aligned(), MEM_lockfree_reallocN_id(), MEM_lockfree_recallocN_id(), mesh_add_edges(), mesh_add_loops(), mesh_add_polys(), mesh_add_verts(), mesh_remove_edges(), mesh_remove_loops(), mesh_remove_polys(), mesh_remove_verts(), mesh_uv_reset_array(), meshdeform_ray_tree_intersect(), metadata_draw_imbuf(), metadata_get_field(), mm2a_mix_tail(), MOD_solidify_nonmanifold_modifyMesh(), motion_path_cache(), mywrite(), new_folder_path(), nlaedit_split_strip_actclip(), noise_table(), normalize(), normalize_m4(), normalize_m4_m4(), normalize_qt(), NormalizeSafe(), object_volume_density(), ObtainCacheParticleData(), oldreadcolrs(), operator_search_update_fn(), opj_seek_from_buffer(), outliner_buttons(), output_iris(), p_chart_boundaries(), p_chart_minimum_area_angle(), p_chart_symmetry_pins(), paint_stroke_line_constrain(), parse_int_range_relative_clamp_n(), passtype_from_name(), paste_selection(), path_ensure_slash(), point_calculate_handle(), poly_avg(), poly_norm(), pose_slide_apply_props(), pose_solve_ik_chain(), poselib_preview_handle_search(), precise_angle(), print_progress(), btSphereSphereCollisionAlgorithm::processCollision(), prop_subscript_ass_array_int(), btSoftBody::PSolve_Links(), psys_get_dupli_path_transform(), ptcache_file_compressed_read(), ptcache_filename(), ptcache_filename_ext_append(), ptcache_frame_from_filename(), GHOST_SystemWin32::putClipboard(), PyC_Tuple_PackArray_Bool(), PyC_Tuple_PackArray_F32(), PyC_Tuple_PackArray_F64(), PyC_Tuple_PackArray_I32(), PyC_Tuple_PackArray_I32FromBool(), pygpu_buffer_to_list(), pygpu_buffer_to_list_recursive(), pygpu_fill_format_sequence(), pygpu_matrix_scale(), pygpu_matrix_translate(), pygpu_texture__tp_new(), pygpu_vertbuf__tp_new(), pyrna_array_contains_py(), pyrna_deferred_register_class_recursive(), pyrna_math_object_from_array(), pyrna_param_to_py(), pyrna_prop_array_ass_subscript(), pyrna_prop_array_iter(), pyrna_prop_array_subscript(), pyrna_prop_array_subscript_int(), pyrna_prop_collection_ass_subscript(), pyrna_prop_collection_ass_subscript_int(), pyrna_prop_collection_subscript(), pyrna_prop_collection_subscript_int(), pyrna_prop_str(), pyrna_py_from_array_index(), quad_from_tris(), Quaternion_angle_set(), Quaternion_axis_vector_set(), blender::bke::cryptomatte::manifest::quoted_string_len_(), radial_control_get_path(), ray_optical_depth(), read_pipe(), readtab(), repr_str(), btSolve2LinearConstraint::resolveBilateralPairConstraint(), btSolve2LinearConstraint::resolveUnilateralPairConstraint(), rna_array_as_string(), rna_array_as_string_alloc(), rna_array_as_string_elem(), RNA_def_boolean_array(), RNA_def_boolean_layer(), RNA_def_boolean_layer_member(), RNA_def_boolean_vector(), RNA_def_float_array(), RNA_def_float_color(), RNA_def_float_rotation(), RNA_def_float_translation(), RNA_def_float_vector(), RNA_def_float_vector_xyz(), RNA_def_int_array(), RNA_def_int_vector(), RNA_function_call_direct_va(), rna_function_parameter_parse(), rna_generate_property(), RNA_parameter_dynamic_length_get(), rna_parameter_size(), rna_path_parse_array_index(), rna_path_token(), RNA_property_animated(), rna_property_array_length_all_dimensions(), RNA_property_as_string(), RNA_property_boolean_get_default_index(), RNA_property_boolean_get_index(), RNA_property_boolean_set_index(), RNA_property_collection_clear(), RNA_property_collection_move(), RNA_property_collection_raw_get(), RNA_property_collection_raw_set(), RNA_property_collection_remove(), RNA_property_float_get_default_index(), RNA_property_float_get_index(), RNA_property_float_set_index(), RNA_property_int_get_default_index(), RNA_property_int_get_index(), RNA_property_int_set_index(), RNA_property_multi_array_length(), RNA_property_reset(), RNA_property_string_set_bytes(), rna_token_strip_quotes(), rotation_contribution(), rule_avoid_collision(), rule_follow_leader(), rule_goal_avoid(), rule_separate(), SCULPT_brush_strength_factor(), sculpt_cloth_filter_modal(), sculpt_color_filter_modal(), sculpt_mask_by_color_contiguous_floodfill_cb(), sculpt_mask_by_color_delta_get(), sculpt_mask_expand_modal(), sculpt_mesh_filter_modal(), sculpt_pose_grow_pose_factor(), select_similar_length(), SEQ_transform_set_right_handle_frame(), sequencer_change_path_exec(), sequencer_image_seq_reserve_frames(), serializeDynamicsWorldInfo(), btMultiBodyDynamicsWorld::serializeMultiBodies(), btDefaultSerializer::serializeName(), serializeRigidBodies(), serializeSingleBvh(), serializeSingleShape(), serializeSingleTriangleInfoMap(), btSoftMultiBodyDynamicsWorld::serializeSoftBodies(), btSoftRigidDynamicsWorld::serializeSoftBodies(), session_print(), set_case(), setNearestAxis3d(), GHOST_WindowCocoa::setTitle(), single_scattering(), skin_choose_quad_bridge_order(), slide_dist(), sphere_do(), stencil_control_calculate(), str_tolower_titlecaps_ascii(), string_dup(), string_endswith(), string_startswith(), subsurface_random_walk(), subsurface_scatter_disk(), svm_node_camera(), svm_node_wireframe(), svm_vector_math(), svm_wave(), system_cpu_thread_count_fallback(), system_physical_ram(), TEST(), test_endian_zbuf(), text_autocomplete_build(), text_check_format_len(), text_convert_whitespace_exec(), text_cursor_set_to_pos_wrapped(), text_font_draw_character_utf8(), text_format_fill(), text_format_fill_ascii(), text_from_buf(), text_insert_invoke(), texttool_docs_show(), texttool_suggest_add(), blender::gpu::GLStateManager::texture_unpack_row_length_set(), textview_draw_string(), textview_wrap_offsets(), tracking_dopesheet_channels_segments_calc(), transform_decompose(), tri_to_quat(), triangle_area(), triangle_light_pdf(), trim(), txt_from_buf_for_undo(), txt_insert_buf(), txt_select_prefix(), txtfmt_ini_find_bool(), txtfmt_ini_find_keyword(), txtfmt_ini_find_reserved(), txtfmt_lua_find_bool(), txtfmt_lua_find_keyword(), txtfmt_lua_find_specialvar(), txtfmt_lua_format_line(), txtfmt_osl_find_builtinfunc(), txtfmt_osl_find_reserved(), txtfmt_osl_find_specialvar(), txtfmt_osl_format_line(), txtfmt_pov_find_bool(), txtfmt_pov_find_keyword(), txtfmt_pov_find_reserved_builtins(), txtfmt_pov_find_reserved_keywords(), txtfmt_pov_find_specialvar(), txtfmt_pov_format_line(), txtfmt_pov_ini_format_line(), txtfmt_py_find_bool(), txtfmt_py_find_builtinfunc(), txtfmt_py_find_specialvar(), txtfmt_py_format_line(), ui_block_calc_pie_segment(), ui_but_text_password_hide(), ui_do_but_HSVCIRCLE(), ui_do_but_HSVCUBE(), UI_draw_text_underline(), UI_fontstyle_draw_ex(), ui_handle_list_event(), ui_item_array(), ui_item_name_add_colon(), ui_item_rna_size(), ui_layer_but_cb(), ui_number_from_string_factor(), ui_number_from_string_percentage(), ui_numedit_but_HSVCIRCLE(), ui_selectcontext_apply(), ui_text_clip_cursor(), ui_textedit_begin(), ui_textedit_delete(), ui_textedit_delete_selection(), ui_textedit_insert_buf(), ui_textedit_move(), uiItemFullR(), uilist_filter_items_default(), uilist_prepare(), uiTemplateImageInfo(), uiTemplateList(), uiTemplateMovieclipInformation(), undo_editmode_objects_from_view_layer_prepare(), unique_name(), unit_as_string(), unit_scale_str(), unpack_generate_paths(), blender::gpu::GLVertBuf::update_sub(), btSoftBody::updateNormals(), util_murmur_hash3(), uv_poly_copy_aspect(), Freestyle::V2Normalize(), Freestyle::V2Scale(), validate_array_length(), vec_to_quat(), WIDGETGROUP_gizmo_refresh(), wireframe(), wm_autosave_location(), wm_file_write(), WM_gesture_lasso_path_to_array(), wm_gizmomap_select_array_ensure_len_alloc(), wm_link_append_data_item_add(), wm_link_append_data_library_add(), wm_read_exotic(), Camera::world_to_raster_size(), writedata(), and writetab().

◆ len_alloc

uint len_alloc

◆ smart_uv_project_area_ignore

const float smart_uv_project_area_ignore = 1e-12f
static