Blender V5.0
blender::ed::curves::pen_tool::PenToolOperation Class Referenceabstract

#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::CurvesGeometryget_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< wmOperatorStatusinitialize (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< float4x4layer_to_world_per_curves
Vector< float4x4layer_to_object_per_curves

Detailed Description

Definition at line 71 of file ED_curves.hh.

Constructor & Destructor Documentation

◆ ~PenToolOperation()

virtual blender::ed::curves::pen_tool::PenToolOperation::~PenToolOperation ( )
virtualdefault

Member Function Documentation

◆ all_selected_points()

virtual IndexMask blender::ed::curves::pen_tool::PenToolOperation::all_selected_points ( int curves_index,
IndexMaskMemory & memory ) const
pure virtual

◆ can_create_new_curve()

virtual bool blender::ed::curves::pen_tool::PenToolOperation::can_create_new_curve ( wmOperator * op) const
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.

◆ curves_range()

◆ editable_curves()

virtual IndexMask blender::ed::curves::pen_tool::PenToolOperation::editable_curves ( int curves_index,
IndexMaskMemory & memory ) const
pure virtual

◆ get_curves()

◆ initialize()

virtual std::optional< wmOperatorStatus > blender::ed::curves::pen_tool::PenToolOperation::initialize ( bContext * C,
wmOperator * op,
const wmEvent * event )
pure virtual

◆ invoke()

◆ layer_to_screen()

◆ modal()

◆ project()

◆ screen_to_layer()

◆ single_point_attributes()

virtual void blender::ed::curves::pen_tool::PenToolOperation::single_point_attributes ( bke::CurvesGeometry & curves,
int curves_index ) const
pure virtual

◆ tag_curve_changed()

virtual void blender::ed::curves::pen_tool::PenToolOperation::tag_curve_changed ( int curves_index) const
pure virtual

◆ update_view()

virtual void blender::ed::curves::pen_tool::PenToolOperation::update_view ( bContext * C) const
pure virtual

◆ visible_bezier_handle_points()

virtual IndexMask blender::ed::curves::pen_tool::PenToolOperation::visible_bezier_handle_points ( int curves_index,
IndexMaskMemory & memory ) const
pure virtual

Member Data Documentation

◆ active_drawing_index

◆ center_of_mass_co

float2 blender::ed::curves::pen_tool::PenToolOperation::center_of_mass_co

◆ closest_element

◆ cycle_handle_type

bool blender::ed::curves::pen_tool::PenToolOperation::cycle_handle_type

Definition at line 84 of file ED_curves.hh.

Referenced by invoke().

◆ delete_point

bool blender::ed::curves::pen_tool::PenToolOperation::delete_point

Definition at line 79 of file ED_curves.hh.

Referenced by invoke().

◆ extrude_handle

int blender::ed::curves::pen_tool::PenToolOperation::extrude_handle

◆ extrude_point

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().

◆ handle_moved

bool blender::ed::curves::pen_tool::PenToolOperation::handle_moved

◆ insert_point

bool blender::ed::curves::pen_tool::PenToolOperation::insert_point

Definition at line 80 of file ED_curves.hh.

Referenced by invoke().

◆ layer_to_object_per_curves

◆ layer_to_world_per_curves

◆ mouse_co

◆ move_entire

bool blender::ed::curves::pen_tool::PenToolOperation::move_entire

◆ move_handle

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().

◆ move_point

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().

◆ move_seg

bool blender::ed::curves::pen_tool::PenToolOperation::move_seg

Definition at line 81 of file ED_curves.hh.

Referenced by invoke(), and modal().

◆ point_added

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().

◆ point_removed

bool blender::ed::curves::pen_tool::PenToolOperation::point_removed

Definition at line 93 of file ED_curves.hh.

Referenced by modal().

◆ prev_xy

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().

◆ projection

float4x4 blender::ed::curves::pen_tool::PenToolOperation::projection

Definition at line 97 of file ED_curves.hh.

Referenced by invoke(), and layer_to_screen().

◆ radius

float blender::ed::curves::pen_tool::PenToolOperation::radius

◆ select_point

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().

◆ snap_angle

bool blender::ed::curves::pen_tool::PenToolOperation::snap_angle

◆ threshold_distance

float blender::ed::curves::pen_tool::PenToolOperation::threshold_distance

◆ threshold_distance_edge

float blender::ed::curves::pen_tool::PenToolOperation::threshold_distance_edge

◆ vc

◆ xy

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().


The documentation for this class was generated from the following files: