|
Blender V5.0
|
#include <ED_curves.hh>
Inherited by blender::ed::curves::pen_tool::CurvesPenToolOperation, and blender::ed::greasepencil::GreasePencilPenToolOperation.
Public Member Functions | |
| virtual | ~PenToolOperation ()=default |
| virtual float3 | project (const float2 &screen_co) const =0 |
| virtual IndexMask | all_selected_points (int curves_index, IndexMaskMemory &memory) const =0 |
| virtual IndexMask | visible_bezier_handle_points (int curves_index, IndexMaskMemory &memory) const =0 |
| virtual IndexMask | editable_curves (int curves_index, IndexMaskMemory &memory) const =0 |
| virtual void | tag_curve_changed (int curves_index) const =0 |
| virtual bke::CurvesGeometry & | get_curves (int curves_index) const =0 |
| virtual IndexRange | curves_range () const =0 |
| virtual void | single_point_attributes (bke::CurvesGeometry &curves, int curves_index) const =0 |
| virtual bool | can_create_new_curve (wmOperator *op) const =0 |
| virtual void | update_view (bContext *C) const =0 |
| virtual std::optional< wmOperatorStatus > | initialize (bContext *C, wmOperator *op, const wmEvent *event)=0 |
| float2 | layer_to_screen (const float4x4 &layer_to_object, const float3 &point) const |
| float3 | screen_to_layer (const float4x4 &layer_to_world, const float2 &screen_co, const float3 &depth_point_layer) const |
| wmOperatorStatus | invoke (bContext *C, wmOperator *op, const wmEvent *event) |
| wmOperatorStatus | modal (bContext *C, wmOperator *op, const wmEvent *event) |
Public Attributes | |
| ViewContext | vc |
| float | threshold_distance |
| float | threshold_distance_edge |
| bool | extrude_point |
| bool | delete_point |
| bool | insert_point |
| bool | move_seg |
| bool | select_point |
| bool | move_point |
| bool | cycle_handle_type |
| int | extrude_handle |
| float | radius |
| bool | move_entire |
| bool | snap_angle |
| bool | move_handle |
| bool | point_added |
| bool | point_removed |
| bool | handle_moved |
| float4x4 | projection |
| float2 | mouse_co |
| float2 | xy |
| float2 | prev_xy |
| float2 | center_of_mass_co |
| ClosestElement | closest_element |
| std::optional< int > | active_drawing_index |
| Vector< float4x4 > | layer_to_world_per_curves |
| Vector< float4x4 > | layer_to_object_per_curves |
Definition at line 71 of file ED_curves.hh.
|
virtualdefault |
|
pure virtual |
Implemented in blender::ed::curves::pen_tool::CurvesPenToolOperation, and blender::ed::greasepencil::GreasePencilPenToolOperation.
Referenced by blender::ed::curves::pen_tool::calculate_center_of_mass(), and modal().
|
pure virtual |
Will return true if a new curve can be created, and report any errors.
Implemented in blender::ed::curves::pen_tool::CurvesPenToolOperation, and blender::ed::greasepencil::GreasePencilPenToolOperation.
|
pure virtual |
Implemented in blender::ed::curves::pen_tool::CurvesPenToolOperation, and blender::ed::greasepencil::GreasePencilPenToolOperation.
Referenced by blender::ed::curves::pen_tool::calculate_center_of_mass(), blender::ed::curves::pen_tool::find_closest_element(), blender::ed::curves::pen_tool::invoke_curves(), and modal().
|
pure virtual |
|
pure virtual |
|
pure virtual |
Implemented in blender::ed::curves::pen_tool::CurvesPenToolOperation, and blender::ed::greasepencil::GreasePencilPenToolOperation.
References C.
| wmOperatorStatus blender::ed::curves::pen_tool::PenToolOperation::invoke | ( | bContext * | C, |
| wmOperator * | op, | ||
| const wmEvent * | event ) |
Definition at line 1153 of file curves_pen.cc.
References C, CTX_data_depsgraph_pointer(), CTX_wm_window(), cycle_handle_type, delete_point, ED_view3d_ob_project_mat_get(), ED_view3d_select_dist_px(), ED_view3d_viewcontext_init(), ELEM, extrude_handle, extrude_point, wmOperator::flag, handle_moved, initialize(), insert_point, invoke(), blender::ed::curves::pen_tool::invoke_curves(), KM_DBL_CLICK, KM_PRESS, LEFTMOUSE, mouse_co, move_entire, move_point, move_seg, wmEvent::mval, OP_IS_MODAL_CURSOR_REGION, OPERATOR_RUNNING_MODAL, projection, wmOperator::ptr, radius, result, RNA_boolean_get(), RNA_enum_get(), RNA_float_get(), ViewContext::rv3d, select_point, blender::ed::curves::pen_tool::selection_distance_factor, blender::ed::curves::pen_tool::selection_distance_factor_edge, snap_angle, threshold_distance, threshold_distance_edge, wmEvent::type, wmEvent::val, vc, WM_CURSOR_CROSS, WM_cursor_modal_set(), and WM_event_add_modal_handler().
Referenced by blender::ed::curves::pen_tool::curves_pen_invoke(), blender::ed::greasepencil::grease_pencil_pen_invoke(), and invoke().
| float2 blender::ed::curves::pen_tool::PenToolOperation::layer_to_screen | ( | const float4x4 & | layer_to_object, |
| const float3 & | point ) const |
Definition at line 1136 of file curves_pen.cc.
References ED_view3d_project_float_v2_m4(), layer_to_screen(), projection, blender::math::transform_point(), and vc.
Referenced by blender::ed::curves::pen_tool::calculate_center_of_mass(), blender::ed::curves::pen_tool::extrude_curves(), layer_to_screen(), blender::ed::curves::pen_tool::move_handles_in_curve(), blender::ed::curves::pen_tool::pen_find_closest_edge_point(), blender::ed::curves::pen_tool::pen_find_closest_handle(), and blender::ed::curves::pen_tool::pen_find_closest_point().
| wmOperatorStatus blender::ed::curves::pen_tool::PenToolOperation::modal | ( | bContext * | C, |
| wmOperator * | op, | ||
| const wmEvent * | event ) |
Definition at line 1204 of file curves_pen.cc.
References all_selected_points(), C, blender::ed::curves::pen_tool::calculate_center_of_mass(), center_of_mass_co, closest_element, curves_range(), blender::ed::curves::pen_tool::Edge, EVENT_NONE, EVT_MODAL_MAP, get_curves(), handle_moved, KM_RELEASE, layer_to_object_per_curves, layer_to_world_per_curves, LEFTMOUSE, modal(), mouse_co, move_entire, move_handle, blender::ed::curves::pen_tool::move_handles_in_curve(), move_seg, move_segment(), blender::ed::curves::pen_tool::MoveEntire, blender::ed::curves::pen_tool::MoveHandle, wmEvent::mval, OPERATOR_FINISHED, OPERATOR_RUNNING_MODAL, blender::threading::parallel_for(), blender::ed::curves::pen_tool::pen_status_indicators(), point_removed, prev_xy, wmEvent::prev_xy, snap_angle, blender::ed::curves::pen_tool::SnapAngle, tag_curve_changed(), wmEvent::type, update_view(), wmEvent::val, xy, and wmEvent::xy.
Referenced by blender::ed::curves::pen_tool::curves_pen_modal(), blender::ed::greasepencil::grease_pencil_pen_modal(), and modal().
|
pure virtual |
Implemented in blender::ed::curves::pen_tool::CurvesPenToolOperation, and blender::ed::greasepencil::GreasePencilPenToolOperation.
Referenced by blender::ed::curves::pen_tool::add_single_point_and_curve(), blender::ed::curves::pen_tool::extrude_curves(), and blender::ed::curves::pen_tool::move_handles_in_curve().
| float3 blender::ed::curves::pen_tool::PenToolOperation::screen_to_layer | ( | const float4x4 & | layer_to_world, |
| const float2 & | screen_co, | ||
| const float3 & | depth_point_layer ) const |
Definition at line 1143 of file curves_pen.cc.
References ED_view3d_win_to_3d(), blender::math::invert(), screen_to_layer(), blender::math::transform_point(), and vc.
Referenced by blender::ed::curves::pen_tool::add_single_point_and_curve(), blender::ed::curves::pen_tool::move_handles_in_curve(), blender::ed::curves::pen_tool::move_segment(), blender::ed::curves::pen_tool::CurvesPenToolOperation::project(), and screen_to_layer().
|
pure virtual |
|
pure virtual |
Implemented in blender::ed::curves::pen_tool::CurvesPenToolOperation, and blender::ed::greasepencil::GreasePencilPenToolOperation.
Referenced by modal().
|
pure virtual |
Implemented in blender::ed::curves::pen_tool::CurvesPenToolOperation, and blender::ed::greasepencil::GreasePencilPenToolOperation.
References C.
Referenced by modal().
|
pure virtual |
| std::optional<int> blender::ed::curves::pen_tool::PenToolOperation::active_drawing_index |
Definition at line 104 of file ED_curves.hh.
Referenced by blender::ed::curves::pen_tool::CurvesPenToolOperation::can_create_new_curve(), blender::ed::greasepencil::GreasePencilPenToolOperation::can_create_new_curve(), blender::ed::curves::pen_tool::CurvesPenToolOperation::initialize(), blender::ed::greasepencil::GreasePencilPenToolOperation::initialize(), and blender::ed::curves::pen_tool::CurvesPenToolOperation::project().
| float2 blender::ed::curves::pen_tool::PenToolOperation::center_of_mass_co |
Definition at line 101 of file ED_curves.hh.
Referenced by blender::ed::curves::pen_tool::extrude_curves(), blender::ed::curves::pen_tool::invoke_curves(), modal(), and blender::ed::curves::pen_tool::move_handles_in_curve().
| ClosestElement blender::ed::curves::pen_tool::PenToolOperation::closest_element |
Definition at line 102 of file ED_curves.hh.
Referenced by blender::ed::curves::pen_tool::close_curve_and_select(), blender::ed::curves::pen_tool::insert_point_to_curve(), blender::ed::curves::pen_tool::invoke_curves(), modal(), and blender::ed::curves::pen_tool::move_segment().
| bool blender::ed::curves::pen_tool::PenToolOperation::cycle_handle_type |
Definition at line 84 of file ED_curves.hh.
Referenced by invoke().
| bool blender::ed::curves::pen_tool::PenToolOperation::delete_point |
Definition at line 79 of file ED_curves.hh.
Referenced by invoke().
| int blender::ed::curves::pen_tool::PenToolOperation::extrude_handle |
Definition at line 85 of file ED_curves.hh.
Referenced by blender::ed::curves::pen_tool::add_single_point_and_curve(), blender::ed::curves::pen_tool::extrude_curves(), and invoke().
| bool blender::ed::curves::pen_tool::PenToolOperation::extrude_point |
Definition at line 78 of file ED_curves.hh.
Referenced by invoke(), and blender::ed::curves::pen_tool::invoke_curves().
| bool blender::ed::curves::pen_tool::PenToolOperation::handle_moved |
Definition at line 95 of file ED_curves.hh.
Referenced by invoke(), modal(), and blender::ed::curves::pen_tool::move_handles_in_curve().
| bool blender::ed::curves::pen_tool::PenToolOperation::insert_point |
Definition at line 80 of file ED_curves.hh.
Referenced by invoke().
Definition at line 107 of file ED_curves.hh.
Referenced by blender::ed::curves::pen_tool::calculate_center_of_mass(), blender::ed::curves::pen_tool::find_closest_element(), blender::ed::curves::pen_tool::CurvesPenToolOperation::initialize(), blender::ed::greasepencil::GreasePencilPenToolOperation::initialize(), and modal().
| float2 blender::ed::curves::pen_tool::PenToolOperation::mouse_co |
Definition at line 98 of file ED_curves.hh.
Referenced by blender::ed::curves::pen_tool::add_single_point_and_curve(), blender::ed::curves::pen_tool::extrude_curves(), invoke(), blender::ed::curves::pen_tool::invoke_curves(), modal(), blender::ed::curves::pen_tool::move_handles_in_curve(), and blender::ed::curves::pen_tool::move_segment().
| bool blender::ed::curves::pen_tool::PenToolOperation::move_entire |
Definition at line 88 of file ED_curves.hh.
Referenced by invoke(), modal(), and blender::ed::curves::pen_tool::move_handles_in_curve().
| bool blender::ed::curves::pen_tool::PenToolOperation::move_handle |
Definition at line 90 of file ED_curves.hh.
Referenced by modal(), and blender::ed::curves::pen_tool::move_handles_in_curve().
| bool blender::ed::curves::pen_tool::PenToolOperation::move_point |
Definition at line 83 of file ED_curves.hh.
Referenced by invoke(), and blender::ed::curves::pen_tool::move_handles_in_curve().
| bool blender::ed::curves::pen_tool::PenToolOperation::move_seg |
Definition at line 81 of file ED_curves.hh.
| bool blender::ed::curves::pen_tool::PenToolOperation::point_added |
Definition at line 92 of file ED_curves.hh.
Referenced by blender::ed::curves::pen_tool::move_handles_in_curve().
| bool blender::ed::curves::pen_tool::PenToolOperation::point_removed |
Definition at line 93 of file ED_curves.hh.
Referenced by modal().
| float2 blender::ed::curves::pen_tool::PenToolOperation::prev_xy |
Definition at line 100 of file ED_curves.hh.
Referenced by modal(), and blender::ed::curves::pen_tool::move_handles_in_curve().
| float4x4 blender::ed::curves::pen_tool::PenToolOperation::projection |
Definition at line 97 of file ED_curves.hh.
Referenced by invoke(), and layer_to_screen().
| float blender::ed::curves::pen_tool::PenToolOperation::radius |
Definition at line 86 of file ED_curves.hh.
Referenced by blender::ed::curves::pen_tool::add_single_point_and_curve(), blender::ed::curves::pen_tool::extrude_curves(), and invoke().
| bool blender::ed::curves::pen_tool::PenToolOperation::select_point |
Definition at line 82 of file ED_curves.hh.
Referenced by blender::ed::curves::pen_tool::close_curve_and_select(), and invoke().
| bool blender::ed::curves::pen_tool::PenToolOperation::snap_angle |
Definition at line 89 of file ED_curves.hh.
Referenced by invoke(), modal(), and blender::ed::curves::pen_tool::move_handles_in_curve().
| float blender::ed::curves::pen_tool::PenToolOperation::threshold_distance |
Definition at line 75 of file ED_curves.hh.
Referenced by invoke(), blender::ed::curves::pen_tool::pen_find_closest_handle(), and blender::ed::curves::pen_tool::pen_find_closest_point().
| float blender::ed::curves::pen_tool::PenToolOperation::threshold_distance_edge |
Definition at line 76 of file ED_curves.hh.
Referenced by invoke(), and blender::ed::curves::pen_tool::pen_find_closest_edge_point().
| ViewContext blender::ed::curves::pen_tool::PenToolOperation::vc |
Definition at line 73 of file ED_curves.hh.
Referenced by blender::ed::curves::pen_tool::add_single_point_and_curve(), blender::ed::curves::pen_tool::CurvesPenToolOperation::all_selected_points(), blender::ed::greasepencil::GreasePencilPenToolOperation::all_selected_points(), blender::ed::greasepencil::GreasePencilPenToolOperation::can_create_new_curve(), blender::ed::curves::pen_tool::curves_pen_exit(), blender::ed::greasepencil::GreasePencilPenToolOperation::editable_curves(), blender::ed::greasepencil::grease_pencil_pen_exit(), blender::ed::greasepencil::GreasePencilPenToolOperation::initialize(), invoke(), layer_to_screen(), screen_to_layer(), blender::ed::curves::pen_tool::CurvesPenToolOperation::update_view(), blender::ed::greasepencil::GreasePencilPenToolOperation::update_view(), blender::ed::curves::pen_tool::CurvesPenToolOperation::visible_bezier_handle_points(), and blender::ed::greasepencil::GreasePencilPenToolOperation::visible_bezier_handle_points().
| float2 blender::ed::curves::pen_tool::PenToolOperation::xy |
Definition at line 99 of file ED_curves.hh.
Referenced by modal(), and blender::ed::curves::pen_tool::move_handles_in_curve().