Blender  V3.3
Classes | Functions
blender::ed::sculpt_paint::min_distance_edit Namespace Reference

Classes

struct  MinDistanceEditData
 

Functions

static bool min_distance_edit_poll (bContext *C)
 
static int calculate_points_per_side (bContext *C, MinDistanceEditData &op_data)
 
static void min_distance_edit_draw (bContext *C, int UNUSED(x), int UNUSED(y), void *customdata)
 
static int min_distance_edit_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
static int min_distance_edit_modal (bContext *C, wmOperator *op, const wmEvent *event)
 

Function Documentation

◆ calculate_points_per_side()

static int blender::ed::sculpt_paint::min_distance_edit::calculate_points_per_side ( bContext C,
MinDistanceEditData op_data 
)
static

◆ min_distance_edit_draw()

static void blender::ed::sculpt_paint::min_distance_edit::min_distance_edit_draw ( bContext C,
int   UNUSEDx,
int   UNUSEDy,
void customdata 
)
static

Definition at line 1011 of file curves_sculpt_ops.cc.

References Brush::add_col, blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BKE_brush_size_get(), blender::ed::sculpt_paint::min_distance_edit::MinDistanceEditData::brush, C, calculate_points_per_side(), blender::math::cross(), CTX_data_scene(), CTX_wm_window(), Brush::cursor_overlay_alpha, Brush::curves_sculpt_settings, blender::ed::sculpt_paint::min_distance_edit::MinDistanceEditData::curves_to_world_mat, blender::math::distance(), ED_view3d_project_v2(), GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_matrix_pop(), GPU_matrix_pop_projection(), GPU_matrix_projection_set, GPU_matrix_push(), GPU_matrix_push_projection(), GPU_matrix_set, GPU_matrix_translate_2f(), GPU_point_size(), GPU_PRIM_POINTS, GPU_scissor(), GPU_scissor_get(), GPU_SHADER_2D_UNIFORM_COLOR, GPU_SHADER_3D_POINT_FIXED_SIZE_VARYING_COLOR, GPU_vertformat_attr_add(), imm_draw_circle_wire_2d(), immAttr4f(), immBegin(), immBindBuiltinProgram(), immEnd(), immUnbindProgram(), immUniformColor3fvAlpha(), immVertex3fv(), immVertexFormat(), blender::ed::sculpt_paint::min_distance_edit::MinDistanceEditData::initial_mouse, blender::math::is_zero(), BrushCurvesSculptSettings::minimum_distance, blender::ed::sculpt_paint::min_distance_edit::MinDistanceEditData::normal_cu, blender::math::normalize(), blender::ed::sculpt_paint::min_distance_edit::MinDistanceEditData::pos_cu, blender::ed::sculpt_paint::min_distance_edit::MinDistanceEditData::region, blender::ed::sculpt_paint::min_distance_edit::MinDistanceEditData::rv3d, scene, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), RegionView3D::viewmat, RegionView3D::winmat, ARegion::winrct, wmViewport(), and wmWindowViewport().

Referenced by min_distance_edit_invoke().

◆ min_distance_edit_invoke()

static int blender::ed::sculpt_paint::min_distance_edit::min_distance_edit_invoke ( bContext C,
wmOperator op,
const wmEvent event 
)
static

Definition at line 1115 of file curves_sculpt_ops.cc.

References BKE_bvhtree_from_mesh_get(), BKE_object_get_evaluated_mesh(), BKE_paint_brush(), BLI_bvhtree_ray_cast(), BLI_listbase_clear(), BLI_SCOPED_DEFER, blender::ed::sculpt_paint::min_distance_edit::MinDistanceEditData::brush, BVHTREE_FROM_LOOPTRI, C, BVHTreeRayHit::co, CTX_data_active_object(), CTX_data_depsgraph_pointer(), CTX_data_scene(), CTX_wm_manager(), CTX_wm_region(), CTX_wm_region_view3d(), CTX_wm_view3d(), blender::ed::sculpt_paint::min_distance_edit::MinDistanceEditData::cursor, ToolSettings::curves_sculpt, Brush::curves_sculpt_settings, blender::ed::sculpt_paint::min_distance_edit::MinDistanceEditData::curves_to_world_mat, wmOperator::customdata, Object::data, DEG_get_evaluated_object(), depsgraph, BVHTreeRayHit::dist, ED_region_tag_redraw(), ED_view3d_win_to_segment_clipped(), free_bvhtree_from_mesh(), BVHTreeRayHit::index, blender::ed::sculpt_paint::min_distance_edit::MinDistanceEditData::initial_minimum_distance, blender::ed::sculpt_paint::min_distance_edit::MinDistanceEditData::initial_mouse, min_distance_edit_draw(), BrushCurvesSculptSettings::minimum_distance, BVHTreeRayHit::no, blender::ed::sculpt_paint::min_distance_edit::MinDistanceEditData::normal_cu, blender::math::normalize(), OPERATOR_CANCELLED, OPERATOR_RUNNING_MODAL, blender::ed::sculpt_paint::min_distance_edit::MinDistanceEditData::orig_paintcursors, CurvesSculpt::paint, wmWindowManager::paintcursors, wmOperatorType::poll, blender::ed::sculpt_paint::min_distance_edit::MinDistanceEditData::pos_cu, BVHTreeFromMesh::raycast_callback, blender::ed::sculpt_paint::min_distance_edit::MinDistanceEditData::region, RGN_TYPE_ANY, RPT_ERROR, blender::ed::sculpt_paint::min_distance_edit::MinDistanceEditData::rv3d, scene, SPACE_TYPE_ANY, Curves::surface, Scene::toolsettings, BVHTreeFromMesh::tree, wmOperator::type, WM_event_add_modal_handler(), WM_paint_cursor_activate(), and WM_report().

Referenced by blender::ed::sculpt_paint::SCULPT_CURVES_OT_min_distance_edit().

◆ min_distance_edit_modal()

static int blender::ed::sculpt_paint::min_distance_edit::min_distance_edit_modal ( bContext C,
wmOperator op,
const wmEvent event 
)
static

◆ min_distance_edit_poll()

static bool blender::ed::sculpt_paint::min_distance_edit::min_distance_edit_poll ( bContext C)
static