|
Blender V5.0
|
#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 "BLI_string_utf8.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_interface_layout.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) |
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 4303 of file editcurve.cc.
|
static |
Definition at line 5624 of file editcurve.cc.
References 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_invoke(), CURVE_OT_vertex_add(), and MASK_OT_add_vertex().
|
static |
Definition at line 5654 of file editcurve.cc.
References add_vertex_exec(), C, copy_v3_v3(), CTX_data_ensure_evaluated_depsgraph(), CU_IS_2D, Scene::cursor, Object::data, depsgraph, 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(), eps, fabsf, float, 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, params, 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(), Scene::toolsettings, ViewContext::v3d, BezTriple::vec, BPoint::vec, and WM_operator_flag_only_pass_through_on_press().
Referenced by CURVE_OT_vertex_add(), and MASK_OT_add_vertex().
|
static |
Definition at line 2192 of file editcurve.cc.
References Curve::actnu, Curve::actvert, 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, flag, 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(), split(), SURF_SEEN, Nurb::type, and Object::type.
Referenced by curve_split_exec(), duplicate_exec(), and separate_exec().
Definition at line 576 of file editcurve.cc.
References BezTriple::radius, BezTriple::tilt, and BezTriple::vec.
Referenced by calc_keyHandles().
|
static |
Definition at line 2171 of file editcurve.cc.
References Curve::actnu, and BLI_listbase_count().
Referenced by adduplicateflagNurb(), and calc_duplicate_actvert().
|
static |
Definition at line 2176 of file editcurve.cc.
References Curve::actvert, and calc_duplicate_actnurb().
Referenced by adduplicateflagNurb().
Definition at line 583 of file editcurve.cc.
References Nurb::bezt, bezt_to_key(), BKE_nurb_handle_calc(), CU_NURB_CYCLIC, Nurb::flagu, key_to_bezt(), KEYELEM_FLOAT_LEN_BEZTRIPLE, KEYELEM_FLOAT_LEN_BPOINT, LISTBASE_FOREACH, next, Nurb::pntsu, and Nurb::pntsv.
Referenced by calc_shapeKeys().
Definition at line 652 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(), copy_v3_v3(), Object::data, Curve::editnurb, Key::elemsize, ListBase::first, float, 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 ED_curve_editnurb_load().
|
static |
Definition at line 7066 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, 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 CURVE_OT_tilt_clear().
|
static |
Definition at line 6793 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, 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_OT_decimate().
|
static |
Definition at line 6527 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_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_OT_delete().
Definition at line 6096 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, 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(), split(), Nurb::type, and v.
Referenced by curve_delete_exec(), curve_split_exec(), and separate_exec().
Definition at line 6084 of file editcurve.cc.
References ed_curve_delete_selected(), ed_surf_delete_selected(), OB_SURF, and Object::type.
Referenced by curve_delete_exec().
|
static |
Definition at line 6704 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, 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_OT_dissolve_verts().
|
static |
Definition at line 5788 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(), 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_OT_extrude().
|
static |
Definition at line 908 of file editcurve.cc.
References AnimData::action, BKE_animdata_from_id(), AnimData::drivers, ListBase::first, and Curve::id.
Referenced by ED_curve_updateAnimPaths().
|
static |
Definition at line 4086 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(), 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_OT_normals_make_consistent().
| void CURVE_OT_cyclic_toggle | ( | wmOperatorType * | ot | ) |
Definition at line 5986 of file editcurve.cc.
References ED_operator_editsurfcurve(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, RNA_def_enum(), toggle_cyclic_exec(), and toggle_cyclic_invoke().
Referenced by ED_operatortypes_curve().
| void CURVE_OT_decimate | ( | wmOperatorType * | ot | ) |
Definition at line 6850 of file editcurve.cc.
References curve_decimate_exec(), ED_operator_editcurve(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, and RNA_def_float_factor().
Referenced by ED_operatortypes_curve().
| void CURVE_OT_delete | ( | wmOperatorType * | ot | ) |
Definition at line 6602 of file editcurve.cc.
References curve_delete_exec(), curve_delete_type_items, ED_operator_editsurfcurve(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, PROP_HIDDEN, PROP_SKIP_SAVE, rna_curve_delete_type_itemf(), RNA_def_enum(), RNA_def_enum_funcs(), RNA_def_property_flag(), and WM_menu_invoke().
Referenced by ED_operatortypes_curve().
| void CURVE_OT_dissolve_verts | ( | wmOperatorType * | ot | ) |
Definition at line 6758 of file editcurve.cc.
References curve_dissolve_exec(), ED_operator_editcurve(), OPTYPE_REGISTER, OPTYPE_UNDO, and ot.
Referenced by ED_operatortypes_curve().
| void CURVE_OT_duplicate | ( | wmOperatorType * | ot | ) |
Definition at line 6063 of file editcurve.cc.
References duplicate_exec(), ED_operator_editsurfcurve(), OPTYPE_REGISTER, OPTYPE_UNDO, and ot.
Referenced by ED_operatortypes_curve().
| void CURVE_OT_extrude | ( | wmOperatorType * | ot | ) |
Definition at line 5825 of file editcurve.cc.
References curve_extrude_exec(), ED_operator_editsurfcurve(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, RNA_def_enum(), rna_enum_transform_mode_type_items, and blender::ed::transform::TFM_TRANSLATION.
Referenced by ED_operatortypes_curve().
| void CURVE_OT_handle_type_set | ( | wmOperatorType * | ot | ) |
Definition at line 4051 of file editcurve.cc.
References ED_operator_editcurve(), HD_AUTO, HD_VECT, OPTYPE_REGISTER, OPTYPE_UNDO, ot, RNA_def_enum(), set_handle_type_exec(), and WM_menu_invoke().
Referenced by ED_operatortypes_curve().
| void CURVE_OT_hide | ( | wmOperatorType * | ot | ) |
Definition at line 3362 of file editcurve.cc.
References ED_operator_editsurfcurve(), hide_exec(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, and RNA_def_boolean().
Referenced by ED_operatortypes_curve().
| void CURVE_OT_make_segment | ( | wmOperatorType * | ot | ) |
Definition at line 4818 of file editcurve.cc.
References ED_operator_editsurfcurve(), make_segment_exec(), OPTYPE_REGISTER, OPTYPE_UNDO, and ot.
Referenced by ED_operatortypes_curve().
| void CURVE_OT_match_texture_space | ( | wmOperatorType * | ot | ) |
Definition at line 7211 of file editcurve.cc.
References match_texture_space_exec(), match_texture_space_poll(), OPTYPE_REGISTER, OPTYPE_UNDO, and ot.
Referenced by ED_operatortypes_curve().
| void CURVE_OT_normals_make_consistent | ( | wmOperatorType * | ot | ) |
Definition at line 4121 of file editcurve.cc.
References curve_normals_make_consistent_exec(), ED_operator_editcurve(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, and RNA_def_boolean().
Referenced by ED_operatortypes_curve().
| void CURVE_OT_radius_set | ( | wmOperatorType * | ot | ) |
Definition at line 2776 of file editcurve.cc.
References ED_operator_editsurfcurve(), OBJECT_ADD_SIZE_MAXF, OPTYPE_REGISTER, OPTYPE_UNDO, ot, RNA_def_float(), set_radius_exec(), and WM_operator_props_popup().
Referenced by ED_operatortypes_curve().
| void CURVE_OT_reveal | ( | wmOperatorType * | ot | ) |
Definition at line 3441 of file editcurve.cc.
References ED_operator_editsurfcurve(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, reveal_exec(), and RNA_def_boolean().
Referenced by ED_operatortypes_curve().
| void CURVE_OT_separate | ( | wmOperatorType * | ot | ) |
Definition at line 1504 of file editcurve.cc.
References ED_operator_editsurfcurve(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, and separate_exec().
Referenced by ED_operatortypes_curve().
| void CURVE_OT_shade_flat | ( | wmOperatorType * | ot | ) |
Definition at line 6925 of file editcurve.cc.
References ED_operator_editsurfcurve(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, and shade_smooth_exec().
Referenced by ED_operatortypes_curve().
| void CURVE_OT_shade_smooth | ( | wmOperatorType * | ot | ) |
Definition at line 6910 of file editcurve.cc.
References ED_operator_editsurfcurve(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, and shade_smooth_exec().
Referenced by ED_operatortypes_curve().
| void CURVE_OT_smooth | ( | wmOperatorType * | ot | ) |
Definition at line 2940 of file editcurve.cc.
References ED_operator_editsurfcurve(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, and smooth_exec().
Referenced by ED_operatortypes_curve().
| void CURVE_OT_smooth_radius | ( | wmOperatorType * | ot | ) |
Definition at line 3216 of file editcurve.cc.
References curve_smooth_radius_exec(), ED_operator_editsurfcurve(), OPTYPE_REGISTER, OPTYPE_UNDO, and ot.
Referenced by ED_operatortypes_curve().
| void CURVE_OT_smooth_tilt | ( | wmOperatorType * | ot | ) |
Definition at line 3265 of file editcurve.cc.
References curve_smooth_tilt_exec(), ED_operator_editsurfcurve(), OPTYPE_REGISTER, OPTYPE_UNDO, and ot.
Referenced by ED_operatortypes_curve().
| void CURVE_OT_smooth_weight | ( | wmOperatorType * | ot | ) |
Definition at line 3166 of file editcurve.cc.
References curve_smooth_weight_exec(), ED_operator_editsurfcurve(), OPTYPE_REGISTER, OPTYPE_UNDO, and ot.
Referenced by ED_operatortypes_curve().
| void CURVE_OT_spin | ( | wmOperatorType * | ot | ) |
Definition at line 5200 of file editcurve.cc.
References ED_operator_editsurf(), OBJECT_ADD_SIZE_MAXF, OPTYPE_REGISTER, OPTYPE_UNDO, ot, RNA_def_float_vector(), RNA_def_float_vector_xyz(), spin_exec(), and spin_invoke().
Referenced by ED_operatortypes_curve().
| void CURVE_OT_spline_type_set | ( | wmOperatorType * | ot | ) |
Definition at line 3986 of file editcurve.cc.
References CU_BEZIER, CU_NURBS, CU_POLY, ED_operator_editcurve(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, RNA_def_boolean(), RNA_def_enum(), set_spline_type_exec(), and WM_menu_invoke().
Referenced by ED_operatortypes_curve().
| void CURVE_OT_spline_weight_set | ( | wmOperatorType * | ot | ) |
Definition at line 2704 of file editcurve.cc.
References ED_operator_editsurfcurve(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, RNA_def_float_factor(), set_goal_weight_exec(), and WM_operator_props_popup().
Referenced by ED_operatortypes_curve().
| void CURVE_OT_split | ( | wmOperatorType * | ot | ) |
Definition at line 1577 of file editcurve.cc.
References curve_split_exec(), ED_operator_editsurfcurve(), OPTYPE_REGISTER, OPTYPE_UNDO, and ot.
Referenced by ED_operatortypes_curve().
| void CURVE_OT_subdivide | ( | wmOperatorType * | ot | ) |
Definition at line 3905 of file editcurve.cc.
References ED_operator_editsurfcurve(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, PROP_SKIP_SAVE, RNA_def_int(), RNA_def_property_flag(), and subdivide_exec().
Referenced by ED_operatortypes_curve().
| void CURVE_OT_switch_direction | ( | wmOperatorType * | ot | ) |
Definition at line 2645 of file editcurve.cc.
References ED_operator_editsurfcurve(), OPTYPE_REGISTER, OPTYPE_UNDO, ot, and switch_direction_exec().
Referenced by ED_operatortypes_curve().
| void CURVE_OT_tilt_clear | ( | wmOperatorType * | ot | ) |
Definition at line 7124 of file editcurve.cc.
References clear_tilt_exec(), ED_operator_editcurve(), OPTYPE_REGISTER, OPTYPE_UNDO, and ot.
Referenced by ED_operatortypes_curve().
| void CURVE_OT_vertex_add | ( | wmOperatorType * | ot | ) |
Definition at line 5754 of file editcurve.cc.
References add_vertex_exec(), add_vertex_invoke(), ED_operator_editcurve(), OBJECT_ADD_SIZE_MAXF, OPTYPE_DEPENDS_ON_CURSOR, OPTYPE_REGISTER, OPTYPE_UNDO, ot, and RNA_def_float_vector_xyz().
Referenced by ED_operatortypes_curve().
|
staticnodiscard |
Rename F-Curves to account for changes in the Curve data.
Definition at line 948 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::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_UTF8, STRPREFIX, and CVKeyIndex::switched.
Referenced by ED_curve_updateAnimPaths().
|
static |
Definition at line 3187 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(), 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().
|
static |
Definition at line 3237 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(), 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().
|
static |
Definition at line 2965 of file editcurve.cc.
References Nurb::bezt, BEZT_VALUE, Nurb::bp, BP_VALUE, BPoint::f1, BezTriple::f2, float, FLT_MAX, LISTBASE_FOREACH, Nurb::pntsu, and SELECT.
Referenced by curve_smooth_radius_exec(), curve_smooth_tilt_exec(), and curve_smooth_weight_exec().
|
static |
Definition at line 3147 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(), 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().
|
static |
Definition at line 1525 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(), 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().
Definition at line 5854 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, BPoint::f1, Nurb::flagu, Nurb::flagv, Nurb::knotsu, LISTBASE_FOREACH, Nurb::pntsu, Nurb::pntsv, SELECT, and Nurb::type.
Referenced by make_cyclic_if_endpoints(), and toggle_cyclic_exec().
|
static |
Definition at line 6022 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(), 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().
Definition at line 7139 of file editcurve.cc.
References count, and keyIndex_updateBezt().
Referenced by curve_delete_segments(), ed_editcurve_extrude(), extrude_vertices_from_selected_endpoints(), insert_bezt_to_nurb(), and make_segment_exec().
Definition at line 7145 of file editcurve.cc.
References count, and keyIndex_updateBP().
Referenced by curve_delete_segments(), ed_editcurve_extrude(), ed_editnurb_extrude_flag(), extrude_vertices_from_selected_endpoints(), insert_bp_to_nurb(), and make_segment_exec().
Definition at line 1839 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, 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(), and curve_dissolve_exec().
| void ED_curve_editnurb_free | ( | Object * | obedit | ) |
Definition at line 1376 of file editcurve.cc.
References BKE_curve_editNurb_free(), and Object::data.
Referenced by blender::ed::object::editmode_load_free_ex(), and separate_exec().
Load editNurb in object.
Definition at line 1295 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_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 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 1332 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, 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 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 4839 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(), depsgraph, ED_curve_deselect_all(), 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, params, ViewContext::scene, SEL_OP_ADD, SEL_OP_AND, SEL_OP_SET, SEL_OP_SUB, SEL_OP_XOR, SELECT, select_beztriple(), select_bpoint(), ViewContext::v3d, view3d_operator_needs_gpu(), ViewContext::view_layer, and WM_event_add_notifier().
Referenced by curve_pen_modal(), and view3d_select_exec().
Definition at line 101 of file editcurve.cc.
References BKE_keyblock_find_by_index(), BLI_assert, Curve::editnurb, Curve::key, and EditNurb::shapenr.
Referenced by 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 6946 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(), 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 blender::ed::object::object_join_exec().
Definition at line 547 of file editcurve.cc.
References BLI_ghash_insert(), BLI_ghash_len(), BLI_ghash_ptr_new_ex(), BLI_ghashIterator_getKey(), BLI_ghashIterator_getValue(), GHASH_ITER, MEM_dupallocN(), MEM_mallocN(), and CVKeyIndex::orig_cv.
Referenced by undocurve_from_editcurve(), and undocurve_to_editcurve().
Definition at line 358 of file editcurve.cc.
References Nurb::bezt, Nurb::bp, keyIndex_updateBezt(), keyIndex_updateBP(), Nurb::pntsu, and Nurb::pntsv.
Referenced by undocurve_from_editcurve(), and undocurve_to_editcurve().
Return 0 if animation data wasn't changed, 1 otherwise.
Definition at line 1096 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, 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(), 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 6640 of file editcurve.cc.
References Nurb::bezt, BKE_curve_forward_diff_bezier(), BLI_assert, 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(), and delete_point_under_mouse().
| int ed_editcurve_addvert | ( | Curve * | cu, |
| EditNurb * | editnurb, | ||
| View3D * | v3d, | ||
| const float | location_init[3] ) |
Definition at line 5484 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_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(), and extrude_points_from_selected_vertices().
Definition at line 5235 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, count, CU_BEZIER, CU_NURB_CYCLIC, ED_curve_beztcpy(), ED_curve_bpcpy(), BPoint::f1, BezTriple::f2, Nurb::flagu, i, is_cyclic(), LISTBASE_FOREACH, MEM_freeN(), MEM_malloc_arrayN(), EditNurb::nurbs, Nurb::pntsu, SELECT, and Nurb::type.
Referenced by curve_extrude_exec(), and ed_editcurve_addvert().
| bool ed_editnurb_extrude_flag | ( | EditNurb * | editnurb, |
| uint8_t | flag ) |
Only for OB_SURF.
Definition at line 2087 of file editcurve.cc.
References BKE_nurb_knot_calc_u(), BKE_nurb_knot_calc_v(), Nurb::bp, ED_curve_bpcpy(), editnurb_find_max_points_num(), flag, 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(), 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 5049 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(), Curve::editnurb, Nurb::flagv, float, 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(), and spin_exec().
| void ed_editnurb_translate_flag | ( | ListBase * | editnurb, |
| uint8_t | flag, | ||
| const float | vec[3], | ||
| bool | is_2d ) |
Definition at line 1679 of file editcurve.cc.
References add_v3_v3(), Nurb::bezt, BKE_nurb_project_2d(), Nurb::bp, CU_BEZIER, BezTriple::f1, BPoint::f1, BezTriple::f2, BezTriple::f3, flag, LISTBASE_FOREACH, Nurb::pntsu, Nurb::pntsv, Nurb::type, BezTriple::vec, and BPoint::vec.
Referenced by ED_curve_add_nurbs_primitive().
|
static |
Definition at line 1740 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, 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().
Definition at line 2077 of file editcurve.cc.
References LISTBASE_FOREACH, EditNurb::nurbs, Nurb::pntsu, Nurb::pntsv, and ret.
Referenced by ed_editnurb_extrude_flag().
|
static |
Rename F-Curves, but only if they haven't been processed yet.
Definition at line 918 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(), len, MEM_SAFE_FREE, and STREQLEN.
Referenced by curve_rename_fcurves().
|
static |
Definition at line 230 of file editcurve.cc.
References BLI_ghash_lookup(), and EditNurb::keyindex.
Referenced by curve_rename_fcurves(), getKeyIndexOrig_bezt(), getKeyIndexOrig_bp(), getKeyIndexOrig_keyIndex(), init_index_map(), and keyIndex_switchDirection().
Definition at line 240 of file editcurve.cc.
References getCVKeyIndex(), and CVKeyIndex::orig_cv.
Referenced by calc_shapeKeys(), and switch_keys_direction().
Definition at line 251 of file editcurve.cc.
References getCVKeyIndex(), and CVKeyIndex::orig_cv.
Referenced by calc_shapeKeys(), and switch_keys_direction().
|
static |
Definition at line 262 of file editcurve.cc.
References getCVKeyIndex(), and CVKeyIndex::key_index.
Referenced by calc_shapeKeys().
|
static |
Definition at line 3286 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, 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 PARTICLE_OT_hide().
|
static |
Definition at line 146 of file editcurve.cc.
References CVKeyIndex::key_index, MEM_callocN(), CVKeyIndex::nu_index, CVKeyIndex::orig_cv, CVKeyIndex::pt_index, CVKeyIndex::switched, and CVKeyIndex::vertex_index.
Referenced by init_editNurb_keyIndex().
Definition at line 161 of file editcurve.cc.
References Nurb::bezt, BLI_ghash_insert(), BLI_ghash_ptr_new(), Nurb::bp, ListBase::first, init_cvKeyIndex(), 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().
|
static |
Definition at line 1155 of file editcurve.cc.
References Nurb::bezt, Nurb::bp, Object::data, Curve::editnurb, getCVKeyIndex(), i, LISTBASE_FOREACH, MEM_malloc_arrayN(), Curve::nurb, EditNurb::nurbs, Nurb::pntsu, Nurb::pntsv, CVKeyIndex::switched, and CVKeyIndex::vertex_index.
Referenced by remap_hooks_and_vertex_parents().
|
static |
Definition at line 3464 of file editcurve.cc.
References interp_v4_v4v4(), interpf(), BPoint::radius, BPoint::tilt, BPoint::vec, and BPoint::weight.
Referenced by subdividenurb().
|
static |
Definition at line 4217 of file editcurve.cc.
References Nurb::bp, BPoint::f1, Nurb::pntsu, Nurb::pntsv, SELECT, and v.
Referenced by merge_2_nurb().
|
static |
Definition at line 1599 of file editcurve.cc.
References b, Nurb::bp, BPoint::f1, flag, Nurb::pntsu, and v.
Referenced by adduplicateflagNurb(), curve_delete_segments(), and ed_surf_delete_selected().
|
static |
Definition at line 1626 of file editcurve.cc.
References b, Nurb::bp, flag, Nurb::pntsu, and Nurb::pntsv.
Referenced by adduplicateflagNurb(), curve_delete_segments(), and ed_surf_delete_selected().
Definition at line 568 of file editcurve.cc.
References BezTriple::radius, BezTriple::tilt, and BezTriple::vec.
Referenced by calc_keyHandles().
Definition at line 532 of file editcurve.cc.
References Curve::editnurb, Curve::key, EditNurb::keyindex, keyIndex_switchDirection(), and switch_keys_direction().
Referenced by make_segment_exec(), and switch_direction_exec().
Definition at line 273 of file editcurve.cc.
References BKE_curve_editNurb_keyIndex_delCV(), and EditNurb::keyindex.
Referenced by ed_curve_delete_selected().
Definition at line 282 of file editcurve.cc.
References BKE_curve_editNurb_keyIndex_delCV(), and EditNurb::keyindex.
Referenced by ed_curve_delete_selected(), and ed_surf_delete_selected().
Definition at line 291 of file editcurve.cc.
References Nurb::bezt, BKE_curve_editNurb_keyIndex_delCV(), Nurb::bp, EditNurb::keyindex, Nurb::pntsu, and Nurb::pntsv.
Referenced by ed_curve_delete_selected(), ed_surf_delete_selected(), keyIndex_delNurbList(), and make_segment_exec().
Definition at line 319 of file editcurve.cc.
References keyIndex_delNurb(), and LISTBASE_FOREACH.
Referenced by curve_delete_segments().
|
static |
Definition at line 368 of file editcurve.cc.
References b, BLI_ghash_insert(), EditNurb::keyindex, and popCVKeyIndex().
Referenced by keyIndex_switchDirection().
Definition at line 381 of file editcurve.cc.
References b, Nurb::bezt, Nurb::bp, getCVKeyIndex(), keyIndex_swap(), Nurb::pntsu, Nurb::pntsv, and CVKeyIndex::switched.
Referenced by keyData_switchDirectionNurb().
|
static |
Definition at line 348 of file editcurve.cc.
References count, and keyIndex_updateCV().
Referenced by ED_curve_beztcpy(), ed_curve_delete_selected(), ED_curve_keyindex_update_nurb(), and subdividenurb().
Definition at line 353 of file editcurve.cc.
References count, and keyIndex_updateCV().
Referenced by ED_curve_bpcpy(), ed_curve_delete_selected(), ED_curve_keyindex_update_nurb(), ed_surf_delete_selected(), merge_2_nurb(), and subdividenurb().
|
static |
Definition at line 326 of file editcurve.cc.
References BLI_ghash_insert(), count, i, EditNurb::keyindex, popCVKeyIndex(), and size().
Referenced by keyIndex_updateBezt(), and keyIndex_updateBP().
|
static |
Definition at line 4532 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, 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(), status, Nurb::type, Object::type, and WM_event_add_notifier().
Referenced by CURVE_OT_make_segment().
Definition at line 4239 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, MEM_callocN(), mul_v3_fl(), NurbSort::next, NurbSort::nu, Nurb::pntsu, BPoint::vec, and NurbSort::vec.
Referenced by merge_nurb().
|
static |
Definition at line 7164 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(), depsgraph, Curve::id, ID_RECALC_GEOMETRY, INIT_MINMAX, 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().
|
static |
Definition at line 7157 of file editcurve.cc.
References C, CTX_data_active_object(), ELEM, OB_CURVES_LEGACY, OB_FONT, OB_SURF, and Object::type.
Referenced by CURVE_OT_match_texture_space().
Definition at line 4310 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(), Nurb::orderu, Nurb::orderv, Nurb::pntsu, Nurb::pntsv, rotate_direction_nurb(), SELECT, select_bpoint(), Nurb::type, v, and BPoint::vec.
Referenced by merge_nurb().
Definition at line 4469 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(), NurbSort::next, NurbSort::nu, object_editcurve_get(), Nurb::pntsu, and Nurb::pntsv.
Referenced by make_segment_exec().
|
static |
Definition at line 6779 of file editcurve.cc.
References Nurb::bezt, BezTriple::f2, i, and Nurb::pntsu.
Referenced by curve_decimate_exec().
Definition at line 92 of file editcurve.cc.
References Object::data, Curve::editnurb, ELEM, EditNurb::nurbs, OB_CURVES_LEGACY, OB_SURF, 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(), 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 235 of file editcurve.cc.
References BLI_ghash_popkey(), and EditNurb::keyindex.
Referenced by keyIndex_swap(), and keyIndex_updateCV().
Definition at line 1220 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, and PARVERT3.
Referenced by ED_curve_editnurb_load().
|
static |
Definition at line 3387 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, RNA_boolean_get(), SELECT, select, select_beztriple(), select_bpoint(), Nurb::type, and WM_event_add_notifier().
Referenced by CURVE_OT_reveal(), and PARTICLE_OT_reveal().
|
static |
Definition at line 6582 of file editcurve.cc.
References C, curve_delete_type_items, CURVE_SEGMENT, CURVE_VERTEX, RNA_enum_item_end(), and RNA_enum_items_add_value().
Referenced by CURVE_OT_delete().
|
static |
Definition at line 4192 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, switchdirection_knots(), and v.
Referenced by merge_2_nurb().
|
static |
Definition at line 1653 of file editcurve.cc.
References add_v3_v3(), Nurb::bp, CU_NURBS, BPoint::f1, flag, LISTBASE_FOREACH, mul_m3_v3(), Nurb::pntsu, Nurb::pntsv, sub_v3_v3(), Nurb::type, and BPoint::vec.
Referenced by ed_editnurb_spin().
|
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 1996 of file editcurve.cc.
References BPoint::f1, flag, i, and max_i().
Referenced by ed_editnurb_extrude_flag().
|
static |
Definition at line 1976 of file editcurve.cc.
References count, flag, i, and select_bpoint().
Referenced by ed_editnurb_extrude_flag().
| void selectend_nurb | ( | Object * | obedit, |
| enum eEndPoint_Types | selfirst, | ||
| bool | doswap, | ||
| bool | selstatus ) |
|
static |
Definition at line 1389 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, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), status, U, USER_DUP_ACT, WM_cursor_wait(), and WM_event_add_notifier().
Referenced by CURVE_OT_separate().
|
static |
Definition at line 2666 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, BezTriple::weight, BPoint::weight, and WM_event_add_notifier().
Referenced by CURVE_OT_spline_weight_set().
|
static |
Definition at line 4023 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(), and WM_event_add_notifier().
Referenced by CURVE_OT_handle_type_set(), and MASK_OT_handle_type_set().
|
static |
Definition at line 2729 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, blender::ed::object::shape_key_report_if_locked(), and WM_event_add_notifier().
Referenced by CURVE_OT_radius_set().
|
static |
Definition at line 3933 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, and WM_event_add_notifier().
Referenced by CURVE_OT_spline_type_set().
|
static |
Definition at line 6874 of file editcurve.cc.
References BKE_view_layer_array_from_objects_in_edit_mode_unique_data(), C, clear(), 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, STREQ, Object::type, and WM_event_add_notifier().
Referenced by CURVE_OT_shade_flat(), and CURVE_OT_shade_smooth().
|
static |
Definition at line 2845 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_single_bezt(), smooth_single_bp(), and WM_event_add_notifier().
Referenced by CURVE_OT_smooth().
|
static |
Definition at line 2802 of file editcurve.cc.
References BLI_assert, i, IN_RANGE_INCL, and BezTriple::vec.
Referenced by smooth_exec().
|
static |
Same as smooth_single_bezt(), keep in sync.
Definition at line 2827 of file editcurve.cc.
References BLI_assert, i, IN_RANGE_INCL, and BPoint::vec.
Referenced by smooth_exec().
|
static |
Definition at line 5128 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, unit_m4(), RegionView3D::viewmat, and WM_event_add_notifier().
Referenced by CURVE_OT_spin(), and spin_invoke().
|
static |
Definition at line 5184 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(), and RegionView3D::viewinv.
Referenced by CURVE_OT_spin().
|
static |
Definition at line 3874 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(), subdividenurb(), and WM_event_add_notifier().
Referenced by CURVE_OT_subdivide(), and PARTICLE_OT_subdivide().
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 3480 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, float, 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, BezTriple::tilt, Nurb::type, BezTriple::vec, and BezTriple::weight.
Referenced by subdivide_exec().
|
static |
Definition at line 2606 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, and WM_event_add_notifier().
Referenced by CURVE_OT_switch_direction().
Definition at line 484 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, and swap_v3_v3().
Referenced by keyData_switchDirectionNurb().
|
static |
Definition at line 4147 of file editcurve.cc.
References fabsf, MEM_freeN(), and MEM_malloc_arrayN().
Referenced by rotate_direction_nurb().
|
static |
Definition at line 6633 of file editcurve.cc.
References BEZT_ISSEL_ANY_HIDDENHANDLES.
Referenced by curve_dissolve_exec().
|
static |
Definition at line 5932 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(), and WM_event_add_notifier().
Referenced by CURVE_OT_cyclic_toggle(), and toggle_cyclic_invoke().
|
static |
Definition at line 5960 of file editcurve.cc.
References C, CTX_data_edit_object(), CU_NURBS, wmOperatorType::idname, IFACE_, LISTBASE_FOREACH, OB_SURF, object_editcurve_get(), uiLayout::op_enum(), OPERATOR_INTERFACE, Nurb::pntsu, Nurb::pntsv, toggle_cyclic_exec(), Nurb::type, Object::type, wmOperator::type, UI_popup_menu_begin(), UI_popup_menu_end(), and UI_popup_menu_layout().
Referenced by CURVE_OT_cyclic_toggle().
Definition at line 1720 of file editcurve.cc.
References Nurb::bp, CU_NURBS, BPoint::f1, flag, LISTBASE_FOREACH, Nurb::pntsu, Nurb::pntsv, Nurb::type, BPoint::vec, and w().
Referenced by ed_editnurb_spin().
|
static |
Definition at line 6576 of file editcurve.cc.
Referenced by CURVE_OT_delete(), and rna_curve_delete_type_itemf().