Blender V5.0
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, const blender::int2 &, const blender::float2 &, void *customdata)
static wmOperatorStatus min_distance_edit_invoke (bContext *C, wmOperator *op, const wmEvent *event)
static wmOperatorStatus min_distance_edit_modal (bContext *C, wmOperator *op, const wmEvent *event)

Function Documentation

◆ calculate_points_per_side()

◆ min_distance_edit_draw()

void blender::ed::sculpt_paint::min_distance_edit::min_distance_edit_draw ( bContext * C,
const blender::int2 & ,
const blender::float2 & ,
void * customdata )
static

Definition at line 914 of file curves_sculpt_ops.cc.

References Brush::add_col, blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BKE_brush_radius_get(), BKE_paint_get_active_from_context(), blender::ed::sculpt_paint::min_distance_edit::MinDistanceEditData::brush, C, calculate_points_per_side(), blender::math::cross(), 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_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, ARegion::winrct, wmViewport(), and wmWindowViewport().

Referenced by min_distance_edit_draw(), and min_distance_edit_invoke().

◆ min_distance_edit_invoke()

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

Definition at line 1025 of file curves_sculpt_ops.cc.

References BKE_object_get_evaluated_mesh(), BKE_paint_brush(), BLI_bvhtree_ray_cast(), BLI_listbase_clear(), blender::ed::sculpt_paint::min_distance_edit::MinDistanceEditData::brush, 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::bke::CurvesSurfaceTransforms::curves_to_world, blender::ed::sculpt_paint::min_distance_edit::MinDistanceEditData::curves_to_world_mat, wmOperator::customdata, Object::data, DEG_get_evaluated(), depsgraph, BVHTreeRayHit::dist, ED_region_tag_redraw(), ED_view3d_win_to_segment_clipped(), FLT_MAX, 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, CurvesSculpt::paint, wmOperatorType::poll, blender::ed::sculpt_paint::min_distance_edit::MinDistanceEditData::pos_cu, blender::bke::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::bke::CurvesSurfaceTransforms::surface_to_curves, blender::bke::CurvesSurfaceTransforms::surface_to_curves_normal, Scene::toolsettings, blender::math::transform_direction(), blender::math::transform_point(), blender::bke::BVHTreeFromMesh::tree, wmOperator::type, WM_event_add_modal_handler(), WM_global_report(), WM_paint_cursor_activate(), blender::bke::CurvesSurfaceTransforms::world_to_surface, and blender::VecBase< T, Size >::xy().

Referenced by min_distance_edit_invoke(), and blender::ed::sculpt_paint::SCULPT_CURVES_OT_min_distance_edit().

◆ min_distance_edit_modal()

◆ min_distance_edit_poll()