|
Blender V4.3
|
#include "DNA_object_types.h"#include "DNA_scene_types.h"#include "MEM_guardedalloc.h"#include "BLI_listbase.h"#include "BLI_math_vector.h"#include "BKE_curve.hh"#include "BKE_fcurve.hh"#include "BKE_layer.hh"#include "ED_curve.hh"#include "ED_view3d.hh"#include "curve_intern.hh"Go to the source code of this file.
Classes | |
| struct | PickUserData |
Functions | |
Cursor Picking API | |
| static void | ED_curve_pick_vert__do_closest (void *user_data, Nurb *nu, BPoint *bp, BezTriple *bezt, int beztindex, bool handles_visible, const float screen_co[2]) |
| bool | ED_curve_pick_vert_ex (ViewContext *vc, const bool select, const int dist_px, Nurb **r_nurb, BezTriple **r_bezt, BPoint **r_bp, short *r_handle, Base **r_base) |
| bool | ED_curve_pick_vert (ViewContext *vc, short sel, Nurb **r_nurb, BezTriple **r_bezt, BPoint **r_bp, short *r_handle, Base **r_base) |
Selection Queries | |
| void | ED_curve_nurb_vert_selected_find (Curve *cu, View3D *v3d, Nurb **r_nu, BezTriple **r_bezt, BPoint **r_bp) |
| bool | ED_curve_active_center (Curve *cu, float center[3]) |
Definition at line 220 of file editcurve_query.cc.
References BKE_curve_nurb_vert_active_get(), copy_v3_v3(), CU_BEZIER, Nurb::type, BezTriple::vec, and BPoint::vec.
Referenced by blender::ed::object::calc_active_center_for_editmode().
| void ED_curve_nurb_vert_selected_find | ( | Curve * | cu, |
| View3D * | v3d, | ||
| Nurb ** | r_nu, | ||
| BezTriple ** | r_bezt, | ||
| BPoint ** | r_bp ) |
Definition at line 154 of file editcurve_query.cc.
References BEZT_ISSEL_ANY_HIDDENHANDLES, CU_BEZIER, Curve::editnurb, ELEM, BPoint::f1, LISTBASE_FOREACH, EditNurb::nurbs, and SELECT.
Referenced by add_vertex_invoke().
| bool ED_curve_pick_vert | ( | ViewContext * | vc, |
| short | sel, | ||
| Nurb ** | r_nurb, | ||
| BezTriple ** | r_bezt, | ||
| BPoint ** | r_bp, | ||
| short * | r_handle, | ||
| Base ** | r_base ) |
Definition at line 136 of file editcurve_query.cc.
References ED_curve_pick_vert_ex(), and ED_view3d_select_dist_px().
Referenced by edcu_shortest_path_pick_invoke(), and select_linked_pick_invoke().
|
static |
Definition at line 43 of file editcurve_query.cc.
References BLI_assert, BezTriple::f1, BPoint::f1, BezTriple::f2, BezTriple::f3, flag, len_manhattan_v2v2(), SELECT, and UNUSED_VARS_NDEBUG.
Referenced by ED_curve_pick_vert_ex().
| bool ED_curve_pick_vert_ex | ( | ViewContext * | vc, |
| bool | select, | ||
| int | dist_px, | ||
| Nurb ** | r_nurb, | ||
| BezTriple ** | r_bezt, | ||
| BPoint ** | r_bp, | ||
| short * | r_handle, | ||
| Base ** | r_base ) |
Pick the nearest r_nurb and r_bezt or r_bp.
| select | selected vertices have a disadvantage. |
| sel_dist_mul | A multiplier on the default select distance. |
| r_handle | For bezier triples, set the handle index [0, 1, 2]. |
Definition at line 94 of file editcurve_query.cc.
References BKE_view_layer_array_from_bases_in_edit_mode_unique_data(), PickUserData::dist, ED_curve_pick_vert__do_closest(), ED_view3d_init_mats_rv3d(), ED_view3d_viewcontext_init_object(), ViewContext::mval, nurbs_foreachScreenVert(), ViewContext::obedit, ViewContext::rv3d, ViewContext::scene, SELECT, select(), ViewContext::v3d, V3D_PROJ_TEST_CLIP_DEFAULT, and ViewContext::view_layer.
Referenced by ED_curve_editnurb_select_pick(), and ED_curve_pick_vert().