38 const float screen_co[2])
62 else if (beztindex == 1) {
74 if (bezt && beztindex == 1) {
78 if (dist_test < data->dist) {
79 data->dist = dist_test;
84 data->hpoint = bezt ? beztindex : 0;
85 data->is_changed =
true;
122 for (
uint base_index = 0; base_index < bases_len; base_index++) {
123 Base *base = bases[base_index];
124 data.is_changed =
false;
130 if (r_base &&
data.is_changed) {
141 *r_handle =
data.hpoint;
192 if (*r_bezt || *r_bp) {
206 a = nu1->pntsu * nu1->pntsv;
216 if (*r_bezt || *r_bp) {
bool BKE_curve_nurb_vert_active_get(struct Curve *cu, struct Nurb **r_nu, void **r_vert)
#define BKE_view_layer_array_from_bases_in_edit_mode_unique_data(view_layer, v3d, r_len)
#define LISTBASE_FOREACH(type, var, list)
MINLINE void copy_v3_v3(float r[3], const float a[3])
MINLINE float len_manhattan_v2v2(const float a[2], const float b[2]) ATTR_WARN_UNUSED_RESULT
#define UNUSED_VARS_NDEBUG(...)
#define BEZT_ISSEL_ANY_HIDDENHANDLES(v3d, bezt)
Object is a sort of wrapper for general info.
void ED_view3d_viewcontext_init_object(struct ViewContext *vc, struct Object *obact)
#define V3D_PROJ_TEST_CLIP_DEFAULT
void nurbs_foreachScreenVert(struct ViewContext *vc, void(*func)(void *userData, struct Nurb *nu, struct BPoint *bp, struct BezTriple *bezt, int beztindex, bool handle_visible, const float screen_co[2]), void *userData, eV3DProjTest clip_flag)
void ED_view3d_init_mats_rv3d(const struct Object *ob, struct RegionView3D *rv3d)
float ED_view3d_select_dist_px(void)
NSNotificationCenter * center
Read Guarded memory(de)allocation.
__forceinline const avxb select(const avxb &m, const avxb &t, const avxb &f)
void ED_curve_nurb_vert_selected_find(Curve *cu, View3D *v3d, Nurb **r_nu, BezTriple **r_bezt, BPoint **r_bp)
bool ED_curve_pick_vert(ViewContext *vc, short sel, Nurb **r_nurb, BezTriple **r_bezt, BPoint **r_bp, short *r_handle, Base **r_base)
bool ED_curve_pick_vert_ex(ViewContext *vc, short sel, const int dist_px, Nurb **r_nurb, BezTriple **r_bezt, BPoint **r_bp, short *r_handle, Base **r_base)
bool ED_curve_active_center(Curve *cu, float center[3])
static void ED_curve_pick_vert__do_closest(void *userData, Nurb *nu, BPoint *bp, BezTriple *bezt, int beztindex, bool handles_visible, const float screen_co[2])
void(* MEM_freeN)(void *vmemh)
struct ViewLayer * view_layer
struct RegionView3D * rv3d