Blender V4.3
blender::ed::sculpt_paint::gesture Namespace Reference

Classes

struct  GestureData
 
struct  LassoData
 
struct  LineData
 
struct  Operation
 

Enumerations

enum  ShapeType { Box = 0 , Lasso = 1 , Line = 2 }
 
enum class  SelectionType { Inside = 0 , Outside = 1 }
 

Functions

void operator_properties (wmOperatorType *ot, ShapeType shapeType)
 
static void init_common (bContext *C, wmOperator *op, GestureData &gesture_data)
 
static void lasso_px_cb (int x, int x_end, int y, void *user_data)
 
std::unique_ptr< GestureDatainit_from_polyline (bContext *C, wmOperator *op)
 
std::unique_ptr< GestureDatainit_from_lasso (bContext *C, wmOperator *op)
 
std::unique_ptr< GestureDatainit_from_box (bContext *C, wmOperator *op)
 
static void line_plane_from_tri (float *r_plane, GestureData &gesture_data, const bool flip, const float p1[3], const float p2[3], const float p3[3])
 
static void line_calculate_plane_points (GestureData &gesture_data, float line_points[2][2], float r_plane_points[4][3], float r_offset_plane_points[2][3])
 
std::unique_ptr< GestureDatainit_from_line (bContext *C, wmOperator *op)
 
static void flip_plane (float out[4], const float in[4], const char symm)
 
static void flip_for_symmetry_pass (GestureData &gesture_data, const ePaintSymmetryFlags symmpass)
 
static void update_affected_nodes_by_line_plane (GestureData &gesture_data)
 
static void update_affected_nodes_by_clip_planes (GestureData &gesture_data)
 
static void update_affected_nodes (GestureData &gesture_data)
 
static bool is_affected_lasso (const GestureData &gesture_data, const float3 &position)
 
bool is_affected (const GestureData &gesture_data, const float3 &position, const float3 &normal)
 
void filter_factors (const GestureData &gesture_data, const Span< float3 > positions, const Span< float3 > normals, const MutableSpan< float > factors)
 
void apply (bContext &C, GestureData &gesture_data, wmOperator &op)
 

Enumeration Type Documentation

◆ SelectionType

Enumerator
Inside 
Outside 

Definition at line 38 of file sculpt_gesture.hh.

◆ ShapeType

Enumerator
Box 
Lasso 
Line 

Definition at line 29 of file sculpt_gesture.hh.

Function Documentation

◆ apply()

◆ filter_factors()

void blender::ed::sculpt_paint::gesture::filter_factors ( const GestureData & gesture_data,
const Span< float3 > positions,
const Span< float3 > normals,
const MutableSpan< float > factors )

◆ flip_for_symmetry_pass()

◆ flip_plane()

static void blender::ed::sculpt_paint::gesture::flip_plane ( float out[4],
const float in[4],
const char symm )
static

Definition at line 284 of file sculpt_gesture.cc.

References PAINT_SYMM_X, PAINT_SYMM_Y, and PAINT_SYMM_Z.

Referenced by flip_for_symmetry_pass().

◆ init_common()

◆ init_from_box()

std::unique_ptr< GestureData > blender::ed::sculpt_paint::gesture::init_from_box ( bContext * C,
wmOperator * op )

◆ init_from_lasso()

◆ init_from_line()

◆ init_from_polyline()

std::unique_ptr< GestureData > blender::ed::sculpt_paint::gesture::init_from_polyline ( bContext * C,
wmOperator * op )

◆ is_affected()

◆ is_affected_lasso()

◆ lasso_px_cb()

static void blender::ed::sculpt_paint::gesture::lasso_px_cb ( int x,
int x_end,
int y,
void * user_data )
static

◆ line_calculate_plane_points()

static void blender::ed::sculpt_paint::gesture::line_calculate_plane_points ( GestureData & gesture_data,
float line_points[2][2],
float r_plane_points[4][3],
float r_offset_plane_points[2][3] )
static

◆ line_plane_from_tri()

static void blender::ed::sculpt_paint::gesture::line_plane_from_tri ( float * r_plane,
GestureData & gesture_data,
const bool flip,
const float p1[3],
const float p2[3],
const float p3[3] )
static

◆ operator_properties()

◆ update_affected_nodes()

static void blender::ed::sculpt_paint::gesture::update_affected_nodes ( GestureData & gesture_data)
static

◆ update_affected_nodes_by_clip_planes()

◆ update_affected_nodes_by_line_plane()