|
Blender V4.5
|
#include <algorithm>#include "DNA_anim_types.h"#include "DNA_key_types.h"#include "DNA_object_types.h"#include "DNA_scene_types.h"#include "MEM_guardedalloc.h"#include "BLI_array_utils.h"#include "BLI_ghash.h"#include "BLI_listbase_wrapper.hh"#include "BLI_math_geom.h"#include "BLI_math_matrix.h"#include "BLI_math_rotation.h"#include "BLI_math_vector.h"#include "BLI_set.hh"#include "BLI_span.hh"#include "BLI_string.h"#include "BLT_translation.hh"#include "BKE_action.hh"#include "BKE_anim_data.hh"#include "BKE_context.hh"#include "BKE_curve.hh"#include "BKE_displist.h"#include "BKE_fcurve.hh"#include "BKE_global.hh"#include "BKE_key.hh"#include "BKE_layer.hh"#include "BKE_lib_id.hh"#include "BKE_main.hh"#include "BKE_modifier.hh"#include "BKE_object_types.hh"#include "BKE_report.hh"#include "ANIM_action.hh"#include "ANIM_action_legacy.hh"#include "DEG_depsgraph.hh"#include "DEG_depsgraph_build.hh"#include "DEG_depsgraph_query.hh"#include "WM_api.hh"#include "WM_types.hh"#include "ED_curve.hh"#include "ED_object.hh"#include "ED_outliner.hh"#include "ED_screen.hh"#include "ED_select_utils.hh"#include "ED_transform.hh"#include "ED_transform_snap_object_context.hh"#include "ED_view3d.hh"#include "curve_intern.hh"#include "curve_fit_nd.h"#include "UI_interface.hh"#include "UI_resources.hh"#include "RNA_access.hh"#include "RNA_define.hh"#include "RNA_enum_types.hh"Go to the source code of this file.
Classes | |
| struct | NurbDim |
| struct | NurbSort |
Macros | |
| #define | BEZT_VALUE(bezt) |
| #define | BP_VALUE(bp) |
Functions | |
| void | selectend_nurb (Object *obedit, enum eEndPoint_Types selfirst, bool doswap, bool selstatus) |
Flag Utility Functions | |
| static void | adduplicateflagNurb (Object *obedit, View3D *v3d, ListBase *newnurb, const uint8_t flag, const bool split) |
| static bool | isNurbselU (Nurb *nu, int *v, int flag) |
| static bool | isNurbselV (Nurb *nu, int *u, int flag) |
| static void | rotateflagNurb (ListBase *editnurb, short flag, const float cent[3], const float rotmat[3][3]) |
| void | ed_editnurb_translate_flag (ListBase *editnurb, uint8_t flag, const float vec[3], bool is_2d) |
| static void | weightflagNurb (ListBase *editnurb, short flag, float w) |
| static void | ed_surf_delete_selected (Object *obedit) |
| static void | ed_curve_delete_selected (Object *obedit, View3D *v3d) |
| static void | select_bpoints (BPoint *bp, const int stride, const int count, const bool selstatus, const uint8_t flag, const bool hidden) |
| static int | sel_to_copy_ints (const BPoint *bp, const int next_j, const int max_j, const int next_i, const int max_i, const uint8_t flag, int copy_intervals[], int *interval_count, bool *out_is_first_sel) |
| static NurbDim | editnurb_find_max_points_num (const EditNurb *editnurb) |
| bool | ed_editnurb_extrude_flag (EditNurb *editnurb, const uint8_t flag) |
| static void | calc_duplicate_actnurb (const ListBase *editnurb, const ListBase *newnurb, Curve *cu) |
| static bool | calc_duplicate_actvert (const ListBase *editnurb, const ListBase *newnurb, Curve *cu, int start, int end, int vert) |
Utility Functions | |
| ListBase * | object_editcurve_get (Object *ob) |
| KeyBlock * | ED_curve_get_edit_shape_key (const Curve *cu) |
Shape keys | |
| static CVKeyIndex * | init_cvKeyIndex (void *cv, int key_index, int nu_index, int pt_index, int vertex_index) |
| static void | init_editNurb_keyIndex (EditNurb *editnurb, ListBase *origBase) |
| static CVKeyIndex * | getCVKeyIndex (EditNurb *editnurb, const void *cv) |
| static CVKeyIndex * | popCVKeyIndex (EditNurb *editnurb, const void *cv) |
| static BezTriple * | getKeyIndexOrig_bezt (EditNurb *editnurb, const BezTriple *bezt) |
| static BPoint * | getKeyIndexOrig_bp (EditNurb *editnurb, BPoint *bp) |
| static int | getKeyIndexOrig_keyIndex (EditNurb *editnurb, void *cv) |
| static void | keyIndex_delBezt (EditNurb *editnurb, BezTriple *bezt) |
| static void | keyIndex_delBP (EditNurb *editnurb, BPoint *bp) |
| static void | keyIndex_delNurb (EditNurb *editnurb, Nurb *nu) |
| static void | keyIndex_delNurbList (EditNurb *editnurb, ListBase *nubase) |
| static void | keyIndex_updateCV (EditNurb *editnurb, char *cv, char *newcv, int count, int size) |
| static void | keyIndex_updateBezt (EditNurb *editnurb, BezTriple *bezt, BezTriple *newbezt, int count) |
| static void | keyIndex_updateBP (EditNurb *editnurb, BPoint *bp, BPoint *newbp, int count) |
| void | ED_curve_keyindex_update_nurb (EditNurb *editnurb, Nurb *nu, Nurb *newnu) |
| static void | keyIndex_swap (EditNurb *editnurb, void *a, void *b) |
| static void | keyIndex_switchDirection (EditNurb *editnurb, Nurb *nu) |
| static void | switch_keys_direction (Curve *cu, Nurb *actnu) |
| static void | keyData_switchDirectionNurb (Curve *cu, Nurb *nu) |
| GHash * | ED_curve_keyindex_hash_duplicate (GHash *keyindex) |
| static void | key_to_bezt (float *key, BezTriple *basebezt, BezTriple *bezt) |
| static void | bezt_to_key (BezTriple *bezt, float *key) |
| static void | calc_keyHandles (ListBase *nurb, float *key) |
| static void | calc_shapeKeys (Object *obedit, ListBase *newnurbs) |
Animation Data | |
| static bool | curve_is_animated (Curve *cu) |
| static void | fcurve_path_rename (const char *orig_rna_path, const char *rna_path, const blender::Span< FCurve * > orig_curves, blender::Set< FCurve * > &processed_fcurves) |
| static blender::Vector< FCurve * > | curve_rename_fcurves (Curve *cu, blender::Span< FCurve * > orig_curves) |
| int | ED_curve_updateAnimPaths (Main *bmain, Curve *cu) |
Edit Mode Conversion (Make & Load) | |
| static int * | init_index_map (Object *obedit, int *r_old_totvert) |
| static void | remap_hooks_and_vertex_parents (Main *bmain, Object *obedit) |
| void | ED_curve_editnurb_load (Main *bmain, Object *obedit) |
| void | ED_curve_editnurb_make (Object *obedit) |
| void | ED_curve_editnurb_free (Object *obedit) |
Separate Operator | |
| static wmOperatorStatus | separate_exec (bContext *C, wmOperator *op) |
| void | CURVE_OT_separate (wmOperatorType *ot) |
Split Operator | |
| static wmOperatorStatus | curve_split_exec (bContext *C, wmOperator *op) |
| void | CURVE_OT_split (wmOperatorType *ot) |
Switch Direction Operator | |
| static wmOperatorStatus | switch_direction_exec (bContext *C, wmOperator *) |
| void | CURVE_OT_switch_direction (wmOperatorType *ot) |
Set Weight Operator | |
| static wmOperatorStatus | set_goal_weight_exec (bContext *C, wmOperator *op) |
| void | CURVE_OT_spline_weight_set (wmOperatorType *ot) |
Set Radius Operator | |
| static wmOperatorStatus | set_radius_exec (bContext *C, wmOperator *op) |
| void | CURVE_OT_radius_set (wmOperatorType *ot) |
Smooth Vertices Operator | |
| static void | smooth_single_bezt (BezTriple *bezt, const BezTriple *bezt_orig_prev, const BezTriple *bezt_orig_next, float factor) |
| static void | smooth_single_bp (BPoint *bp, const BPoint *bp_orig_prev, const BPoint *bp_orig_next, float factor) |
| static wmOperatorStatus | smooth_exec (bContext *C, wmOperator *op) |
| void | CURVE_OT_smooth (wmOperatorType *ot) |
Smooth Operator (Radius/Weight/Tilt) Utilities | |
To do:
| |
| static void | curve_smooth_value (ListBase *editnurb, const int bezt_offsetof, const int bp_offset) |
Smooth Weight Operator | |
| static wmOperatorStatus | curve_smooth_weight_exec (bContext *C, wmOperator *) |
| void | CURVE_OT_smooth_weight (wmOperatorType *ot) |
Smooth Radius Operator | |
| static wmOperatorStatus | curve_smooth_radius_exec (bContext *C, wmOperator *op) |
| void | CURVE_OT_smooth_radius (wmOperatorType *ot) |
Smooth Tilt Operator | |
| static wmOperatorStatus | curve_smooth_tilt_exec (bContext *C, wmOperator *op) |
| void | CURVE_OT_smooth_tilt (wmOperatorType *ot) |
Hide Operator | |
| static wmOperatorStatus | hide_exec (bContext *C, wmOperator *op) |
| void | CURVE_OT_hide (wmOperatorType *ot) |
Reveal Operator | |
| static wmOperatorStatus | reveal_exec (bContext *C, wmOperator *op) |
| void | CURVE_OT_reveal (wmOperatorType *ot) |
Subdivide Operator | |
| static void | interp_bpoint (BPoint *bp_target, const BPoint *bp_a, const BPoint *bp_b, const float factor) |
| static void | subdividenurb (Object *obedit, View3D *v3d, int number_cuts) |
| static wmOperatorStatus | subdivide_exec (bContext *C, wmOperator *op) |
| void | CURVE_OT_subdivide (wmOperatorType *ot) |
Set Spline Type Operator | |
| static wmOperatorStatus | set_spline_type_exec (bContext *C, wmOperator *op) |
| void | CURVE_OT_spline_type_set (wmOperatorType *ot) |
Set Handle Type Operator | |
| static wmOperatorStatus | set_handle_type_exec (bContext *C, wmOperator *op) |
| void | CURVE_OT_handle_type_set (wmOperatorType *ot) |
Recalculate Handles Operator | |
| static wmOperatorStatus | curve_normals_make_consistent_exec (bContext *C, wmOperator *op) |
| void | CURVE_OT_normals_make_consistent (wmOperatorType *ot) |
Pick Select from 3D View | |
| bool | ED_curve_editnurb_select_pick (bContext *C, const int mval[2], const int dist_px, const SelectPick_Params ¶ms) |
Spin Operator | |
| bool | ed_editnurb_spin (float viewmat[4][4], View3D *v3d, Object *obedit, const float axis[3], const float cent[3]) |
| static wmOperatorStatus | spin_exec (bContext *C, wmOperator *op) |
| static wmOperatorStatus | spin_invoke (bContext *C, wmOperator *op, const wmEvent *) |
| void | CURVE_OT_spin (wmOperatorType *ot) |
Extrude Vertex Operator | |
| static bool | ed_editcurve_extrude (Curve *cu, EditNurb *editnurb, View3D *v3d) |
Add Vertex Operator | |
| int | ed_editcurve_addvert (Curve *cu, EditNurb *editnurb, View3D *v3d, const float location_init[3]) |
| static wmOperatorStatus | add_vertex_exec (bContext *C, wmOperator *op) |
| static wmOperatorStatus | add_vertex_invoke (bContext *C, wmOperator *op, const wmEvent *event) |
| void | CURVE_OT_vertex_add (wmOperatorType *ot) |
Extrude Operator | |
| static wmOperatorStatus | curve_extrude_exec (bContext *C, wmOperator *) |
| void | CURVE_OT_extrude (wmOperatorType *ot) |
Make Cyclic Operator | |
| bool | curve_toggle_cyclic (View3D *v3d, ListBase *editnurb, int direction) |
| static wmOperatorStatus | toggle_cyclic_exec (bContext *C, wmOperator *op) |
| static wmOperatorStatus | toggle_cyclic_invoke (bContext *C, wmOperator *op, const wmEvent *) |
| void | CURVE_OT_cyclic_toggle (wmOperatorType *ot) |
Add Duplicate Operator | |
| static wmOperatorStatus | duplicate_exec (bContext *C, wmOperator *op) |
| void | CURVE_OT_duplicate (wmOperatorType *ot) |
Dissolve Vertices | |
| static bool | test_bezt_is_sel_any (const void *bezt_v, void *user_data) |
| void | ed_dissolve_bez_segment (BezTriple *bezt_prev, BezTriple *bezt_next, const Nurb *nu, const Curve *cu, const uint span_len, const uint span_step[2]) |
| static wmOperatorStatus | curve_dissolve_exec (bContext *C, wmOperator *) |
| void | CURVE_OT_dissolve_verts (wmOperatorType *ot) |
Decimate Operator | |
| static bool | nurb_bezt_flag_any (const Nurb *nu, const char flag_test) |
| static wmOperatorStatus | curve_decimate_exec (bContext *C, wmOperator *op) |
| void | CURVE_OT_decimate (wmOperatorType *ot) |
Shade Smooth/Flat Operator | |
| static wmOperatorStatus | shade_smooth_exec (bContext *C, wmOperator *op) |
| void | CURVE_OT_shade_smooth (wmOperatorType *ot) |
| void | CURVE_OT_shade_flat (wmOperatorType *ot) |
Join Operator | |
| wmOperatorStatus | ED_curve_join_objects_exec (bContext *C, wmOperator *op) |
Clear Tilt Operator | |
| static wmOperatorStatus | clear_tilt_exec (bContext *C, wmOperator *op) |
| void | CURVE_OT_tilt_clear (wmOperatorType *ot) |
| void | ED_curve_beztcpy (EditNurb *editnurb, BezTriple *dst, BezTriple *src, int count) |
| void | ED_curve_bpcpy (EditNurb *editnurb, BPoint *dst, BPoint *src, int count) |
Match Texture Space Operator | |
| static bool | match_texture_space_poll (bContext *C) |
| static wmOperatorStatus | match_texture_space_exec (bContext *C, wmOperator *) |
| void | CURVE_OT_match_texture_space (wmOperatorType *ot) |
Make Segment Operator | |
Also handles skinning & lofting. | |
| enum | { CURVE_MERGE_OK = 0 , CURVE_MERGE_ERR_FEW_SELECTION , CURVE_MERGE_ERR_RESOLUTION_ALL , CURVE_MERGE_ERR_RESOLUTION_SOME } |
| static void | switchdirection_knots (float *base, int tot) |
| static void | rotate_direction_nurb (Nurb *nu) |
| static bool | is_u_selected (Nurb *nu, int u) |
| static void | make_selection_list_nurb (View3D *v3d, ListBase *editnurb, ListBase *nsortbase) |
| static bool | merge_2_nurb (Curve *cu, ListBase *editnurb, Nurb *nu1, Nurb *nu2) |
| static int | merge_nurb (View3D *v3d, Object *obedit) |
| static wmOperatorStatus | make_segment_exec (bContext *C, wmOperator *op) |
| void | CURVE_OT_make_segment (wmOperatorType *ot) |
Delete Operator | |
| static const EnumPropertyItem | curve_delete_type_items [] |
| static bool | curve_delete_segments (Object *obedit, View3D *v3d, const bool split) |
| static bool | curve_delete_vertices (Object *obedit, View3D *v3d) |
| static wmOperatorStatus | curve_delete_exec (bContext *C, wmOperator *op) |
| static const EnumPropertyItem * | rna_curve_delete_type_itemf (bContext *C, PointerRNA *, PropertyRNA *, bool *r_free) |
| void | CURVE_OT_delete (wmOperatorType *ot) |
| #define BEZT_VALUE | ( | bezt | ) |
Referenced by curve_smooth_value().
| #define BP_VALUE | ( | bp | ) |
Referenced by curve_smooth_value().
| anonymous enum |
| Enumerator | |
|---|---|
| CURVE_MERGE_OK | |
| CURVE_MERGE_ERR_FEW_SELECTION | |
| CURVE_MERGE_ERR_RESOLUTION_ALL | |
| CURVE_MERGE_ERR_RESOLUTION_SOME | |
Definition at line 4301 of file editcurve.cc.
|
static |
Definition at line 5622 of file editcurve.cc.
References add_vertex_exec(), C, CTX_data_edit_object(), CTX_data_main(), CTX_wm_view3d(), Object::data, DEG_id_tag_update(), ED_curve_updateAnimPaths(), ed_editcurve_addvert(), Curve::editnurb, invert_m4_m4(), mul_m4_v3(), NC_GEOM, NC_OBJECT, ND_DATA, ND_KEYS, ND_SELECT, OPERATOR_CANCELLED, OPERATOR_FINISHED, wmOperator::ptr, RNA_float_get_array(), and WM_event_add_notifier().
Referenced by add_vertex_exec(), add_vertex_invoke(), and CURVE_OT_vertex_add().
|
static |
Definition at line 5652 of file editcurve.cc.
References add_vertex_exec(), add_vertex_invoke(), C, copy_v3_v3(), CTX_data_ensure_evaluated_depsgraph(), CU_IS_2D, Scene::cursor, Object::data, ViewContext::depsgraph, dot_v3v3(), ED_curve_nurb_vert_selected_find(), ED_view3d_global_to_vector(), ED_view3d_viewcontext_init(), ED_view3d_win_to_3d_int(), blender::ed::transform::SnapObjectParams::edit_mode_type, eps, fabsf, RegionView3D::is_persp, isect_ray_plane_v3_factor(), View3DCursor::location, madd_v3_v3v3fl(), mul_project_m4_v3_zfac(), mul_v3_m4v3(), wmEvent::mval, normalize_v3_v3(), ViewContext::obedit, OPERATOR_FINISHED, OPERATOR_PASS_THROUGH, RegionView3D::persmat, wmOperator::ptr, ViewContext::region, RNA_float_set_array(), RNA_struct_property_is_set(), ViewContext::rv3d, SCE_SNAP, SCE_SNAP_INDIVIDUAL_PROJECT, SCE_SNAP_TARGET_ALL, SCE_SNAP_TARGET_NOT_ACTIVE, SCE_SNAP_TO_FACE, ViewContext::scene, ToolSettings::snap_flag, blender::ed::transform::SNAP_GEOM_FINAL, ToolSettings::snap_mode, blender::ed::transform::snap_object_context_create(), blender::ed::transform::snap_object_context_destroy(), blender::ed::transform::snap_object_project_view3d(), blender::ed::transform::SnapObjectParams::snap_target_select, Scene::toolsettings, ViewContext::v3d, BezTriple::vec, BPoint::vec, and WM_operator_flag_only_pass_through_on_press().
Referenced by add_vertex_invoke(), and CURVE_OT_vertex_add().
|
static |
Definition at line 2190 of file editcurve.cc.
References Curve::actnu, Curve::actvert, adduplicateflagNurb(), b, Nurb::bezt, BKE_nurb_copy(), BKE_nurb_handle_calc_simple(), BKE_nurb_knot_calc_u(), BKE_nurb_knot_calc_v(), BKE_nurb_order_clamp_u(), BKE_nurb_order_clamp_v(), BLI_addtail(), BLI_listbase_is_empty(), Nurb::bp, calc_duplicate_actnurb(), calc_duplicate_actvert(), CU_BEZIER, CU_NURB_CYCLIC, Object::data, ED_curve_nurb_select_check(), ELEM, BezTriple::f1, BPoint::f1, BezTriple::f2, BezTriple::f3, Nurb::flagu, Nurb::flagv, G, G_DEBUG, HIDDEN, i, isNurbselU(), isNurbselV(), LISTBASE_FOREACH, LISTBASE_FOREACH_INDEX, MEM_calloc_arrayN(), MEM_freeN(), OB_SURF, object_editcurve_get(), Nurb::pntsu, Nurb::pntsv, printf, SELECT, select_beztriple(), select_bpoint(), SURF_SEEN, Nurb::type, and Object::type.
Referenced by adduplicateflagNurb(), curve_split_exec(), duplicate_exec(), selectend_nurb(), and separate_exec().
|
static |
Definition at line 574 of file editcurve.cc.
References bezt_to_key(), BezTriple::radius, BezTriple::tilt, and BezTriple::vec.
Referenced by bezt_to_key(), and calc_keyHandles().
|
static |
Definition at line 2169 of file editcurve.cc.
References Curve::actnu, BLI_listbase_count(), and calc_duplicate_actnurb().
Referenced by adduplicateflagNurb(), calc_duplicate_actnurb(), and calc_duplicate_actvert().
|
static |
Definition at line 2174 of file editcurve.cc.
References Curve::actvert, calc_duplicate_actnurb(), and calc_duplicate_actvert().
Referenced by adduplicateflagNurb(), and calc_duplicate_actvert().
|
static |
Definition at line 581 of file editcurve.cc.
References Nurb::bezt, bezt_to_key(), BKE_nurb_handle_calc(), calc_keyHandles(), CU_NURB_CYCLIC, Nurb::flagu, key_to_bezt(), KEYELEM_FLOAT_LEN_BEZTRIPLE, KEYELEM_FLOAT_LEN_BPOINT, LISTBASE_FOREACH, Nurb::pntsu, and Nurb::pntsv.
Referenced by calc_keyHandles(), and calc_shapeKeys().
Definition at line 650 of file editcurve.cc.
References add_v3_v3(), Nurb::bezt, BKE_keyblock_curve_element_count(), BKE_keyblock_get_dependent_keys(), BLI_findlink(), Key::block, Nurb::bp, calc_keyHandles(), calc_shapeKeys(), copy_v3_v3(), Object::data, Curve::editnurb, Key::elemsize, ListBase::first, getKeyIndexOrig_bezt(), getKeyIndexOrig_bp(), getKeyIndexOrig_keyIndex(), i, Curve::key, KEY_RELATIVE, KEYELEM_FLOAT_LEN_BEZTRIPLE, KEYELEM_FLOAT_LEN_BPOINT, LISTBASE_FOREACH, LISTBASE_FOREACH_INDEX, MEM_calloc_arrayN(), MEM_callocN(), MEM_freeN(), MEM_SAFE_FREE, Nurb::next, EditNurb::nurbs, Nurb::pntsu, Nurb::pntsv, BezTriple::radius, BPoint::radius, Key::refkey, EditNurb::shapenr, sub_v3_v3v3(), BezTriple::tilt, BPoint::tilt, Key::type, BezTriple::vec, and BPoint::vec.
Referenced by calc_shapeKeys(), and ED_curve_editnurb_load().
|
static |
Definition at line 7064 of file editcurve.cc.
References Nurb::bezt, BEZT_ISSEL_ANY_HIDDENHANDLES, BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), Nurb::bp, C, clear_tilt_exec(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), Object::data, DEG_id_tag_update(), ED_curve_select_check(), Curve::editnurb, BPoint::f1, LISTBASE_FOREACH, NC_GEOM, ND_DATA, object_editcurve_get(), OPERATOR_CANCELLED, OPERATOR_FINISHED, Nurb::pntsu, Nurb::pntsv, wmOperator::reports, SELECT, blender::ed::object::shape_key_report_if_locked(), BezTriple::tilt, BPoint::tilt, and WM_event_add_notifier().
Referenced by clear_tilt_exec(), and CURVE_OT_tilt_clear().
|
static |
Definition at line 6791 of file editcurve.cc.
References Curve::actnu, Curve::actvert, BKE_curve_decimate_nurb(), BKE_report(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), C, CTX_data_main(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), CU_ACT_NONE, CU_BEZIER, curve_decimate_exec(), Object::data, DEG_id_tag_update(), ED_curve_updateAnimPaths(), FLT_MAX, LISTBASE_FOREACH, max_ii(), NC_GEOM, NC_OBJECT, ND_DATA, ND_KEYS, nurb_bezt_flag_any(), object_editcurve_get(), OPERATOR_FINISHED, Nurb::pntsu, wmOperator::ptr, wmOperator::reports, Curve::resolu, RNA_float_get(), RPT_WARNING, SELECT, Nurb::type, and WM_event_add_notifier().
Referenced by curve_decimate_exec(), and CURVE_OT_decimate().
|
static |
Definition at line 6525 of file editcurve.cc.
References Curve::actnu, Curve::actvert, BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), BLI_assert, C, CTX_data_main(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), CU_ACT_NONE, curve_delete_exec(), curve_delete_segments(), curve_delete_vertices(), CURVE_SEGMENT, CURVE_VERTEX, Object::data, DEG_id_tag_update(), ED_curve_select_check(), ED_curve_updateAnimPaths(), Curve::editnurb, NC_GEOM, NC_OBJECT, ND_DATA, ND_KEYS, OPERATOR_CANCELLED, OPERATOR_FINISHED, wmOperator::ptr, RNA_enum_get(), and WM_event_add_notifier().
Referenced by curve_delete_exec(), and CURVE_OT_delete().
Definition at line 6094 of file editcurve.cc.
References b, Nurb::bezt, BEZT_ISSEL_ANY_HIDDENHANDLES, BKE_nurb_copy(), BKE_nurb_handles_calc(), BKE_nurb_knot_calc_u(), BKE_nurb_knot_calc_v(), BKE_nurb_order_clamp_u(), BKE_nurb_order_clamp_v(), BKE_nurbList_free(), BLI_addtail(), BLI_movelisttolist(), Nurb::bp, CU_BEZIER, CU_NURB_CYCLIC, curve_delete_segments(), Object::data, ED_curve_beztcpy(), ED_curve_bpcpy(), Curve::editnurb, BPoint::f1, Nurb::flagu, Nurb::flagv, HIDDEN, isNurbselU(), isNurbselV(), keyIndex_delNurbList(), LISTBASE_FOREACH, EditNurb::nurbs, Nurb::pntsu, Nurb::pntsv, SELECT, select_beztriple(), select_bpoint(), Nurb::type, and v.
Referenced by curve_delete_exec(), curve_delete_segments(), curve_split_exec(), selectend_nurb(), and separate_exec().
Definition at line 6082 of file editcurve.cc.
References curve_delete_vertices(), ed_curve_delete_selected(), ed_surf_delete_selected(), OB_SURF, and Object::type.
Referenced by curve_delete_exec(), curve_delete_vertices(), and selectend_nurb().
|
static |
Definition at line 6702 of file editcurve.cc.
References Curve::actnu, Curve::actvert, Nurb::bezt, BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), BLI_array_iter_span, C, CTX_data_main(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), CU_ACT_NONE, CU_BEZIER, CU_NURB_CYCLIC, curve_dissolve_exec(), Object::data, DEG_id_tag_update(), ed_curve_delete_selected(), ED_curve_select_check(), ED_curve_updateAnimPaths(), ed_dissolve_bez_segment(), Curve::editnurb, Nurb::flagu, LISTBASE_FOREACH, mod_i(), NC_GEOM, NC_OBJECT, ND_DATA, ND_KEYS, object_editcurve_get(), OPERATOR_FINISHED, Nurb::pntsu, test_bezt_is_sel_any(), Nurb::type, and WM_event_add_notifier().
Referenced by curve_dissolve_exec(), and CURVE_OT_dissolve_verts().
|
static |
Definition at line 5786 of file editcurve.cc.
References BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), C, CTX_data_main(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), curve_extrude_exec(), Object::data, DEG_id_tag_update(), ED_curve_select_check(), ED_curve_updateAnimPaths(), ed_editcurve_extrude(), ed_editnurb_extrude_flag(), Curve::editnurb, NC_GEOM, NC_OBJECT, ND_DATA, ND_KEYS, OB_CURVES_LEGACY, OPERATOR_FINISHED, SELECT, Object::type, and WM_event_add_notifier().
Referenced by curve_extrude_exec(), and CURVE_OT_extrude().
|
static |
Definition at line 906 of file editcurve.cc.
References AnimData::action, BKE_animdata_from_id(), curve_is_animated(), AnimData::drivers, ListBase::first, and Curve::id.
Referenced by curve_is_animated(), and ED_curve_updateAnimPaths().
|
static |
Definition at line 4084 of file editcurve.cc.
References BKE_nurbList_handles_recalculate(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), C, CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), curve_normals_make_consistent_exec(), Object::data, DEG_id_tag_update(), ED_curve_select_check(), Curve::editnurb, NC_GEOM, ND_DATA, object_editcurve_get(), OPERATOR_CANCELLED, OPERATOR_FINISHED, wmOperator::ptr, wmOperator::reports, RNA_boolean_get(), SELECT, blender::ed::object::shape_key_report_if_locked(), and WM_event_add_notifier().
Referenced by curve_normals_make_consistent_exec(), and CURVE_OT_normals_make_consistent().
| void CURVE_OT_cyclic_toggle | ( | wmOperatorType * | ot | ) |
Definition at line 5984 of file editcurve.cc.
References CURVE_OT_cyclic_toggle(), wmOperatorType::description, ED_operator_editsurfcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_enum(), wmOperatorType::srna, toggle_cyclic_exec(), and toggle_cyclic_invoke().
Referenced by CURVE_OT_cyclic_toggle(), and ED_operatortypes_curve().
| void CURVE_OT_decimate | ( | wmOperatorType * | ot | ) |
Definition at line 6848 of file editcurve.cc.
References curve_decimate_exec(), CURVE_OT_decimate(), wmOperatorType::description, ED_operator_editcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_float_factor(), and wmOperatorType::srna.
Referenced by CURVE_OT_decimate(), and ED_operatortypes_curve().
| void CURVE_OT_delete | ( | wmOperatorType * | ot | ) |
Definition at line 6600 of file editcurve.cc.
References curve_delete_exec(), curve_delete_type_items, CURVE_OT_delete(), wmOperatorType::description, ED_operator_editsurfcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, wmOperatorType::prop, PROP_HIDDEN, PROP_SKIP_SAVE, rna_curve_delete_type_itemf(), RNA_def_enum(), RNA_def_enum_funcs(), RNA_def_property_flag(), wmOperatorType::srna, and WM_menu_invoke().
Referenced by CURVE_OT_delete(), and ED_operatortypes_curve().
| void CURVE_OT_dissolve_verts | ( | wmOperatorType * | ot | ) |
Definition at line 6756 of file editcurve.cc.
References curve_dissolve_exec(), CURVE_OT_dissolve_verts(), wmOperatorType::description, ED_operator_editcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, and wmOperatorType::poll.
Referenced by CURVE_OT_dissolve_verts(), and ED_operatortypes_curve().
| void CURVE_OT_duplicate | ( | wmOperatorType * | ot | ) |
Definition at line 6061 of file editcurve.cc.
References CURVE_OT_duplicate(), wmOperatorType::description, duplicate_exec(), ED_operator_editsurfcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, and wmOperatorType::poll.
Referenced by CURVE_OT_duplicate(), and ED_operatortypes_curve().
| void CURVE_OT_extrude | ( | wmOperatorType * | ot | ) |
Definition at line 5823 of file editcurve.cc.
References curve_extrude_exec(), CURVE_OT_extrude(), wmOperatorType::description, ED_operator_editsurfcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_enum(), rna_enum_transform_mode_type_items, wmOperatorType::srna, and blender::ed::transform::TFM_TRANSLATION.
Referenced by CURVE_OT_extrude(), and ED_operatortypes_curve().
| void CURVE_OT_handle_type_set | ( | wmOperatorType * | ot | ) |
Definition at line 4049 of file editcurve.cc.
References CURVE_OT_handle_type_set(), wmOperatorType::description, ED_operator_editcurve(), wmOperatorType::exec, wmOperatorType::flag, HD_AUTO, HD_VECT, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, wmOperatorType::prop, RNA_def_enum(), set_handle_type_exec(), wmOperatorType::srna, and WM_menu_invoke().
Referenced by CURVE_OT_handle_type_set(), and ED_operatortypes_curve().
| void CURVE_OT_hide | ( | wmOperatorType * | ot | ) |
Definition at line 3360 of file editcurve.cc.
References CURVE_OT_hide(), wmOperatorType::description, ED_operator_editsurfcurve(), wmOperatorType::exec, wmOperatorType::flag, hide_exec(), wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_boolean(), and wmOperatorType::srna.
Referenced by CURVE_OT_hide(), and ED_operatortypes_curve().
| void CURVE_OT_make_segment | ( | wmOperatorType * | ot | ) |
Definition at line 4816 of file editcurve.cc.
References CURVE_OT_make_segment(), wmOperatorType::description, ED_operator_editsurfcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, make_segment_exec(), wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, and wmOperatorType::poll.
Referenced by CURVE_OT_make_segment(), and ED_operatortypes_curve().
| void CURVE_OT_match_texture_space | ( | wmOperatorType * | ot | ) |
Definition at line 7209 of file editcurve.cc.
References CURVE_OT_match_texture_space(), wmOperatorType::description, wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, match_texture_space_exec(), match_texture_space_poll(), wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, and wmOperatorType::poll.
Referenced by CURVE_OT_match_texture_space(), and ED_operatortypes_curve().
| void CURVE_OT_normals_make_consistent | ( | wmOperatorType * | ot | ) |
Definition at line 4119 of file editcurve.cc.
References curve_normals_make_consistent_exec(), CURVE_OT_normals_make_consistent(), wmOperatorType::description, ED_operator_editcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_boolean(), and wmOperatorType::srna.
Referenced by CURVE_OT_normals_make_consistent(), and ED_operatortypes_curve().
| void CURVE_OT_radius_set | ( | wmOperatorType * | ot | ) |
Definition at line 2774 of file editcurve.cc.
References CURVE_OT_radius_set(), wmOperatorType::description, ED_operator_editsurfcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OBJECT_ADD_SIZE_MAXF, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_float(), set_radius_exec(), wmOperatorType::srna, and WM_operator_props_popup().
Referenced by CURVE_OT_radius_set(), and ED_operatortypes_curve().
| void CURVE_OT_reveal | ( | wmOperatorType * | ot | ) |
Definition at line 3439 of file editcurve.cc.
References CURVE_OT_reveal(), wmOperatorType::description, ED_operator_editsurfcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, reveal_exec(), RNA_def_boolean(), and wmOperatorType::srna.
Referenced by CURVE_OT_reveal(), and ED_operatortypes_curve().
| void CURVE_OT_separate | ( | wmOperatorType * | ot | ) |
Definition at line 1502 of file editcurve.cc.
References CURVE_OT_separate(), wmOperatorType::description, ED_operator_editsurfcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, and separate_exec().
Referenced by CURVE_OT_separate(), and ED_operatortypes_curve().
| void CURVE_OT_shade_flat | ( | wmOperatorType * | ot | ) |
Definition at line 6923 of file editcurve.cc.
References CURVE_OT_shade_flat(), wmOperatorType::description, ED_operator_editsurfcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, and shade_smooth_exec().
Referenced by CURVE_OT_shade_flat(), and ED_operatortypes_curve().
| void CURVE_OT_shade_smooth | ( | wmOperatorType * | ot | ) |
Definition at line 6908 of file editcurve.cc.
References CURVE_OT_shade_smooth(), wmOperatorType::description, ED_operator_editsurfcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, and shade_smooth_exec().
Referenced by CURVE_OT_shade_smooth(), and ED_operatortypes_curve().
| void CURVE_OT_smooth | ( | wmOperatorType * | ot | ) |
Definition at line 2938 of file editcurve.cc.
References CURVE_OT_smooth(), wmOperatorType::description, ED_operator_editsurfcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, and smooth_exec().
Referenced by CURVE_OT_smooth(), and ED_operatortypes_curve().
| void CURVE_OT_smooth_radius | ( | wmOperatorType * | ot | ) |
Definition at line 3214 of file editcurve.cc.
References CURVE_OT_smooth_radius(), curve_smooth_radius_exec(), wmOperatorType::description, ED_operator_editsurfcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, and wmOperatorType::poll.
Referenced by CURVE_OT_smooth_radius(), and ED_operatortypes_curve().
| void CURVE_OT_smooth_tilt | ( | wmOperatorType * | ot | ) |
Definition at line 3263 of file editcurve.cc.
References CURVE_OT_smooth_tilt(), curve_smooth_tilt_exec(), wmOperatorType::description, ED_operator_editsurfcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, and wmOperatorType::poll.
Referenced by CURVE_OT_smooth_tilt(), and ED_operatortypes_curve().
| void CURVE_OT_smooth_weight | ( | wmOperatorType * | ot | ) |
Definition at line 3164 of file editcurve.cc.
References CURVE_OT_smooth_weight(), curve_smooth_weight_exec(), wmOperatorType::description, ED_operator_editsurfcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, and wmOperatorType::poll.
Referenced by CURVE_OT_smooth_weight(), and ED_operatortypes_curve().
| void CURVE_OT_spin | ( | wmOperatorType * | ot | ) |
Definition at line 5198 of file editcurve.cc.
References CURVE_OT_spin(), wmOperatorType::description, ED_operator_editsurf(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OBJECT_ADD_SIZE_MAXF, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_float_vector(), RNA_def_float_vector_xyz(), spin_exec(), spin_invoke(), and wmOperatorType::srna.
Referenced by CURVE_OT_spin(), and ED_operatortypes_curve().
| void CURVE_OT_spline_type_set | ( | wmOperatorType * | ot | ) |
Definition at line 3984 of file editcurve.cc.
References CU_BEZIER, CU_NURBS, CU_POLY, CURVE_OT_spline_type_set(), wmOperatorType::description, ED_operator_editcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, wmOperatorType::prop, RNA_def_boolean(), RNA_def_enum(), set_spline_type_exec(), wmOperatorType::srna, and WM_menu_invoke().
Referenced by CURVE_OT_spline_type_set(), and ED_operatortypes_curve().
| void CURVE_OT_spline_weight_set | ( | wmOperatorType * | ot | ) |
Definition at line 2702 of file editcurve.cc.
References CURVE_OT_spline_weight_set(), wmOperatorType::description, ED_operator_editsurfcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_float_factor(), set_goal_weight_exec(), wmOperatorType::srna, and WM_operator_props_popup().
Referenced by CURVE_OT_spline_weight_set(), and ED_operatortypes_curve().
| void CURVE_OT_split | ( | wmOperatorType * | ot | ) |
Definition at line 1575 of file editcurve.cc.
References CURVE_OT_split(), curve_split_exec(), wmOperatorType::description, ED_operator_editsurfcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, and wmOperatorType::poll.
Referenced by CURVE_OT_split(), and ED_operatortypes_curve().
| void CURVE_OT_subdivide | ( | wmOperatorType * | ot | ) |
Definition at line 3903 of file editcurve.cc.
References CURVE_OT_subdivide(), wmOperatorType::description, ED_operator_editsurfcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, PROP_SKIP_SAVE, RNA_def_int(), RNA_def_property_flag(), wmOperatorType::srna, and subdivide_exec().
Referenced by CURVE_OT_subdivide(), and ED_operatortypes_curve().
| void CURVE_OT_switch_direction | ( | wmOperatorType * | ot | ) |
Definition at line 2643 of file editcurve.cc.
References CURVE_OT_switch_direction(), wmOperatorType::description, ED_operator_editsurfcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, and switch_direction_exec().
Referenced by CURVE_OT_switch_direction(), and ED_operatortypes_curve().
| void CURVE_OT_tilt_clear | ( | wmOperatorType * | ot | ) |
Definition at line 7122 of file editcurve.cc.
References clear_tilt_exec(), CURVE_OT_tilt_clear(), wmOperatorType::description, ED_operator_editcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::name, OPTYPE_REGISTER, OPTYPE_UNDO, and wmOperatorType::poll.
Referenced by CURVE_OT_tilt_clear(), and ED_operatortypes_curve().
| void CURVE_OT_vertex_add | ( | wmOperatorType * | ot | ) |
Definition at line 5752 of file editcurve.cc.
References add_vertex_exec(), add_vertex_invoke(), CURVE_OT_vertex_add(), wmOperatorType::description, ED_operator_editcurve(), wmOperatorType::exec, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OBJECT_ADD_SIZE_MAXF, OPTYPE_DEPENDS_ON_CURSOR, OPTYPE_REGISTER, OPTYPE_UNDO, wmOperatorType::poll, RNA_def_float_vector_xyz(), and wmOperatorType::srna.
Referenced by CURVE_OT_vertex_add(), and ED_operatortypes_curve().
|
staticnodiscard |
Rename F-Curves to account for changes in the Curve data.
Definition at line 946 of file editcurve.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), Nurb::bezt, Nurb::bp, blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), curve_rename_fcurves(), Curve::editnurb, fcurve_path_rename(), getCVKeyIndex(), blender::Span< T >::is_empty(), LISTBASE_FOREACH_INDEX, CVKeyIndex::nu_index, EditNurb::nurbs, Nurb::pntsu, Nurb::pntsv, CVKeyIndex::pt_index, SNPRINTF, STRPREFIX, and CVKeyIndex::switched.
Referenced by curve_rename_fcurves(), and ED_curve_updateAnimPaths().
|
static |
Definition at line 3185 of file editcurve.cc.
References BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), C, CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), curve_smooth_radius_exec(), curve_smooth_value(), Object::data, DEG_id_tag_update(), NC_GEOM, ND_DATA, object_editcurve_get(), offsetof, OPERATOR_CANCELLED, OPERATOR_FINISHED, wmOperator::reports, blender::ed::object::shape_key_report_if_locked(), and WM_event_add_notifier().
Referenced by CURVE_OT_smooth_radius(), and curve_smooth_radius_exec().
|
static |
Definition at line 3235 of file editcurve.cc.
References BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), C, CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), curve_smooth_tilt_exec(), curve_smooth_value(), Object::data, DEG_id_tag_update(), NC_GEOM, ND_DATA, object_editcurve_get(), offsetof, OPERATOR_CANCELLED, OPERATOR_FINISHED, wmOperator::reports, blender::ed::object::shape_key_report_if_locked(), and WM_event_add_notifier().
Referenced by CURVE_OT_smooth_tilt(), and curve_smooth_tilt_exec().
|
static |
Definition at line 2963 of file editcurve.cc.
References Nurb::bezt, BEZT_VALUE, Nurb::bp, BP_VALUE, curve_smooth_value(), BPoint::f1, BezTriple::f2, FLT_MAX, LISTBASE_FOREACH, Nurb::pntsu, and SELECT.
Referenced by curve_smooth_radius_exec(), curve_smooth_tilt_exec(), curve_smooth_value(), and curve_smooth_weight_exec().
|
static |
Definition at line 3145 of file editcurve.cc.
References BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), C, CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), curve_smooth_value(), curve_smooth_weight_exec(), Object::data, DEG_id_tag_update(), NC_GEOM, ND_DATA, object_editcurve_get(), offsetof, OPERATOR_FINISHED, and WM_event_add_notifier().
Referenced by CURVE_OT_smooth_weight(), and curve_smooth_weight_exec().
|
static |
Definition at line 1523 of file editcurve.cc.
References Curve::actnu, adduplicateflagNurb(), BKE_report(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), BLI_listbase_count(), BLI_listbase_is_empty(), BLI_movelisttolist(), C, CTX_data_main(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), curve_delete_segments(), curve_split_exec(), Object::data, DEG_id_tag_update(), ED_curve_select_check(), ED_curve_updateAnimPaths(), Curve::editnurb, NC_GEOM, NC_OBJECT, ND_DATA, ND_KEYS, object_editcurve_get(), OPERATOR_CANCELLED, OPERATOR_FINISHED, wmOperator::reports, RPT_ERROR, SELECT, and WM_event_add_notifier().
Referenced by CURVE_OT_split(), and curve_split_exec().
Definition at line 5852 of file editcurve.cc.
References Nurb::bezt, BEZT_ISSEL_ANY_HIDDENHANDLES, BKE_nurb_handles_calc(), BKE_nurb_knot_calc_u(), BKE_nurb_knot_calc_v(), Nurb::bp, CU_BEZIER, CU_NURB_CYCLIC, CU_NURBS, CU_POLY, curve_toggle_cyclic(), BPoint::f1, Nurb::flagu, Nurb::flagv, Nurb::knotsu, LISTBASE_FOREACH, Nurb::pntsu, Nurb::pntsv, SELECT, and Nurb::type.
Referenced by curve_toggle_cyclic(), make_cyclic_if_endpoints(), and toggle_cyclic_exec().
|
static |
Definition at line 6020 of file editcurve.cc.
References adduplicateflagNurb(), BKE_report(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), BLI_listbase_is_empty(), BLI_movelisttolist(), C, CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), Object::data, DEG_id_tag_update(), duplicate_exec(), ED_curve_select_check(), Curve::editnurb, Curve::id, ID_RECALC_SELECT, NC_GEOM, ND_SELECT, object_editcurve_get(), OPERATOR_CANCELLED, OPERATOR_FINISHED, wmOperator::reports, RPT_ERROR, SELECT, and WM_event_add_notifier().
Referenced by CURVE_OT_duplicate(), and duplicate_exec().
Definition at line 7137 of file editcurve.cc.
References ED_curve_beztcpy(), and keyIndex_updateBezt().
Referenced by curve_delete_segments(), ED_curve_beztcpy(), ed_editcurve_extrude(), extrude_vertices_from_selected_endpoints(), insert_bezt_to_nurb(), and make_segment_exec().
Definition at line 7143 of file editcurve.cc.
References ED_curve_bpcpy(), and keyIndex_updateBP().
Referenced by curve_delete_segments(), ED_curve_bpcpy(), ed_editcurve_extrude(), ed_editnurb_extrude_flag(), extrude_vertices_from_selected_endpoints(), insert_bp_to_nurb(), and make_segment_exec().
Definition at line 1837 of file editcurve.cc.
References Curve::actnu, Nurb::bezt, BEZT_ISSEL_ANY_HIDDENHANDLES, BKE_nurb_free(), BKE_nurb_handles_calc(), BKE_nurb_knot_calc_u(), BKE_nurb_order_clamp_u(), BLI_remlink(), Nurb::bp, CU_ACT_NONE, CU_BEZIER, CU_NURBS, Object::data, ed_curve_delete_selected(), Curve::editnurb, BPoint::f1, keyIndex_delBezt(), keyIndex_delBP(), keyIndex_delNurb(), keyIndex_updateBezt(), keyIndex_updateBP(), LISTBASE_FOREACH_MUTABLE, MEM_freeN(), MEM_malloc_arrayN(), EditNurb::nurbs, Nurb::pntsu, Nurb::pntsv, SELECT, and Nurb::type.
Referenced by curve_delete_vertices(), curve_dissolve_exec(), and ed_curve_delete_selected().
| void ED_curve_editnurb_free | ( | Object * | obedit | ) |
Definition at line 1374 of file editcurve.cc.
References BKE_curve_editNurb_free(), Object::data, and ED_curve_editnurb_free().
Referenced by ED_curve_editnurb_free(), blender::ed::object::editmode_load_free_ex(), and separate_exec().
Load editNurb in object.
Definition at line 1293 of file editcurve.cc.
References BKE_nurb_duplicate(), BKE_nurb_order_clamp_u(), BKE_nurbList_free(), BLI_addtail(), calc_shapeKeys(), CU_NURBS, Object::data, ED_curve_editnurb_load(), ED_curve_updateAnimPaths(), ELEM, LISTBASE_FOREACH, Curve::nurb, OB_CURVES_LEGACY, OB_SURF, object_editcurve_get(), remap_hooks_and_vertex_parents(), Nurb::type, and Object::type.
Referenced by ED_curve_editnurb_load(), blender::ed::object::editmode_load_free_ex(), blender::ed::object::object_hook_index_array(), and separate_exec().
| void ED_curve_editnurb_make | ( | Object * | obedit | ) |
Make copy in cu->editnurb.
Definition at line 1330 of file editcurve.cc.
References BKE_curve_editNurb_keyIndex_free(), BKE_keyblock_convert_to_curve(), BKE_keyblock_from_object(), BKE_nurb_duplicate(), BKE_nurbList_free(), BLI_addtail(), Object::data, ED_curve_editnurb_make(), Curve::editnurb, ELEM, init_editNurb_keyIndex(), EditNurb::keyindex, LISTBASE_FOREACH, MEM_callocN(), Curve::nurb, EditNurb::nurbs, OB_CURVES_LEGACY, OB_SURF, EditNurb::shapenr, Object::shapenr, and Object::type.
Referenced by ED_curve_editnurb_make(), blender::ed::object::editmode_enter_ex(), blender::ed::object::object_hook_index_array(), and separate_exec().
| bool ED_curve_editnurb_select_pick | ( | bContext * | C, |
| const int | mval[2], | ||
| int | dist_px, | ||
| const SelectPick_Params & | params ) |
| dist_px | Maximum distance to pick (in pixels). |
Definition at line 4837 of file editcurve.cc.
References Curve::actvert, blender::ed::object::base_activate(), BKE_curve_nurb_active_get(), BKE_curve_nurb_active_set(), BKE_curve_nurb_vert_active_set(), BKE_curve_vert_active_get(), BKE_nurbList_flag_set(), BKE_view_layer_active_base_get(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), BKE_view_layer_synced_ensure(), BLI_assert_unreachable, C, copy_v2_v2_int(), CTX_data_ensure_evaluated_depsgraph(), CU_ACT_NONE, CURVE_HANDLE_NONE, Object::data, DEG_id_tag_update(), SelectPick_Params::deselect_all, ED_curve_deselect_all(), ED_curve_editnurb_select_pick(), ED_curve_pick_vert_ex(), ED_view3d_viewcontext_init(), BezTriple::f1, BPoint::f1, BezTriple::f2, BezTriple::f3, View3DOverlay::handle_display, HIDDEN, ID_RECALC_SELECT, ID_RECALC_SYNC_TO_EVAL, Nurb::mat_nr, blender::ed::object::material_active_index_set(), ViewContext::mval, NC_GEOM, ND_SELECT, Base::object, object_editcurve_get(), View3D::overlay, ViewContext::scene, SelectPick_Params::sel_op, SEL_OP_ADD, SEL_OP_AND, SEL_OP_SET, SEL_OP_SUB, SEL_OP_XOR, SELECT, select_beztriple(), select_bpoint(), SelectPick_Params::select_passthrough, ViewContext::v3d, view3d_operator_needs_gpu(), ViewContext::view_layer, and WM_event_add_notifier().
Referenced by curve_pen_modal(), ED_curve_editnurb_select_pick(), and view3d_select_exec().
Definition at line 99 of file editcurve.cc.
References BKE_keyblock_find_by_index(), BLI_assert, ED_curve_get_edit_shape_key(), Curve::editnurb, Curve::key, and EditNurb::shapenr.
Referenced by ED_curve_get_edit_shape_key(), and blender::ed::object::shape_key_report_if_locked().
| wmOperatorStatus ED_curve_join_objects_exec | ( | bContext * | C, |
| wmOperator * | op ) |
This is used externally, by #OBJECT_OT_join. TODO: shape keys - as with meshes.
Definition at line 6944 of file editcurve.cc.
References blender::ed::object::base_free_and_unlink(), Curve::bevel_radius, Nurb::bezt, BKE_curve_dimension_update(), BKE_nurb_duplicate(), BKE_nurb_handles_calc(), BKE_report(), BLI_addtail(), BLI_listbase_clear(), BLI_movelisttolist(), Nurb::bp, C, CLAMP, CTX_data_active_object(), CTX_DATA_BEGIN, CTX_DATA_END, CTX_data_main(), CTX_data_scene(), CU_IS_2D, Object::data, DEG_id_tag_update(), DEG_relations_tag_update(), ED_curve_join_objects_exec(), ListBase::first, Object::id, Scene::id, ID_RECALC_GEOMETRY, ID_RECALC_SELECT, ID_RECALC_TRANSFORM, invert_m4_m4_safe_ortho(), LISTBASE_FOREACH, mat4_to_scale(), Nurb::mat_nr, mul_m4_m4m4(), mul_m4_v3(), NC_SCENE, ND_LAYER_CONTENT, ND_OB_ACTIVE, Curve::nurb, OB_CURVES_LEGACY, OPERATOR_CANCELLED, OPERATOR_FINISHED, Nurb::pntsu, Nurb::pntsv, BezTriple::radius, wmOperator::reports, RPT_WARNING, Object::totcol, Object::type, BezTriple::vec, BPoint::vec, and WM_event_add_notifier().
Referenced by ED_curve_join_objects_exec(), and blender::ed::object::object_join_exec().
Definition at line 545 of file editcurve.cc.
References BLI_ghash_insert(), BLI_ghash_len(), BLI_ghash_ptr_new_ex(), BLI_ghashIterator_getKey(), BLI_ghashIterator_getValue(), ED_curve_keyindex_hash_duplicate(), GHASH_ITER, MEM_dupallocN(), MEM_mallocN(), and CVKeyIndex::orig_cv.
Referenced by ED_curve_keyindex_hash_duplicate(), undocurve_from_editcurve(), and undocurve_to_editcurve().
Definition at line 356 of file editcurve.cc.
References Nurb::bezt, Nurb::bp, ED_curve_keyindex_update_nurb(), keyIndex_updateBezt(), keyIndex_updateBP(), Nurb::pntsu, and Nurb::pntsv.
Referenced by ED_curve_keyindex_update_nurb(), undocurve_from_editcurve(), and undocurve_to_editcurve().
Return 0 if animation data wasn't changed, 1 otherwise.
Definition at line 1094 of file editcurve.cc.
References AnimData::action, blender::animrig::action_fcurve_remove(), action_groups_remove_channel(), BKE_action_groups_reconstruct(), BKE_animdata_from_id(), BKE_fcurve_free(), BLI_assert, BLI_remlink(), curve_is_animated(), curve_rename_fcurves(), DEG_id_tag_update(), DEG_relations_tag_update(), AnimData::drivers, ED_curve_updateAnimPaths(), Curve::editnurb, blender::animrig::legacy::fcurves_for_assigned_action(), bAction::id, Curve::id, ID_RECALC_SYNC_TO_EVAL, blender::animrig::Action::is_action_legacy(), EditNurb::keyindex, blender::listbase_to_vector(), and UNUSED_VARS_NDEBUG.
Referenced by add_vertex_exec(), curve_decimate_exec(), curve_delete_exec(), curve_dissolve_exec(), curve_extrude_exec(), curve_split_exec(), ED_curve_editnurb_load(), ED_curve_updateAnimPaths(), make_segment_exec(), set_spline_type_exec(), spin_exec(), subdivide_exec(), switch_direction_exec(), and undocurve_to_editcurve().
| void ed_dissolve_bez_segment | ( | BezTriple * | bezt_prev, |
| BezTriple * | bezt_next, | ||
| const Nurb * | nu, | ||
| const Curve * | cu, | ||
| const uint | span_len, | ||
| const uint | span_step[2] ) |
Definition at line 6638 of file editcurve.cc.
References Nurb::bezt, BKE_curve_forward_diff_bezier(), BLI_assert, ed_dissolve_bez_segment(), ELEM, BezTriple::h1, BezTriple::h2, HD_ALIGN, HD_FREE, HD_VECT, MEM_freeN(), MEM_malloc_arrayN(), mod_i(), normalize_v3(), Nurb::pntsu, Curve::resolu, sub_v3_v3v3(), and BezTriple::vec.
Referenced by curve_dissolve_exec(), delete_point_under_mouse(), and ed_dissolve_bez_segment().
| int ed_editcurve_addvert | ( | Curve * | cu, |
| EditNurb * | editnurb, | ||
| View3D * | v3d, | ||
| const float | location_init[3] ) |
Definition at line 5482 of file editcurve.cc.
References add_v3_v3(), add_v3_v3v3(), Nurb::bezt, BEZT_ISSEL_ANY_HIDDENHANDLES, BEZT_SEL_ALL, BKE_curve_nurb_active_get(), BKE_nurb_bezierPoints_add(), BKE_nurb_copy(), BKE_nurb_handle_calc_simple_auto(), BKE_nurb_handles_calc(), BKE_nurb_knot_calc_u(), BLI_addtail(), Nurb::bp, copy_v3_v3(), CU_BEZIER, CU_IS_2D, CU_NURB_CYCLIC, CU_SMOOTH, ed_editcurve_addvert(), ed_editcurve_extrude(), ELEM, BPoint::f1, Nurb::flag, Nurb::flagu, BezTriple::h1, BezTriple::h2, HD_AUTO, i, LISTBASE_FOREACH, MEM_callocN(), mul_v3_fl(), EditNurb::nurbs, Nurb::orderu, Nurb::pntsu, Curve::resolu, Nurb::resolu, SELECT, sub_v3_v3v3(), Nurb::type, BezTriple::vec, BPoint::vec, and zero_v3().
Referenced by add_vertex_exec(), ed_editcurve_addvert(), and extrude_points_from_selected_vertices().
Definition at line 5233 of file editcurve.cc.
References Curve::actvert, Nurb::bezt, BEZT_DESEL_ALL, BEZT_ISSEL_ANY_HIDDENHANDLES, BKE_curve_nurb_vert_active_get(), BKE_nurb_knot_calc_u(), BLI_assert, BLI_listbase_is_empty(), Nurb::bp, CU_BEZIER, CU_NURB_CYCLIC, ED_curve_beztcpy(), ED_curve_bpcpy(), ed_editcurve_extrude(), BPoint::f1, BezTriple::f2, Nurb::flagu, i, LISTBASE_FOREACH, MEM_freeN(), MEM_malloc_arrayN(), EditNurb::nurbs, Nurb::pntsu, SELECT, and Nurb::type.
Referenced by curve_extrude_exec(), ed_editcurve_addvert(), and ed_editcurve_extrude().
| bool ed_editnurb_extrude_flag | ( | EditNurb * | editnurb, |
| uint8_t | flag ) |
Only for OB_SURF.
Definition at line 2085 of file editcurve.cc.
References BKE_nurb_knot_calc_u(), BKE_nurb_knot_calc_v(), Nurb::bp, ED_curve_bpcpy(), ed_editnurb_extrude_flag(), editnurb_find_max_points_num(), HIDDEN, i, LISTBASE_FOREACH, max, MEM_freeN(), MEM_malloc_arrayN(), EditNurb::nurbs, Nurb::orderv, Nurb::pntsu, Nurb::pntsv, sel_to_copy_ints(), select_bpoints(), and true.
Referenced by curve_extrude_exec(), ED_curve_add_nurbs_primitive(), ed_editnurb_extrude_flag(), and ed_editnurb_spin().
| bool ed_editnurb_spin | ( | float | viewmat[4][4], |
| View3D * | v3d, | ||
| Object * | obedit, | ||
| const float | axis[3], | ||
| const float | cent[3] ) |
| axis | is in world-space. |
| cent | is in object-space. |
Definition at line 5047 of file editcurve.cc.
References axis_angle_to_mat3(), BKE_nurb_knot_calc_v(), copy_m3_m4(), CU_NURB_BEZIER, CU_NURB_CYCLIC, CU_NURB_ENDPOINT, Object::data, ED_curve_nurb_select_check(), ed_editnurb_extrude_flag(), ed_editnurb_spin(), Curve::editnurb, Nurb::flagv, invert_m3_m3(), LISTBASE_FOREACH, M_PI_4, M_SQRT2, mul_m3_m3m3(), object_editcurve_get(), Nurb::orderv, rotateflagNurb(), SELECT, unit_m3(), and weightflagNurb().
Referenced by ED_curve_add_nurbs_primitive(), ed_editnurb_spin(), and spin_exec().
| void ed_editnurb_translate_flag | ( | ListBase * | editnurb, |
| uint8_t | flag, | ||
| const float | vec[3], | ||
| bool | is_2d ) |
Definition at line 1677 of file editcurve.cc.
References add_v3_v3(), Nurb::bezt, BKE_nurb_project_2d(), Nurb::bp, CU_BEZIER, ed_editnurb_translate_flag(), BezTriple::f1, BPoint::f1, BezTriple::f2, BezTriple::f3, LISTBASE_FOREACH, Nurb::pntsu, Nurb::pntsv, Nurb::type, BezTriple::vec, and BPoint::vec.
Referenced by ED_curve_add_nurbs_primitive(), and ed_editnurb_translate_flag().
|
static |
Definition at line 1738 of file editcurve.cc.
References Curve::actnu, b, BKE_nurb_free(), BKE_nurb_knot_calc_u(), BKE_nurb_knot_calc_v(), BKE_nurb_order_clamp_u(), BKE_nurb_order_clamp_v(), BLI_assert, BLI_findindex(), BLI_remlink(), Nurb::bp, CU_ACT_NONE, Object::data, ed_surf_delete_selected(), Curve::editnurb, BPoint::f1, isNurbselU(), isNurbselV(), keyIndex_delBP(), keyIndex_delNurb(), keyIndex_updateBP(), Nurb::knotsv, LISTBASE_FOREACH_MUTABLE, MEM_freeN(), MEM_malloc_arrayN(), MEM_SAFE_FREE, OB_SURF, object_editcurve_get(), Nurb::orderu, Nurb::orderv, Nurb::pntsu, Nurb::pntsv, SELECT, and Object::type.
Referenced by curve_delete_vertices(), and ed_surf_delete_selected().
Definition at line 2075 of file editcurve.cc.
References editnurb_find_max_points_num(), LISTBASE_FOREACH, EditNurb::nurbs, Nurb::pntsu, Nurb::pntsv, and ret.
Referenced by ed_editnurb_extrude_flag(), and editnurb_find_max_points_num().
|
static |
Rename F-Curves, but only if they haven't been processed yet.
Definition at line 916 of file editcurve.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), BLI_sprintfN(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), fcurve_path_rename(), len(), MEM_SAFE_FREE, and STREQLEN.
Referenced by curve_rename_fcurves(), and fcurve_path_rename().
|
static |
Definition at line 228 of file editcurve.cc.
References BLI_ghash_lookup(), getCVKeyIndex(), and EditNurb::keyindex.
Referenced by curve_rename_fcurves(), getCVKeyIndex(), getKeyIndexOrig_bezt(), getKeyIndexOrig_bp(), getKeyIndexOrig_keyIndex(), init_index_map(), and keyIndex_switchDirection().
Definition at line 238 of file editcurve.cc.
References getCVKeyIndex(), getKeyIndexOrig_bezt(), and CVKeyIndex::orig_cv.
Referenced by calc_shapeKeys(), getKeyIndexOrig_bezt(), and switch_keys_direction().
Definition at line 249 of file editcurve.cc.
References getCVKeyIndex(), getKeyIndexOrig_bp(), and CVKeyIndex::orig_cv.
Referenced by calc_shapeKeys(), getKeyIndexOrig_bp(), and switch_keys_direction().
|
static |
Definition at line 260 of file editcurve.cc.
References getCVKeyIndex(), getKeyIndexOrig_keyIndex(), and CVKeyIndex::key_index.
Referenced by calc_shapeKeys(), and getKeyIndexOrig_keyIndex().
|
static |
Definition at line 3284 of file editcurve.cc.
References Nurb::bezt, BEZT_ISSEL_ANY_HIDDENHANDLES, BKE_curve_nurb_vert_active_validate(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), Nurb::bp, C, CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), CU_BEZIER, Object::data, DEG_id_tag_update(), ED_curve_select_check(), Curve::editnurb, BPoint::f1, HIDDEN, BezTriple::hide, BPoint::hide, Nurb::hide, hide_exec(), ID_RECALC_GEOMETRY, invert(), LISTBASE_FOREACH, NC_GEOM, ND_SELECT, object_editcurve_get(), OPERATOR_FINISHED, Nurb::pntsu, Nurb::pntsv, wmOperator::ptr, RNA_boolean_get(), SELECT, select_beztriple(), select_bpoint(), Nurb::type, and WM_event_add_notifier().
Referenced by CURVE_OT_hide(), and hide_exec().
|
static |
Definition at line 144 of file editcurve.cc.
References init_cvKeyIndex(), CVKeyIndex::key_index, MEM_callocN(), CVKeyIndex::nu_index, CVKeyIndex::orig_cv, CVKeyIndex::pt_index, CVKeyIndex::switched, and CVKeyIndex::vertex_index.
Referenced by init_cvKeyIndex(), and init_editNurb_keyIndex().
Definition at line 159 of file editcurve.cc.
References Nurb::bezt, BLI_ghash_insert(), BLI_ghash_ptr_new(), Nurb::bp, ListBase::first, init_cvKeyIndex(), init_editNurb_keyIndex(), KEYELEM_FLOAT_LEN_BEZTRIPLE, KEYELEM_FLOAT_LEN_BPOINT, EditNurb::keyindex, MEM_mallocN(), Nurb::next, EditNurb::nurbs, Nurb::pntsu, and Nurb::pntsv.
Referenced by ED_curve_editnurb_make(), and init_editNurb_keyIndex().
|
static |
Definition at line 1153 of file editcurve.cc.
References Nurb::bezt, Nurb::bp, Object::data, Curve::editnurb, getCVKeyIndex(), i, init_index_map(), LISTBASE_FOREACH, MEM_malloc_arrayN(), Curve::nurb, EditNurb::nurbs, Nurb::pntsu, Nurb::pntsv, CVKeyIndex::switched, and CVKeyIndex::vertex_index.
Referenced by init_index_map(), and remap_hooks_and_vertex_parents().
|
static |
Definition at line 3462 of file editcurve.cc.
References interp_bpoint(), interp_v4_v4v4(), interpf(), BPoint::radius, BPoint::tilt, BPoint::vec, and BPoint::weight.
Referenced by interp_bpoint(), and subdividenurb().
|
static |
Definition at line 4215 of file editcurve.cc.
References Nurb::bp, BPoint::f1, is_u_selected(), Nurb::pntsu, Nurb::pntsv, SELECT, and v.
Referenced by is_u_selected(), and merge_2_nurb().
|
static |
Definition at line 1597 of file editcurve.cc.
References b, Nurb::bp, BPoint::f1, isNurbselU(), Nurb::pntsu, and v.
Referenced by adduplicateflagNurb(), curve_delete_segments(), ed_surf_delete_selected(), and isNurbselU().
|
static |
Definition at line 1624 of file editcurve.cc.
References b, Nurb::bp, isNurbselV(), Nurb::pntsu, and Nurb::pntsv.
Referenced by adduplicateflagNurb(), curve_delete_segments(), ed_surf_delete_selected(), and isNurbselV().
Definition at line 566 of file editcurve.cc.
References key_to_bezt(), BezTriple::radius, BezTriple::tilt, and BezTriple::vec.
Referenced by calc_keyHandles(), and key_to_bezt().
Definition at line 530 of file editcurve.cc.
References Curve::editnurb, Curve::key, keyData_switchDirectionNurb(), EditNurb::keyindex, keyIndex_switchDirection(), and switch_keys_direction().
Referenced by keyData_switchDirectionNurb(), make_segment_exec(), and switch_direction_exec().
Definition at line 271 of file editcurve.cc.
References BKE_curve_editNurb_keyIndex_delCV(), EditNurb::keyindex, and keyIndex_delBezt().
Referenced by ed_curve_delete_selected(), and keyIndex_delBezt().
Definition at line 280 of file editcurve.cc.
References BKE_curve_editNurb_keyIndex_delCV(), EditNurb::keyindex, and keyIndex_delBP().
Referenced by ed_curve_delete_selected(), ed_surf_delete_selected(), and keyIndex_delBP().
Definition at line 289 of file editcurve.cc.
References Nurb::bezt, BKE_curve_editNurb_keyIndex_delCV(), Nurb::bp, EditNurb::keyindex, keyIndex_delNurb(), Nurb::pntsu, and Nurb::pntsv.
Referenced by ed_curve_delete_selected(), ed_surf_delete_selected(), keyIndex_delNurb(), keyIndex_delNurbList(), and make_segment_exec().
Definition at line 317 of file editcurve.cc.
References keyIndex_delNurb(), keyIndex_delNurbList(), and LISTBASE_FOREACH.
Referenced by curve_delete_segments(), and keyIndex_delNurbList().
|
static |
Definition at line 366 of file editcurve.cc.
References b, BLI_ghash_insert(), EditNurb::keyindex, keyIndex_swap(), and popCVKeyIndex().
Referenced by keyIndex_swap(), and keyIndex_switchDirection().
Definition at line 379 of file editcurve.cc.
References b, Nurb::bezt, Nurb::bp, getCVKeyIndex(), keyIndex_swap(), keyIndex_switchDirection(), Nurb::pntsu, Nurb::pntsv, and CVKeyIndex::switched.
Referenced by keyData_switchDirectionNurb(), and keyIndex_switchDirection().
|
static |
Definition at line 346 of file editcurve.cc.
References keyIndex_updateBezt(), and keyIndex_updateCV().
Referenced by ED_curve_beztcpy(), ed_curve_delete_selected(), ED_curve_keyindex_update_nurb(), keyIndex_updateBezt(), and subdividenurb().
Definition at line 351 of file editcurve.cc.
References keyIndex_updateBP(), and keyIndex_updateCV().
Referenced by ED_curve_bpcpy(), ed_curve_delete_selected(), ED_curve_keyindex_update_nurb(), ed_surf_delete_selected(), keyIndex_updateBP(), merge_2_nurb(), and subdividenurb().
|
static |
Definition at line 324 of file editcurve.cc.
References BLI_ghash_insert(), i, EditNurb::keyindex, keyIndex_updateCV(), and popCVKeyIndex().
Referenced by keyIndex_updateBezt(), keyIndex_updateBP(), and keyIndex_updateCV().
|
static |
Definition at line 4530 of file editcurve.cc.
References Nurb::bezt, BEZT_ISSEL_ANY_HIDDENHANDLES, BKE_curve_nurb_active_set(), BKE_nurb_direction_switch(), BKE_nurb_free(), BKE_nurb_handles_calc(), BKE_nurb_knot_calc_u(), BKE_report(), BKE_reportf(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), BLI_assert, BLI_remlink(), Nurb::bp, C, CTX_data_main(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), CU_BEZIER, CU_NURB_CYCLIC, CU_NURBS, CU_POLY, CURVE_MERGE_ERR_FEW_SELECTION, CURVE_MERGE_ERR_RESOLUTION_ALL, CURVE_MERGE_ERR_RESOLUTION_SOME, CURVE_MERGE_OK, Object::data, DEG_id_tag_update(), ED_curve_beztcpy(), ED_curve_bpcpy(), ED_curve_nurb_select_count(), ED_curve_select_check(), ED_curve_updateAnimPaths(), Curve::editnurb, ELEM, BPoint::f1, ListBase::first, Nurb::flagu, keyData_switchDirectionNurb(), keyIndex_delNurb(), Nurb::knotsu, LISTBASE_FOREACH, make_segment_exec(), MEM_freeN(), MEM_malloc_arrayN(), MEM_SAFE_FREE, merge_nurb(), NC_GEOM, NC_OBJECT, ND_DATA, ND_KEYS, Nurb::next, OB_SURF, object_editcurve_get(), OPERATOR_CANCELLED, OPERATOR_FINISHED, Nurb::pntsu, Nurb::pntsv, wmOperator::reports, RPT_ERROR, RPT_INFO, SELECT, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), Nurb::type, Object::type, and WM_event_add_notifier().
Referenced by CURVE_OT_make_segment(), and make_segment_exec().
Definition at line 4237 of file editcurve.cc.
References add_v3_v3(), BLI_addhead(), BLI_addtail(), BLI_remlink(), Nurb::bp, ED_curve_nurb_select_check(), ListBase::first, ListBase::last, len_v3v3(), LISTBASE_FOREACH, make_selection_list_nurb(), MEM_callocN(), mul_v3_fl(), NurbSort::next, NurbSort::nu, Nurb::pntsu, BPoint::vec, and NurbSort::vec.
Referenced by make_selection_list_nurb(), and merge_nurb().
|
static |
Definition at line 7162 of file editcurve.cc.
References BKE_displist_minmax(), BLI_assert, C, copy_v3_v3(), CTX_data_active_object(), CTX_data_ensure_evaluated_depsgraph(), CU_TEXSPACE_FLAG_AUTO, Object::data, DEG_get_evaluated(), DEG_id_tag_update(), Curve::id, ID_RECALC_GEOMETRY, INIT_MINMAX, match_texture_space_exec(), max, mid_v3_v3v3(), min, NC_GEOM, ND_DATA, OPERATOR_FINISHED, Object::runtime, Curve::texspace_flag, Curve::texspace_location, Curve::texspace_size, and WM_event_add_notifier().
Referenced by CURVE_OT_match_texture_space(), and match_texture_space_exec().
|
static |
Definition at line 7155 of file editcurve.cc.
References C, CTX_data_active_object(), ELEM, match_texture_space_poll(), OB_CURVES_LEGACY, OB_FONT, OB_SURF, and Object::type.
Referenced by CURVE_OT_match_texture_space(), and match_texture_space_poll().
Definition at line 4308 of file editcurve.cc.
References BKE_nurb_free(), BKE_nurb_knot_calc_u(), BKE_nurb_knot_calc_v(), BLI_remlink(), Nurb::bp, CU_NURBS, Curve::editnurb, HIDDEN, is_u_selected(), keyIndex_updateBP(), len_v3v3(), MEM_freeN(), MEM_malloc_arrayN(), merge_2_nurb(), Nurb::orderu, Nurb::orderv, Nurb::pntsu, Nurb::pntsv, rotate_direction_nurb(), SELECT, select_bpoint(), Nurb::type, v, and BPoint::vec.
Referenced by merge_2_nurb(), and merge_nurb().
Definition at line 4467 of file editcurve.cc.
References BKE_curve_nurb_active_set(), BLI_freelistN(), CURVE_MERGE_ERR_FEW_SELECTION, CURVE_MERGE_ERR_RESOLUTION_ALL, CURVE_MERGE_ERR_RESOLUTION_SOME, CURVE_MERGE_OK, Object::data, ELEM, ListBase::first, ListBase::last, make_selection_list_nurb(), merge_2_nurb(), merge_nurb(), NurbSort::next, NurbSort::nu, object_editcurve_get(), Nurb::pntsu, and Nurb::pntsv.
Referenced by make_segment_exec(), and merge_nurb().
|
static |
Definition at line 6777 of file editcurve.cc.
References Nurb::bezt, BezTriple::f2, i, nurb_bezt_flag_any(), and Nurb::pntsu.
Referenced by curve_decimate_exec(), and nurb_bezt_flag_any().
Definition at line 90 of file editcurve.cc.
References Object::data, Curve::editnurb, ELEM, EditNurb::nurbs, OB_CURVES_LEGACY, OB_SURF, object_editcurve_get(), and Object::type.
Referenced by adduplicateflagNurb(), clear_tilt_exec(), curve_decimate_exec(), curve_dissolve_exec(), curve_draw_exec(), curve_normals_make_consistent_exec(), curve_select_less(), curve_select_more(), curve_select_random_exec(), curve_smooth_radius_exec(), curve_smooth_tilt_exec(), curve_smooth_weight_exec(), curve_split_exec(), curvesurf_prim_add(), duplicate_exec(), ED_curve_add_nurbs_primitive(), ED_curve_editnurb_load(), ED_curve_editnurb_select_pick(), ed_editnurb_spin(), ed_surf_delete_selected(), hide_exec(), make_cyclic_if_endpoints(), make_segment_exec(), merge_nurb(), object_editcurve_get(), blender::ed::object::return_editcurve_indexar(), reveal_exec(), blender::ed::object::select_editcurve_hook(), select_next_exec(), select_previous_exec(), select_row_exec(), selectend_nurb(), set_goal_weight_exec(), set_handle_type_exec(), set_radius_exec(), set_spline_type_exec(), shade_smooth_exec(), smooth_exec(), toggle_cyclic_exec(), toggle_cyclic_invoke(), and blender::ed::object::vertex_parent_set_exec().
|
static |
Definition at line 233 of file editcurve.cc.
References BLI_ghash_popkey(), EditNurb::keyindex, and popCVKeyIndex().
Referenced by keyIndex_swap(), keyIndex_updateCV(), and popCVKeyIndex().
Definition at line 1218 of file editcurve.cc.
References Object::data, Curve::editnurb, ELEM, eModifierType_Hook, i, HookModifierData::indexar, HookModifierData::indexar_num, init_index_map(), EditNurb::keyindex, LISTBASE_FOREACH, MEM_freeN(), Main::objects, PARVERT1, PARVERT3, and remap_hooks_and_vertex_parents().
Referenced by ED_curve_editnurb_load(), and remap_hooks_and_vertex_parents().
|
static |
Definition at line 3385 of file editcurve.cc.
References Nurb::bezt, BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), Nurb::bp, C, CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), CU_BEZIER, Object::data, DEG_id_tag_update(), HIDDEN, BezTriple::hide, BPoint::hide, Nurb::hide, ID_RECALC_GEOMETRY, ID_RECALC_SELECT, ID_RECALC_SYNC_TO_EVAL, LISTBASE_FOREACH, NC_GEOM, ND_SELECT, object_editcurve_get(), OPERATOR_CANCELLED, OPERATOR_FINISHED, Nurb::pntsu, Nurb::pntsv, wmOperator::ptr, reveal_exec(), RNA_boolean_get(), SELECT, select, select_beztriple(), select_bpoint(), Nurb::type, and WM_event_add_notifier().
Referenced by CURVE_OT_reveal(), and reveal_exec().
|
static |
Definition at line 6580 of file editcurve.cc.
References C, curve_delete_type_items, CURVE_SEGMENT, CURVE_VERTEX, rna_curve_delete_type_itemf(), RNA_enum_item_end(), and RNA_enum_items_add_value().
Referenced by CURVE_OT_delete(), and rna_curve_delete_type_itemf().
|
static |
Definition at line 4190 of file editcurve.cc.
References Nurb::bp, Nurb::flagu, Nurb::flagv, Nurb::knotsu, KNOTSV, Nurb::knotsv, MEM_dupallocN(), MEM_freeN(), Nurb::orderu, Nurb::orderv, Nurb::pntsu, Nurb::pntsv, Nurb::resolu, Nurb::resolv, rotate_direction_nurb(), switchdirection_knots(), and v.
Referenced by merge_2_nurb(), and rotate_direction_nurb().
|
static |
Definition at line 1651 of file editcurve.cc.
References add_v3_v3(), Nurb::bp, CU_NURBS, BPoint::f1, LISTBASE_FOREACH, mul_m3_v3(), Nurb::pntsu, Nurb::pntsv, rotateflagNurb(), sub_v3_v3(), Nurb::type, and BPoint::vec.
Referenced by ed_editnurb_spin(), and rotateflagNurb().
|
static |
Calculate and return fully selected legs along i dimension. Calculates intervals to create extrusion by duplicating existing points while copied to destination NURBS. For ex. for curve of 3 points indexed by 0..2 to extrude first and last point copy intervals would be [0, 0][0, 2][2, 2]. Representation in copy_intervals array would be [0, 0, 2, 2]. Returns -1 if selection is not valid.
Definition at line 1994 of file editcurve.cc.
References BPoint::f1, i, max_i(), and sel_to_copy_ints().
Referenced by ed_editnurb_extrude_flag(), and sel_to_copy_ints().
|
static |
Definition at line 1974 of file editcurve.cc.
References i, select_bpoint(), and select_bpoints().
Referenced by ed_editnurb_extrude_flag(), and select_bpoints().
| void selectend_nurb | ( | Object * | obedit, |
| enum eEndPoint_Types | selfirst, | ||
| bool | doswap, | ||
| bool | selstatus ) |
References adduplicateflagNurb(), curve_delete_segments(), curve_delete_vertices(), and selectend_nurb().
Referenced by de_select_first_exec(), de_select_last_exec(), selectend_nurb(), and selectend_nurb().
|
static |
Definition at line 1387 of file editcurve.cc.
References blender::ed::object::add_duplicate(), adduplicateflagNurb(), BKE_curve_editNurb_keyIndex_free(), BKE_id_copy(), BKE_nurbList_free(), BKE_report(), BKE_reportf(), BKE_view_layer_array_from_bases_in_edit_mode_unique_data(), BLI_assert, BLI_listbase_is_empty(), BLI_movelisttolist(), C, CTX_data_main(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), curve_delete_segments(), Object::data, DEG_id_tag_update(), DEG_relations_tag_update(), ED_curve_editnurb_free(), ED_curve_editnurb_load(), ED_curve_editnurb_make(), ED_curve_select_check(), ED_outliner_select_sync_from_object_tag(), Curve::editnurb, Curve::id, Object::id, ID_RECALC_GEOMETRY, id_us_min(), Curve::key, EditNurb::keyindex, NC_GEOM, NC_OBJECT, ND_DATA, ND_DRAW, EditNurb::nurbs, Base::object, OPERATOR_CANCELLED, OPERATOR_FINISHED, wmOperator::reports, RPT_ERROR, RPT_INFO, SELECT, separate_exec(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), U, USER_DUP_ACT, WM_cursor_wait(), and WM_event_add_notifier().
Referenced by CURVE_OT_separate(), and separate_exec().
|
static |
Definition at line 2664 of file editcurve.cc.
References Nurb::bezt, BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), Nurb::bp, C, CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), Object::data, DEG_id_tag_update(), BPoint::f1, BezTriple::f2, LISTBASE_FOREACH, NC_GEOM, ND_DATA, object_editcurve_get(), OPERATOR_FINISHED, Nurb::pntsv, wmOperator::ptr, RNA_float_get(), SELECT, set_goal_weight_exec(), BezTriple::weight, BPoint::weight, and WM_event_add_notifier().
Referenced by CURVE_OT_spline_weight_set(), and set_goal_weight_exec().
|
static |
Definition at line 4021 of file editcurve.cc.
References BKE_nurbList_handles_set(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), C, CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), CURVE_HANDLE_NONE, Object::data, DEG_id_tag_update(), ED_curve_select_check(), Curve::editnurb, View3DOverlay::handle_display, NC_GEOM, ND_DATA, NURB_HANDLE_TEST_KNOT_ONLY, NURB_HANDLE_TEST_KNOT_OR_EACH, object_editcurve_get(), OPERATOR_FINISHED, View3D::overlay, wmOperator::ptr, RNA_enum_get(), set_handle_type_exec(), and WM_event_add_notifier().
Referenced by CURVE_OT_handle_type_set(), and set_handle_type_exec().
|
static |
Definition at line 2727 of file editcurve.cc.
References Nurb::bezt, BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), Nurb::bp, C, CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), Object::data, DEG_id_tag_update(), BPoint::f1, BezTriple::f2, LISTBASE_FOREACH, NC_GEOM, ND_DATA, object_editcurve_get(), OPERATOR_CANCELLED, OPERATOR_FINISHED, Nurb::pntsv, wmOperator::ptr, BezTriple::radius, BPoint::radius, wmOperator::reports, RNA_float_get(), SELECT, set_radius_exec(), blender::ed::object::shape_key_report_if_locked(), and WM_event_add_notifier().
Referenced by CURVE_OT_radius_set(), and set_radius_exec().
|
static |
Definition at line 3931 of file editcurve.cc.
References Curve::actvert, BKE_nurb_type_convert(), BKE_report(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), C, CTX_data_main(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), CU_ACT_NONE, Object::data, DEG_id_tag_update(), ED_curve_nurb_select_check(), ED_curve_updateAnimPaths(), LISTBASE_FOREACH, NC_GEOM, NC_OBJECT, ND_DATA, ND_KEYS, object_editcurve_get(), OPERATOR_CANCELLED, OPERATOR_FINISHED, Nurb::pntsu, wmOperator::ptr, wmOperator::reports, RNA_boolean_get(), RNA_enum_get(), RPT_ERROR, set_spline_type_exec(), and WM_event_add_notifier().
Referenced by CURVE_OT_spline_type_set(), and set_spline_type_exec().
|
static |
Definition at line 6872 of file editcurve.cc.
References BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), C, CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), CU_SMOOTH, Object::data, DEG_id_tag_update(), ED_curve_nurb_select_check(), Nurb::flag, wmOperator::idname, LISTBASE_FOREACH, NC_GEOM, ND_DATA, OB_CURVES_LEGACY, object_editcurve_get(), OPERATOR_CANCELLED, OPERATOR_FINISHED, shade_smooth_exec(), STREQ, Object::type, and WM_event_add_notifier().
Referenced by CURVE_OT_shade_flat(), CURVE_OT_shade_smooth(), and shade_smooth_exec().
|
static |
Definition at line 2843 of file editcurve.cc.
References Nurb::bezt, BKE_nurb_handles_calc(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), Nurb::bp, C, CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), CU_NURB_CYCLIC, Object::data, DEG_id_tag_update(), BPoint::f1, BezTriple::f2, Nurb::flagu, LISTBASE_FOREACH, MEM_dupallocN(), MEM_freeN(), mod_i(), NC_GEOM, ND_DATA, object_editcurve_get(), OPERATOR_CANCELLED, OPERATOR_FINISHED, Nurb::pntsu, wmOperator::reports, SELECT, blender::ed::object::shape_key_report_if_locked(), smooth_exec(), smooth_single_bezt(), smooth_single_bp(), and WM_event_add_notifier().
Referenced by CURVE_OT_smooth(), and smooth_exec().
|
static |
Definition at line 2800 of file editcurve.cc.
References BLI_assert, i, IN_RANGE_INCL, smooth_single_bezt(), and BezTriple::vec.
Referenced by smooth_exec(), and smooth_single_bezt().
|
static |
Same as smooth_single_bezt(), keep in sync.
Definition at line 2825 of file editcurve.cc.
References BLI_assert, i, IN_RANGE_INCL, smooth_single_bp(), and BPoint::vec.
Referenced by smooth_exec(), and smooth_single_bp().
|
static |
Definition at line 5126 of file editcurve.cc.
References BKE_report(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), C, copy_m4_m4(), CTX_data_main(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), Object::data, DEG_id_tag_update(), ED_curve_select_check(), ED_curve_updateAnimPaths(), ed_editnurb_spin(), ED_view3d_context_rv3d(), Curve::editnurb, invert_m4_m4(), mul_m4_v3(), NC_GEOM, NC_OBJECT, ND_DATA, ND_KEYS, OPERATOR_CANCELLED, OPERATOR_FINISHED, wmOperator::ptr, wmOperator::reports, RNA_float_get_array(), RPT_ERROR, Object::runtime, spin_exec(), unit_m4(), RegionView3D::viewmat, and WM_event_add_notifier().
Referenced by CURVE_OT_spin(), spin_exec(), and spin_invoke().
|
static |
Definition at line 5182 of file editcurve.cc.
References C, copy_v3_v3(), CTX_data_scene(), Scene::cursor, ED_view3d_context_rv3d(), View3DCursor::location, wmOperator::ptr, RNA_float_set_array(), spin_exec(), spin_invoke(), and RegionView3D::viewinv.
Referenced by CURVE_OT_spin(), and spin_invoke().
|
static |
Definition at line 3872 of file editcurve.cc.
References BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), C, CTX_data_main(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), Object::data, DEG_id_tag_update(), ED_curve_select_check(), ED_curve_updateAnimPaths(), Curve::editnurb, NC_GEOM, NC_OBJECT, ND_DATA, ND_KEYS, OPERATOR_FINISHED, wmOperator::ptr, RNA_int_get(), subdivide_exec(), subdividenurb(), and WM_event_add_notifier().
Referenced by CURVE_OT_subdivide(), and subdivide_exec().
Divide the line segments associated with the currently selected curve nodes (Bezier or NURB). If there are no valid segment selections within the current selection, nothing happens.
NOTE(@nzc): Subdivide NURB surfaces
Subdivision of a NURB curve can be effected by adding a control point (insertion of a knot), or by raising the degree of the functions used to build the NURB. The expression
`degree = knots - controlpoints + 1` (J Walter piece) `degree = knots - controlpoints` (Blender implementation) ( this is confusing.... what is true? Another concern is that the JW piece allows the curve to become explicitly 1st order derivative discontinuous, while this is not what we want here... )
is an invariant for a single NURB curve. Raising the degree of the NURB is done elsewhere; the degree is assumed constant during this operation. Degree is a property shared by all control-points in a curve (even though it is stored per control point - this can be misleading). Adding a knot is done by searching for the place in the knot vector where a certain knot value must be inserted, or by picking an appropriate knot value between two existing ones. The number of control-points that is influenced by the insertion depends on the order of the curve. A certain minimum number of knots is needed to form high-order curves, as can be seen from the equation above. In Blender, currently NURBs may be up to 6th order, so we modify at most 6 points. One point is added. For an n-degree curve, n points are discarded, and n+1 points inserted (so effectively, n points are modified). (that holds for the JW piece, but it seems not for our NURBs) In practice, the knot spacing is copied, but the tail (the points following the insertion point) need to be offset to keep the knot series ascending. The knot series is always a series of monotonically ascending integers in Blender. When not enough control points are available to fit the order, duplicates of the endpoints are added as needed.
Definition at line 3478 of file editcurve.cc.
References b, Nurb::bezt, BEZT_ISSEL_ANY_HIDDENHANDLES, BKE_nurb_bezt_get_next(), BKE_nurb_bpoint_get_next(), BKE_nurb_handles_calc(), BKE_nurb_knot_calc_u(), BKE_nurb_knot_calc_v(), Nurb::bp, copy_v3_v3(), CU_BEZIER, CU_NURB_CYCLIC, CU_NURBS, Object::data, Curve::editnurb, BPoint::f1, Nurb::flagu, i, interp_bpoint(), interp_v3_v3v3(), interpf(), keyIndex_updateBezt(), keyIndex_updateBP(), LISTBASE_FOREACH, MEM_calloc_arrayN(), MEM_freeN(), MEM_malloc_arrayN(), EditNurb::nurbs, Nurb::pntsu, Nurb::pntsv, BezTriple::radius, SELECT, subdividenurb(), BezTriple::tilt, Nurb::type, BezTriple::vec, and BezTriple::weight.
Referenced by subdivide_exec(), and subdividenurb().
|
static |
Definition at line 2604 of file editcurve.cc.
References Curve::actnu, Curve::actvert, BKE_nurb_direction_switch(), BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), C, CTX_data_main(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), CU_ACT_NONE, Object::data, DEG_id_tag_update(), ED_curve_nurb_select_check(), ED_curve_select_check(), ED_curve_updateAnimPaths(), Curve::editnurb, i, keyData_switchDirectionNurb(), LISTBASE_FOREACH_INDEX, NC_GEOM, NC_OBJECT, ND_DATA, ND_KEYS, EditNurb::nurbs, OPERATOR_FINISHED, Nurb::pntsu, switch_direction_exec(), and WM_event_add_notifier().
Referenced by CURVE_OT_switch_direction(), and switch_direction_exec().
Definition at line 482 of file editcurve.cc.
References Nurb::bezt, Key::block, Nurb::bp, Curve::editnurb, getKeyIndexOrig_bezt(), getKeyIndexOrig_bp(), Curve::key, KEYELEM_FLOAT_LEN_BEZTRIPLE, KEYELEM_FLOAT_LEN_BPOINT, LISTBASE_FOREACH, EditNurb::nurbs, Nurb::pntsu, Nurb::pntsv, swap_v3_v3(), and switch_keys_direction().
Referenced by keyData_switchDirectionNurb(), and switch_keys_direction().
|
static |
Definition at line 4145 of file editcurve.cc.
References fabsf, MEM_freeN(), MEM_malloc_arrayN(), and switchdirection_knots().
Referenced by rotate_direction_nurb(), and switchdirection_knots().
|
static |
Definition at line 6631 of file editcurve.cc.
References BEZT_ISSEL_ANY_HIDDENHANDLES, and test_bezt_is_sel_any().
Referenced by curve_dissolve_exec(), and test_bezt_is_sel_any().
|
static |
Definition at line 5930 of file editcurve.cc.
References BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), C, CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), curve_toggle_cyclic(), Object::data, DEG_id_tag_update(), ED_curve_select_check(), Curve::editnurb, NC_GEOM, ND_DATA, object_editcurve_get(), OPERATOR_CANCELLED, OPERATOR_FINISHED, wmOperator::ptr, RNA_enum_get(), toggle_cyclic_exec(), and WM_event_add_notifier().
Referenced by CURVE_OT_cyclic_toggle(), toggle_cyclic_exec(), and toggle_cyclic_invoke().
|
static |
Definition at line 5958 of file editcurve.cc.
References C, CTX_data_edit_object(), CU_NURBS, wmOperatorType::idname, IFACE_, LISTBASE_FOREACH, OB_SURF, object_editcurve_get(), OPERATOR_INTERFACE, Nurb::pntsu, Nurb::pntsv, toggle_cyclic_exec(), toggle_cyclic_invoke(), Nurb::type, Object::type, wmOperator::type, UI_popup_menu_begin(), UI_popup_menu_end(), UI_popup_menu_layout(), and uiItemsEnumO().
Referenced by CURVE_OT_cyclic_toggle(), and toggle_cyclic_invoke().
|
static |
Definition at line 1718 of file editcurve.cc.
References Nurb::bp, CU_NURBS, BPoint::f1, LISTBASE_FOREACH, Nurb::pntsu, Nurb::pntsv, Nurb::type, BPoint::vec, w(), and weightflagNurb().
Referenced by ed_editnurb_spin(), and weightflagNurb().
|
static |
Definition at line 6574 of file editcurve.cc.
Referenced by CURVE_OT_delete(), and rna_curve_delete_type_itemf().