Blender
V3.3
|
#include "MEM_guardedalloc.h"
#include "BLI_ghash.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
#include "DNA_brush_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "BKE_brush.h"
#include "BKE_colortools.h"
#include "BKE_context.h"
#include "BKE_customdata.h"
#include "BKE_editmesh.h"
#include "BKE_mesh_mapping.h"
#include "BKE_paint.h"
#include "DEG_depsgraph.h"
#include "ED_image.h"
#include "ED_mesh.h"
#include "ED_screen.h"
#include "WM_api.h"
#include "WM_types.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "paint_intern.h"
#include "uvedit_intern.h"
#include "UI_view2d.h"
Go to the source code of this file.
Classes | |
struct | UvAdjacencyElement |
struct | UvEdge |
struct | UVInitialStrokeElement |
struct | UVInitialStroke |
struct | UvSculptData |
struct | Temp_UvData |
Macros | |
#define | MARK_BOUNDARY 1 |
Typedefs | |
typedef struct UvAdjacencyElement | UvAdjacencyElement |
typedef struct UvEdge | UvEdge |
typedef struct UVInitialStrokeElement | UVInitialStrokeElement |
typedef struct UVInitialStroke | UVInitialStroke |
typedef struct UvSculptData | UvSculptData |
typedef struct Temp_UvData | Temp_UVData |
UV Sculpt tools.
Definition in file sculpt_uv.c.
#define MARK_BOUNDARY 1 |
Definition at line 45 of file sculpt_uv.c.
typedef struct Temp_UvData Temp_UVData |
typedef struct UvAdjacencyElement UvAdjacencyElement |
typedef struct UVInitialStroke UVInitialStroke |
typedef struct UVInitialStrokeElement UVInitialStrokeElement |
typedef struct UvSculptData UvSculptData |
|
static |
Definition at line 131 of file sculpt_uv.c.
References add_v2_v2(), Temp_UvData::b, BKE_brush_curve_strength_clamped(), BKE_paint_brush(), BMEditMesh::bm, CD_MLOOPUV, copy_v2_v2(), CustomData_bmesh_get(), BMHeader::data, KDL::diff(), dot_v2v2(), element, UvAdjacencyElement::element, UvAdjacencyElement::flag, BMLoop::head, l, BMesh::ldata, MARK_BOUNDARY, MEM_callocN, MEM_SAFE_FREE, mul_v2_fl(), Temp_UvData::ncounter, Temp_UvData::p, sqrtf, sub_v2_v2v2(), Temp_UvData::sum_b, Temp_UvData::sum_co, UvSculptData::totalUniqueUvs, UvSculptData::totalUvEdges, UvAdjacencyElement::uv, UvSculptData::uv, MLoopUV::uv, UvEdge::uv1, UvEdge::uv2, UvSculptData::uvedges, and UvSculptData::uvsculpt.
Referenced by uv_sculpt_stroke_apply().
|
static |
Definition at line 217 of file sculpt_uv.c.
References add_v2_v2(), BKE_brush_curve_strength_clamped(), BKE_paint_brush(), BMEditMesh::bm, CD_MLOOPUV, copy_v2_v2(), CustomData_bmesh_get(), BMHeader::data, KDL::diff(), dot_v2v2(), element, UvAdjacencyElement::element, UvAdjacencyElement::flag, BMLoop::head, l, BMesh::ldata, MARK_BOUNDARY, MEM_callocN, MEM_SAFE_FREE, mul_v2_fl(), Temp_UvData::ncounter, Temp_UvData::p, sqrtf, sub_v2_v2v2(), Temp_UvData::sum_co, UvSculptData::totalUniqueUvs, UvSculptData::totalUvEdges, UvAdjacencyElement::uv, UvSculptData::uv, MLoopUV::uv, UvEdge::uv1, UvEdge::uv2, UvSculptData::uvedges, and UvSculptData::uvsculpt.
Referenced by uv_sculpt_stroke_apply().
void SCULPT_OT_uv_sculpt_stroke | ( | wmOperatorType * | ot | ) |
Definition at line 786 of file sculpt_uv.c.
References BRUSH_STROKE_INVERT, BRUSH_STROKE_NORMAL, BRUSH_STROKE_SMOOTH, wmOperatorType::description, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::modal, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, ot, wmOperatorType::poll, RNA_def_enum(), wmOperatorType::srna, uv_sculpt_stroke_invoke(), uv_sculpt_stroke_modal(), and uv_sculpt_stroke_poll().
Referenced by ED_operatortypes_paint().
Definition at line 447 of file sculpt_uv.c.
References Freestyle::a, usdtokens::b(), UvEdge::uv1, and UvEdge::uv2.
Referenced by uv_sculpt_stroke_init().
Definition at line 441 of file sculpt_uv.c.
References BLI_ghashutil_uinthash().
Referenced by uv_sculpt_stroke_init().
|
static |
Definition at line 431 of file sculpt_uv.c.
References BM_uv_element_get(), element, l, and map.
Referenced by uv_sculpt_stroke_init().
|
static |
Definition at line 289 of file sculpt_uv.c.
References BKE_brush_alpha_get(), BKE_brush_curve_strength_clamped(), BKE_brush_size_get(), BKE_editmesh_from_object(), BKE_paint_brush(), BMEditMesh::bm, C, CD_MLOOPUV, copy_v2_v2(), CTX_data_scene(), CTX_data_tool_settings(), CTX_wm_region(), CTX_wm_space_image(), wmOperator::customdata, CustomData_bmesh_get(), BMHeader::data, KDL::diff(), dot_v2v2(), ED_space_image_get_size(), ED_space_image_get_zoom(), element, UvAdjacencyElement::element, UvAdjacencyElement::flag, float(), HC_relaxation_iteration_uv(), BMLoop::head, height, UVInitialStroke::init_coord, UvSculptData::initial_stroke, UVInitialStrokeElement::initial_uv, UVInitialStroke::initialSelection, invert(), UvSculptData::invert, l, laplacian_relaxation_iteration_uv(), BMesh::ldata, MARK_BOUNDARY, wmEvent::mval, normalize_v2(), scene, sqrtf, UVInitialStrokeElement::strength, sub_v2_v2v2(), UvSculptData::tool, UVInitialStroke::totalInitialSelected, UvSculptData::totalUniqueUvs, UI_view2d_region_to_view(), UvAdjacencyElement::uv, UVInitialStrokeElement::uv, UvSculptData::uv, MLoopUV::uv, ToolSettings::uv_relax_method, UV_SCULPT_TOOL_GRAB, UV_SCULPT_TOOL_PINCH, UV_SCULPT_TOOL_RELAX, UV_SCULPT_TOOL_RELAX_HC, UvSculptData::uvsculpt, ARegion::v2d, and width.
Referenced by uv_sculpt_stroke_invoke(), and uv_sculpt_stroke_modal().
|
static |
Definition at line 411 of file sculpt_uv.c.
References BM_uv_element_map_free(), C, CTX_wm_manager(), CTX_wm_window(), wmOperator::customdata, data, MEM_SAFE_FREE, NULL, and WM_event_remove_timer().
Referenced by uv_sculpt_stroke_init(), uv_sculpt_stroke_invoke(), and uv_sculpt_stroke_modal().
|
static |
Definition at line 458 of file sculpt_uv.c.
References BKE_brush_alpha_get(), BKE_brush_curve_strength_clamped(), BKE_brush_size_get(), BKE_curvemapping_init(), BKE_editmesh_from_object(), BKE_paint_brush(), BLI_ghash_free(), BLI_ghash_insert(), BLI_ghash_len(), BLI_ghash_lookup(), BLI_ghash_new(), BLI_ghashIterator_getKey(), BMEditMesh::bm, bm, BM_FACES_OF_MESH, BM_ITER_ELEM, BM_ITER_MESH, BM_LOOPS_OF_FACE, BM_uv_element_get(), BM_uv_element_map_create(), Paint::brush, BRUSH_STROKE_INVERT, BRUSH_STROKE_SMOOTH, C, CD_MLOOPUV, copy_v2_v2(), counter, CTX_data_edit_object(), CTX_data_scene(), CTX_wm_region(), CTX_wm_space_image(), Brush::curve, wmOperator::customdata, CustomData_bmesh_get(), BMHeader::data, data, KDL::diff(), dot_v2v2(), ED_space_image_get_size(), ED_space_image_get_zoom(), UvNearestHit::efa, element, UvEdge::flag, float(), GHASH_ITER, BMLoop::head, height, l, UvNearestHit::l, BMesh::ldata, MARK_BOUNDARY, MEM_callocN, MEM_mallocN, MEM_SAFE_FREE, wmEvent::mval, BMLoop::next, NULL, UvSculpt::paint, wmOperator::ptr, RNA_enum_get(), scene, sqrtf, sub_v2_v2v2(), Scene::toolsettings, BMesh::totvert, UI_view2d_region_to_view(), MLoopUV::uv, UvEdge::uv1, UvEdge::uv2, uv_edge_compare(), uv_edge_hash(), uv_element_offset_from_face_get(), uv_find_nearest_vert(), UV_NEAREST_HIT_INIT_MAX, UV_SCULPT_ALL_ISLANDS, UV_SCULPT_LOCK_BORDERS, ToolSettings::uv_sculpt_settings, uv_sculpt_stroke_exit(), Brush::uv_sculpt_tool, UV_SCULPT_TOOL_GRAB, UV_SCULPT_TOOL_RELAX, UvSculptData::uvsculpt, ToolSettings::uvsculpt, ARegion::v2d, and width.
Referenced by uv_sculpt_stroke_invoke().
|
static |
Definition at line 716 of file sculpt_uv.c.
References C, CTX_data_edit_object(), CTX_wm_manager(), CTX_wm_window(), data, OPERATOR_CANCELLED, OPERATOR_RUNNING_MODAL, TIMER, uv_sculpt_stroke_apply(), uv_sculpt_stroke_exit(), uv_sculpt_stroke_init(), WM_event_add_modal_handler(), and WM_event_add_timer().
Referenced by SCULPT_OT_uv_sculpt_stroke().
|
static |
Definition at line 738 of file sculpt_uv.c.
References C, CTX_data_edit_object(), CTX_wm_region(), wmOperator::customdata, wmEvent::customdata, data, DEG_id_tag_update(), ED_region_tag_redraw(), INBETWEEN_MOUSEMOVE, LEFTMOUSE, MIDDLEMOUSE, MOUSEMOVE, NC_GEOM, ND_DATA, OPERATOR_FINISHED, OPERATOR_RUNNING_MODAL, RIGHTMOUSE, TIMER, wmEvent::type, uv_sculpt_stroke_apply(), uv_sculpt_stroke_exit(), and WM_event_add_notifier().
Referenced by SCULPT_OT_uv_sculpt_stroke().
Definition at line 769 of file sculpt_uv.c.
References BKE_paint_brush(), C, CTX_data_scene(), ED_operator_uvedit_space_image(), NULL, UvSculpt::paint, scene, Scene::toolsettings, and ToolSettings::uvsculpt.
Referenced by SCULPT_OT_uv_sculpt_stroke().