Blender V5.0
curves_draw.cc File Reference
#include "DNA_curve_types.h"
#include "BLI_math_matrix.h"
#include "BLI_math_rotation.h"
#include "BLI_math_vector.h"
#include "BLI_mempool.h"
#include "BLT_translation.hh"
#include "BKE_attribute.hh"
#include "BKE_context.hh"
#include "BKE_curves.hh"
#include "BKE_object_types.hh"
#include "BKE_report.hh"
#include "BKE_screen.hh"
#include "DEG_depsgraph.hh"
#include "WM_api.hh"
#include "ED_curves.hh"
#include "ED_screen.hh"
#include "ED_space_api.hh"
#include "ED_view3d.hh"
#include "GPU_batch.hh"
#include "GPU_batch_presets.hh"
#include "GPU_immediate.hh"
#include "GPU_immediate_util.hh"
#include "GPU_matrix.hh"
#include "GPU_state.hh"
#include "UI_resources.hh"
#include "RNA_access.hh"
#include "RNA_define.hh"
#include "RNA_enum_types.hh"
#include "RNA_prototypes.hh"
#include "curve_fit_nd.h"

Go to the source code of this file.

Classes

struct  blender::ed::curves::StrokeElem
struct  blender::ed::curves::CurveDrawData

Namespaces

namespace  blender
namespace  blender::ed
namespace  blender::ed::curves

Macros

#define STROKE_SAMPLE_DIST_MIN_PX   1
#define STROKE_SAMPLE_DIST_MAX_PX   3
#define STROKE_CYCLIC_DIST_PX   8

Functions

static void blender::ed::curves::curve_draw_stroke_3d (const bContext *, ARegion *, void *arg)
static void blender::ed::curves::curve_draw_event_add (wmOperator *op, const wmEvent *event)
static void blender::ed::curves::curve_draw_event_add_first (wmOperator *op, const wmEvent *event)
static void blender::ed::curves::curve_draw_exit (wmOperator *op)
static bool blender::ed::curves::curve_draw_init (bContext *C, wmOperator *op, bool is_invoke)
static void blender::ed::curves::create_Bezier (bke::CurvesGeometry &curves, bke::MutableAttributeAccessor &attributes, const CurveDrawData *cdd, const int curve_index, const bool is_cyclic, const uint cubic_spline_len, const int dims, const int radius_index, const float radius_max, const float *cubic_spline, const uint *corners_index, const uint corners_index_len)
static void blender::ed::curves::create_NURBS (bke::CurvesGeometry &curves, bke::MutableAttributeAccessor &attributes, const CurveDrawData *cdd, const int curve_index, const bool is_cyclic, const uint cubic_spline_len, const int dims, const int radius_index, const float radius_max, const float *cubic_spline)
static wmOperatorStatus blender::ed::curves::curves_draw_exec (bContext *C, wmOperator *op)
static wmOperatorStatus blender::ed::curves::curves_draw_invoke (bContext *C, wmOperator *op, const wmEvent *event)
static void blender::ed::curves::curve_draw_cancel (bContext *, wmOperator *op)
static void blender::ed::curves::curve_draw_exec_precalc (wmOperator *op)
static wmOperatorStatus blender::ed::curves::curves_draw_modal (bContext *C, wmOperator *op, const wmEvent *event)
Operator/Stroke Conversion
static void blender::ed::curves::curve_draw_stroke_to_operator_elem (wmOperator *op, const StrokeElem *selem)
static void blender::ed::curves::curve_draw_stroke_from_operator_elem (wmOperator *op, PointerRNA *itemptr)
static void blender::ed::curves::curve_draw_stroke_to_operator (wmOperator *op)
static void blender::ed::curves::curve_draw_stroke_from_operator (wmOperator *op)
Operators
void blender::ed::curves::CURVES_OT_draw (wmOperatorType *ot)

StrokeElem / #RNA_OperatorStrokeElement Conversion Functions

enum  blender::ed::curves::CurveDrawState { blender::ed::curves::CURVE_DRAW_IDLE = 0 , blender::ed::curves::CURVE_DRAW_PAINTING = 1 }
static float blender::ed::curves::stroke_elem_radius_from_pressure (const CurveDrawData *cdd, const float pressure)
static float blender::ed::curves::stroke_elem_radius (const CurveDrawData *cdd, const StrokeElem *selem)
static void blender::ed::curves::stroke_elem_pressure_set (const CurveDrawData *cdd, StrokeElem *selem, float pressure)
static void blender::ed::curves::stroke_elem_interp (StrokeElem *selem_out, const StrokeElem *selem_a, const StrokeElem *selem_b, float t)
static bool blender::ed::curves::stroke_elem_project (const CurveDrawData *cdd, const int mval_i[2], const float mval_fl[2], float surface_offset, const float radius, float r_location_world[3], float r_normal_world[3])
static bool blender::ed::curves::stroke_elem_project_fallback (const CurveDrawData *cdd, const int mval_i[2], const float mval_fl[2], const float surface_offset, const float radius, const float location_fallback_depth[3], float r_location_world[3], float r_location_local[3], float r_normal_world[3], float r_normal_local[3])
static bool blender::ed::curves::stroke_elem_project_fallback_elem (const CurveDrawData *cdd, const float location_fallback_depth[3], StrokeElem *selem)

Macro Definition Documentation

◆ STROKE_CYCLIC_DIST_PX

#define STROKE_CYCLIC_DIST_PX   8

Definition at line 55 of file curves_draw.cc.

◆ STROKE_SAMPLE_DIST_MAX_PX

#define STROKE_SAMPLE_DIST_MAX_PX   3

Definition at line 52 of file curves_draw.cc.

◆ STROKE_SAMPLE_DIST_MIN_PX

#define STROKE_SAMPLE_DIST_MIN_PX   1

Definition at line 51 of file curves_draw.cc.