|
Blender V5.0
|
Classes | |
| struct | TrimOperation |
Enumerations | |
| enum class | OperationType { Intersect = 0 , Difference = 1 , Union = 2 , Join = 3 } |
| enum class | OrientationType { View = 0 , Surface = 1 } |
| enum class | ExtrudeMode { Project = 0 , Fixed = 1 } |
Variables | |
| static EnumPropertyItem | operation_types [] |
| static EnumPropertyItem | orientation_types [] |
| static EnumPropertyItem | extrude_modes [] |
| static const EnumPropertyItem | solver_items [] |
|
strong |
| Enumerator | |
|---|---|
| Project | |
| Fixed | |
Definition at line 89 of file sculpt_trim.cc.
|
strong |
| Enumerator | |
|---|---|
| Intersect | |
| Difference | |
| Union | |
| Join | |
Definition at line 47 of file sculpt_trim.cc.
|
strong |
| Enumerator | |
|---|---|
| View | |
| Surface | |
Definition at line 71 of file sculpt_trim.cc.
|
static |
Definition at line 530 of file sculpt_trim.cc.
References BKE_mesh_nomain_to_mesh(), blender::bke::GeometrySet::from_mesh(), blender::bke::GeometrySet::get_component_for_write(), blender::geometry::join_geometries(), blender::bke::ReadOnly, and result.
Referenced by apply_trim().
|
static |
Definition at line 540 of file sculpt_trim.cc.
References apply_join_operation(), BKE_mesh_nomain_to_mesh(), BKE_report(), blender::geometry::boolean::BooleanOpParameters::boolean_mode, Difference, blender::geometry::boolean::Difference, error(), blender::MatBase< float, 4, 4 >::identity(), Intersect, blender::geometry::boolean::Intersect, Join, blender::ed::sculpt_paint::trim::TrimOperation::mesh, blender::geometry::boolean::mesh_boolean(), blender::ed::sculpt_paint::trim::TrimOperation::mode, blender::geometry::boolean::BooleanOpParameters::no_nested_components, blender::geometry::boolean::BooleanOpParameters::no_self_intersections, blender::geometry::boolean::NoError, blender::geometry::boolean::NonManifold, ViewContext::obact, blender::ed::sculpt_paint::gesture::GestureData::operation, blender::ed::sculpt_paint::trim::TrimOperation::reports, result, blender::geometry::boolean::ResultTooBig, RPT_ERROR, blender::ed::sculpt_paint::trim::TrimOperation::solver_mode, blender::geometry::boolean::SolverNotAvailable, Union, blender::geometry::boolean::Union, blender::geometry::boolean::UnknownError, blender::ed::sculpt_paint::gesture::GestureData::vc, and blender::geometry::boolean::BooleanOpParameters::watertight.
Referenced by gesture_apply_for_symmetry_pass().
|
static |
Definition at line 292 of file sculpt_trim.cc.
References BKE_object_boundbox_get(), blender::math::distance(), ViewContext::obact, paint_convert_bb_to_rect(), ViewContext::region, ViewContext::rv3d, blender::ed::sculpt_paint::gesture::GestureData::vc, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by gesture_to_screen_points().
|
static |
Definition at line 213 of file sculpt_trim.cc.
References BKE_paint_brush(), ViewContext::C, CTX_data_tool_settings(), SculptSession::cursor_radius, ViewContext::depsgraph, dist_signed_to_plane_v3(), FLT_MAX, get_origin_and_normal(), i, blender::Span< T >::index_range(), blender::ed::sculpt_paint::trim::TrimOperation::initial_hit, blender::ed::sculpt_paint::trim::TrimOperation::initial_location, mul_v3_m4v3(), ViewContext::obact, blender::ed::sculpt_paint::object_space_radius_get(), blender::ed::sculpt_paint::gesture::GestureData::operation, blender::ed::sculpt_paint::trim::TrimOperation::orientation, Sculpt::paint, plane_from_point_normal_v3(), blender::MatBase< T, NumCol, NumRow, Alignment >::ptr(), ToolSettings::sculpt, blender::ed::sculpt_paint::gesture::GestureData::ss, blender::math::transform_point(), blender::ed::sculpt_paint::trim::TrimOperation::use_cursor_depth, blender::ed::sculpt_paint::gesture::GestureData::vc, blender::bke::pbvh::vert_positions_eval(), and View.
Referenced by generate_geometry().
|
static |
Definition at line 732 of file sculpt_trim.cc.
References C, CTX_data_active_object(), data, blender::bke::pbvh::Mesh, blender::bke::object::pbvh_get(), report_invalid_mode(), and blender::bke::pbvh::Tree::type().
Referenced by gesture_box_exec(), gesture_lasso_exec(), gesture_line_exec(), and gesture_polyline_exec().
|
static |
Definition at line 708 of file sculpt_trim.cc.
References BKE_base_is_visible(), C, CTX_data_active_base(), and CTX_wm_view3d().
Referenced by gesture_box_invoke(), gesture_lasso_invoke(), gesture_line_invoke(), and gesture_polyline_invoke().
|
static |
Definition at line 610 of file sculpt_trim.cc.
References BKE_id_free(), MEM_freeN(), blender::ed::sculpt_paint::trim::TrimOperation::mesh, blender::ed::sculpt_paint::gesture::GestureData::operation, and blender::ed::sculpt_paint::trim::TrimOperation::true_mesh_co.
Referenced by gesture_end().
|
static |
Definition at line 340 of file sculpt_trim.cc.
References BKE_mesh_new_nomain(), BLI_assert, BLI_polyfill_calc(), calculate_depth(), copy_v3_v3(), blender::Array< T, InlineBufferCapacity, Allocator >::data(), dist_signed_to_plane_v3(), ED_view3d_win_to_3d(), ED_view3d_win_to_3d_on_plane(), blender::ed::sculpt_paint::trim::TrimOperation::extrude_mode, blender::bke::mesh::face_triangles_num(), Fixed, float, gesture_to_screen_points(), get_origin_and_normal(), i, blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), madd_v3_v3fl(), madd_v3_v3v3fl(), MEM_malloc_arrayN(), blender::ed::sculpt_paint::trim::TrimOperation::mesh, blender::bke::mesh_calc_edges(), blender::bke::mesh_smooth_set(), mul_v3_m4v3(), ViewContext::obact, blender::ed::sculpt_paint::gesture::GestureData::operation, blender::ed::sculpt_paint::trim::TrimOperation::orientation, plane_from_point_normal_v3(), Project, ViewContext::region, blender::Array< T, InlineBufferCapacity, Allocator >::size(), blender::ed::sculpt_paint::trim::TrimOperation::true_mesh_co, update_normals(), blender::ed::sculpt_paint::trim::TrimOperation::use_cursor_depth, ViewContext::v3d, blender::ed::sculpt_paint::gesture::GestureData::vc, and View.
Referenced by gesture_begin().
|
static |
Definition at line 598 of file sculpt_trim.cc.
References apply_trim(), i, blender::ed::sculpt_paint::trim::TrimOperation::mesh, blender::ed::sculpt_paint::gesture::GestureData::operation, blender::ed::sculpt_paint::symmetry_flip(), blender::ed::sculpt_paint::gesture::GestureData::symmpass, blender::ed::sculpt_paint::trim::TrimOperation::true_mesh_co, update_normals(), and Mesh::verts_num.
Referenced by init_operation().
|
static |
Definition at line 510 of file sculpt_trim.cc.
References BLI_assert_unreachable, C, blender::ed::sculpt_paint::face_set::create_face_sets_mesh(), CTX_data_scene(), generate_geometry(), blender::ed::sculpt_paint::undo::geometry_begin(), blender::ed::sculpt_paint::islands::invalidate(), blender::bke::pbvh::Mesh, ViewContext::obact, blender::bke::object::pbvh_get(), blender::bke::pbvh::Tree::type(), and blender::ed::sculpt_paint::gesture::GestureData::vc.
Referenced by init_operation().
|
static |
Definition at line 772 of file sculpt_trim.cc.
References blender::ed::sculpt_paint::gesture::apply(), C, can_exec(), blender::ed::sculpt_paint::gesture::init_from_box(), init_operation(), initialize_cursor_info(), MEM_callocN(), OPERATOR_CANCELLED, OPERATOR_FINISHED, and wmOperator::reports.
Referenced by SCULPT_OT_trim_box_gesture().
|
static |
Definition at line 792 of file sculpt_trim.cc.
References C, can_invoke(), wmEvent::mval, OPERATOR_CANCELLED, wmOperator::ptr, RNA_int_set_array(), and WM_gesture_box_invoke().
Referenced by SCULPT_OT_trim_box_gesture().
|
static |
Definition at line 617 of file sculpt_trim.cc.
References BKE_mesh_batch_cache_dirty_tag(), BKE_MESH_BATCH_DIRTY_ALL, BKE_sculptsession_free_pbvh(), DEG_id_tag_update(), blender::ed::sculpt_paint::face_set::find_next_available_id(), free_geometry(), blender::ed::sculpt_paint::undo::geometry_end(), Object::id, ID_RECALC_GEOMETRY, blender::ed::sculpt_paint::face_set::initialize_none_to_id(), ViewContext::obact, and blender::ed::sculpt_paint::gesture::GestureData::vc.
Referenced by init_operation().
|
static |
Definition at line 803 of file sculpt_trim.cc.
References blender::ed::sculpt_paint::gesture::apply(), C, can_exec(), blender::ed::sculpt_paint::gesture::init_from_lasso(), init_operation(), initialize_cursor_info(), MEM_callocN(), OPERATOR_CANCELLED, OPERATOR_FINISHED, and wmOperator::reports.
Referenced by SCULPT_OT_trim_lasso_gesture().
|
static |
Definition at line 823 of file sculpt_trim.cc.
References C, can_invoke(), wmEvent::mval, OPERATOR_CANCELLED, wmOperator::ptr, RNA_int_set_array(), and WM_gesture_lasso_invoke().
Referenced by SCULPT_OT_trim_lasso_gesture().
|
static |
Definition at line 834 of file sculpt_trim.cc.
References blender::ed::sculpt_paint::gesture::apply(), C, can_exec(), blender::ed::sculpt_paint::gesture::init_from_line(), init_operation(), initialize_cursor_info(), MEM_callocN(), OPERATOR_CANCELLED, OPERATOR_FINISHED, and wmOperator::reports.
Referenced by SCULPT_OT_trim_line_gesture().
|
static |
Definition at line 854 of file sculpt_trim.cc.
References C, can_invoke(), wmEvent::mval, OPERATOR_CANCELLED, wmOperator::ptr, RNA_int_set_array(), and WM_gesture_straightline_active_side_invoke().
Referenced by SCULPT_OT_trim_line_gesture().
|
static |
Definition at line 865 of file sculpt_trim.cc.
References blender::ed::sculpt_paint::gesture::apply(), C, can_exec(), blender::ed::sculpt_paint::gesture::init_from_polyline(), init_operation(), initialize_cursor_info(), MEM_callocN(), OPERATOR_CANCELLED, OPERATOR_FINISHED, and wmOperator::reports.
Referenced by SCULPT_OT_trim_polyline_gesture().
|
static |
Definition at line 885 of file sculpt_trim.cc.
References C, can_invoke(), wmEvent::mval, OPERATOR_CANCELLED, wmOperator::ptr, RNA_int_set_array(), and WM_gesture_polyline_invoke().
Referenced by SCULPT_OT_trim_polyline_gesture().
|
static |
Definition at line 310 of file sculpt_trim.cc.
References calc_expand_factor(), blender::ed::sculpt_paint::gesture::LineData::flip, blender::ed::sculpt_paint::gesture::GestureData::gesture_points, blender::ed::sculpt_paint::gesture::Line, blender::ed::sculpt_paint::gesture::GestureData::line, blender::math::normalize(), blender::ed::sculpt_paint::gesture::GestureData::shape_type, and blender::ed::sculpt_paint::gesture::LineData::use_side_planes.
Referenced by generate_geometry().
|
static |
Definition at line 183 of file sculpt_trim.cc.
References copy_v3_v3(), blender::ed::sculpt_paint::trim::TrimOperation::initial_location, blender::ed::sculpt_paint::trim::TrimOperation::initial_normal, mul_mat3_m4_v3(), mul_v3_m4v3(), negate_v3(), ViewContext::obact, blender::ed::sculpt_paint::gesture::GestureData::operation, blender::ed::sculpt_paint::trim::TrimOperation::orientation, Surface, blender::ed::sculpt_paint::gesture::GestureData::vc, View, and blender::ed::sculpt_paint::gesture::GestureData::world_space_view_normal.
Referenced by calculate_depth(), and generate_geometry().
|
static |
Definition at line 634 of file sculpt_trim.cc.
References blender::ed::sculpt_paint::gesture::Operation::apply_for_symmetry_pass, blender::ed::sculpt_paint::gesture::Operation::begin, Difference, blender::ed::sculpt_paint::gesture::Operation::end, blender::ed::sculpt_paint::trim::TrimOperation::extrude_mode, gesture_apply_for_symmetry_pass(), gesture_begin(), gesture_end(), blender::ed::sculpt_paint::trim::TrimOperation::initial_hit, blender::ed::sculpt_paint::gesture::Line, blender::ed::sculpt_paint::trim::TrimOperation::mode, blender::ed::sculpt_paint::trim::TrimOperation::op, blender::ed::sculpt_paint::gesture::GestureData::operation, blender::ed::sculpt_paint::trim::TrimOperation::orientation, wmOperator::ptr, blender::ed::sculpt_paint::trim::TrimOperation::reports, wmOperator::reports, RNA_boolean_get(), RNA_enum_get(), blender::ed::sculpt_paint::gesture::GestureData::shape_type, blender::ed::sculpt_paint::trim::TrimOperation::solver_mode, blender::ed::sculpt_paint::trim::TrimOperation::use_cursor_depth, and View.
Referenced by gesture_box_exec(), gesture_lasso_exec(), gesture_line_exec(), and gesture_polyline_exec().
|
static |
Definition at line 750 of file sculpt_trim.cc.
References C, copy_v3_v3(), CTX_data_active_object(), blender::ed::sculpt_paint::cursor_geometry_info_update(), float, blender::ed::sculpt_paint::trim::TrimOperation::initial_hit, blender::ed::sculpt_paint::trim::TrimOperation::initial_location, blender::ed::sculpt_paint::trim::TrimOperation::initial_normal, blender::ed::sculpt_paint::CursorGeometryInfo::location, blender::ed::sculpt_paint::CursorGeometryInfo::normal, blender::ed::sculpt_paint::gesture::GestureData::operation, wmOperator::ptr, RNA_int_get_array(), and blender::ed::sculpt_paint::vert_random_access_ensure().
Referenced by gesture_box_exec(), gesture_lasso_exec(), gesture_line_exec(), and gesture_polyline_exec().
|
static |
Definition at line 659 of file sculpt_trim.cc.
References Difference, extrude_modes, Fixed, blender::geometry::boolean::Manifold, operation_types, orientation_types, ot, PROP_HIDDEN, PROP_SKIP_SAVE, RNA_def_boolean(), RNA_def_enum(), RNA_def_int_vector(), RNA_def_property_flag(), solver_items, and View.
Referenced by SCULPT_OT_trim_box_gesture(), SCULPT_OT_trim_lasso_gesture(), SCULPT_OT_trim_line_gesture(), and SCULPT_OT_trim_polyline_gesture().
|
static |
Definition at line 719 of file sculpt_trim.cc.
References BKE_report(), BLI_assert_unreachable, blender::bke::pbvh::BMesh, blender::bke::pbvh::Grids, and RPT_ERROR.
Referenced by can_exec().
| void blender::ed::sculpt_paint::trim::SCULPT_OT_trim_box_gesture | ( | wmOperatorType * | ot | ) |
Definition at line 917 of file sculpt_trim.cc.
References blender::ed::sculpt_paint::gesture::Box, gesture_box_exec(), gesture_box_invoke(), blender::ed::sculpt_paint::gesture::operator_properties(), operator_properties(), OPTYPE_REGISTER, ot, SCULPT_mode_poll_view3d(), WM_gesture_box_modal(), and WM_operator_properties_border().
Referenced by blender::ed::sculpt_paint::operatortypes_sculpt().
| void blender::ed::sculpt_paint::trim::SCULPT_OT_trim_lasso_gesture | ( | wmOperatorType * | ot | ) |
Definition at line 896 of file sculpt_trim.cc.
References gesture_lasso_exec(), gesture_lasso_invoke(), blender::ed::sculpt_paint::gesture::Lasso, blender::ed::sculpt_paint::gesture::operator_properties(), operator_properties(), OPTYPE_DEPENDS_ON_CURSOR, OPTYPE_REGISTER, ot, SCULPT_mode_poll_view3d(), WM_gesture_lasso_modal(), and WM_operator_properties_gesture_lasso().
Referenced by blender::ed::sculpt_paint::operatortypes_sculpt().
| void blender::ed::sculpt_paint::trim::SCULPT_OT_trim_line_gesture | ( | wmOperatorType * | ot | ) |
Definition at line 939 of file sculpt_trim.cc.
References gesture_line_exec(), gesture_line_invoke(), blender::ed::sculpt_paint::gesture::Line, blender::ed::sculpt_paint::gesture::operator_properties(), operator_properties(), OPTYPE_REGISTER, ot, SCULPT_mode_poll_view3d(), WM_CURSOR_EDIT, WM_gesture_straightline_oneshot_modal(), and WM_operator_properties_gesture_straightline().
Referenced by blender::ed::sculpt_paint::operatortypes_sculpt().
| void blender::ed::sculpt_paint::trim::SCULPT_OT_trim_polyline_gesture | ( | wmOperatorType * | ot | ) |
Definition at line 960 of file sculpt_trim.cc.
References gesture_polyline_exec(), gesture_polyline_invoke(), blender::ed::sculpt_paint::gesture::Lasso, blender::ed::sculpt_paint::gesture::operator_properties(), operator_properties(), OPTYPE_REGISTER, ot, SCULPT_mode_poll_view3d(), WM_gesture_polyline_modal(), and WM_operator_properties_gesture_polyline().
Referenced by blender::ed::sculpt_paint::operatortypes_sculpt().
|
static |
Definition at line 149 of file sculpt_trim.cc.
References BKE_id_free(), BKE_mesh_from_bmesh_nomain(), bm, BM_EDGE, BM_ELEM_TAG, BM_FACE, BM_mesh_bm_from_me(), BM_mesh_create(), BM_mesh_elem_hflag_disable_all(), BM_mesh_elem_hflag_enable_all(), BM_mesh_free(), BM_VERT, BMALLOC_TEMPLATE_FROM_ME, BMO_FLAG_DEFAULTS, BMO_FLAG_RESPECT_HIDE, BMO_op_callf(), BMeshFromMeshParams::calc_face_normal, BMeshToMeshParams::calc_object_remap, BMeshFromMeshParams::calc_vert_normal, blender::ed::sculpt_paint::trim::TrimOperation::mesh, blender::ed::sculpt_paint::gesture::GestureData::operation, result, and BMeshCreateParams::use_toolflags.
Referenced by generate_geometry(), and gesture_apply_for_symmetry_pass().
|
static |
Definition at line 94 of file sculpt_trim.cc.
Referenced by operator_properties().
|
static |
Definition at line 56 of file sculpt_trim.cc.
Referenced by operator_properties().
|
static |
Definition at line 75 of file sculpt_trim.cc.
Referenced by operator_properties().
|
static |
Definition at line 108 of file sculpt_trim.cc.
Referenced by operator_properties().