Blender V4.3
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, int, 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()

◆ min_distance_edit_draw()

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

Definition at line 904 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, 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_program_point_size(), GPU_scissor(), GPU_scissor_get(), GPU_SHADER_3D_POINT_VARYING_SIZE_VARYING_COLOR, GPU_SHADER_3D_UNIFORM_COLOR, GPU_vertformat_attr_add(), imm_draw_circle_wire_2d(), immAttr1f(), immAttr4f(), immBegin(), immBindBuiltinProgram(), immEnd(), immUnbindProgram(), immUniformColor3fvAlpha(), immVertex3fv(), immVertexFormat(), blender::ed::sculpt_paint::min_distance_edit::MinDistanceEditData::initial_mouse, blender::math::is_zero(), min_distance_edit_draw(), 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, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::math::transform_point(), RegionView3D::viewmat, RegionView3D::winmat, wmViewport(), and wmWindowViewport().

Referenced by min_distance_edit_draw(), and 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 1009 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_CORNER_TRIS, 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, 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(), FLT_MAX, 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(), min_distance_edit_invoke(), 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, 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, SPACE_TYPE_ANY, Curves::surface, blender::math::transform_direction(), blender::math::transform_point(), BVHTreeFromMesh::tree, wmOperator::type, WM_event_add_modal_handler(), WM_paint_cursor_activate(), WM_report(), and blender::VecBase< T, Size >::xy().

Referenced by min_distance_edit_invoke().

◆ min_distance_edit_modal()

◆ min_distance_edit_poll()

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