|
Blender
V2.93
|
Go to the source code of this file.
Classes | |
| struct | CurveCache |
| struct | CVKeyIndex |
Macros | |
| #define | KNOTSU(nu) ((nu)->orderu + (nu)->pntsu + (((nu)->flagu & CU_NURB_CYCLIC) ? ((nu)->orderu - 1) : 0)) |
| #define | KNOTSV(nu) ((nu)->orderv + (nu)->pntsv + (((nu)->flagv & CU_NURB_CYCLIC) ? ((nu)->orderv - 1) : 0)) |
| #define | SEGMENTSU(nu) (((nu)->flagu & CU_NURB_CYCLIC) ? (nu)->pntsu : (nu)->pntsu - 1) |
| #define | SEGMENTSV(nu) (((nu)->flagv & CU_NURB_CYCLIC) ? (nu)->pntsv : (nu)->pntsv - 1) |
| #define | CU_DO_RADIUS(cu, nu) |
| #define | CU_IS_2D(cu) (((cu)->flag & CU_3D) == 0) |
| #define | CU_DO_2DFILL(cu) (CU_IS_2D(cu) && (((cu)->flag & (CU_FRONT | CU_BACK)) != 0)) |
Typedefs | |
| typedef int | eBezTriple_Flag__Alias |
| typedef struct CurveCache | CurveCache |
| typedef struct CVKeyIndex | CVKeyIndex |
Enumerations | |
| enum | { BKE_CURVE_BATCH_DIRTY_ALL = 0 , BKE_CURVE_BATCH_DIRTY_SELECT } |
Functions | |
| void | BKE_curve_editfont_free (struct Curve *cu) |
| void | BKE_curve_init (struct Curve *cu, const short curve_type) |
| struct Curve * | BKE_curve_add (struct Main *bmain, const char *name, int type) |
| short | BKE_curve_type_get (const struct Curve *cu) |
| void | BKE_curve_type_test (struct Object *ob) |
| void | BKE_curve_dimension_update (struct Curve *cu) |
| struct BoundBox * | BKE_curve_boundbox_get (struct Object *ob) |
| void | BKE_curve_texspace_calc (struct Curve *cu) |
| void | BKE_curve_texspace_ensure (struct Curve *cu) |
| void | BKE_curve_texspace_get (struct Curve *cu, float r_loc[3], float r_size[3]) |
| bool | BKE_curve_minmax (struct Curve *cu, bool use_radius, float min[3], float max[3]) |
| bool | BKE_curve_center_median (struct Curve *cu, float cent[3]) |
| bool | BKE_curve_center_bounds (struct Curve *cu, float cent[3]) |
| void | BKE_curve_transform_ex (struct Curve *cu, const float mat[4][4], const bool do_keys, const bool do_props, const float unit_scale) |
| void | BKE_curve_transform (struct Curve *cu, const float mat[4][4], const bool do_keys, const bool do_props) |
| void | BKE_curve_translate (struct Curve *cu, const float offset[3], const bool do_keys) |
| void | BKE_curve_material_index_remove (struct Curve *cu, int index) |
| bool | BKE_curve_material_index_used (const struct Curve *cu, int index) |
| void | BKE_curve_material_index_clear (struct Curve *cu) |
| bool | BKE_curve_material_index_validate (struct Curve *cu) |
| void | BKE_curve_material_remap (struct Curve *cu, const unsigned int *remap, unsigned int remap_len) |
| void | BKE_curve_smooth_flag_set (struct Curve *cu, const bool use_smooth) |
| ListBase * | BKE_curve_nurbs_get (struct Curve *cu) |
| int | BKE_curve_nurb_vert_index_get (const struct Nurb *nu, const void *vert) |
| void | BKE_curve_nurb_active_set (struct Curve *cu, const struct Nurb *nu) |
| struct Nurb * | BKE_curve_nurb_active_get (struct Curve *cu) |
| void * | BKE_curve_vert_active_get (struct Curve *cu) |
| void | BKE_curve_nurb_vert_active_set (struct Curve *cu, const struct Nurb *nu, const void *vert) |
| bool | BKE_curve_nurb_vert_active_get (struct Curve *cu, struct Nurb **r_nu, void **r_vert) |
| void | BKE_curve_nurb_vert_active_validate (struct Curve *cu) |
| float(* | BKE_curve_nurbs_vert_coords_alloc (const struct ListBase *lb, int *r_vert_len))[3] |
| void | BKE_curve_nurbs_vert_coords_get (const struct ListBase *lb, float(*vert_coords)[3], int vert_len) |
| void | BKE_curve_nurbs_vert_coords_apply_with_mat4 (struct ListBase *lb, const float(*vert_coords)[3], const float mat[4][4], const bool constrain_2d) |
| void | BKE_curve_nurbs_vert_coords_apply (struct ListBase *lb, const float(*vert_coords)[3], const bool constrain_2d) |
| float(* | BKE_curve_nurbs_key_vert_coords_alloc (const struct ListBase *lb, float *key, int *r_vert_len))[3] |
| void | BKE_curve_nurbs_key_vert_tilts_apply (struct ListBase *lb, const float *key) |
| void | BKE_curve_editNurb_keyIndex_delCV (struct GHash *keyindex, const void *cv) |
| void | BKE_curve_editNurb_keyIndex_free (struct GHash **keyindex) |
| void | BKE_curve_editNurb_free (struct Curve *cu) |
| struct ListBase * | BKE_curve_editNurbs_get (struct Curve *cu) |
| void | BKE_curve_bevelList_free (struct ListBase *bev) |
| void | BKE_curve_bevelList_make (struct Object *ob, struct ListBase *nurbs, bool for_render) |
| void | BKE_curve_bevel_make (struct Object *ob, struct ListBase *disp) |
| void | BKE_curve_forward_diff_bezier (float q0, float q1, float q2, float q3, float *p, int it, int stride) |
| void | BKE_curve_forward_diff_tangent_bezier (float q0, float q1, float q2, float q3, float *p, int it, int stride) |
| void | BKE_curve_rect_from_textbox (const struct Curve *cu, const struct TextBox *tb, struct rctf *r_rect) |
| void | BKE_curve_correct_bezpart (const float v1[2], float v2[2], float v3[2], const float v4[2]) |
| bool | BKE_nurbList_index_get_co (struct ListBase *editnurb, const int index, float r_co[3]) |
| int | BKE_nurbList_verts_count (const struct ListBase *nurb) |
| int | BKE_nurbList_verts_count_without_handles (const struct ListBase *nurb) |
| void | BKE_nurbList_free (struct ListBase *lb) |
| void | BKE_nurbList_duplicate (struct ListBase *lb1, const struct ListBase *lb2) |
| void | BKE_nurbList_handles_set (struct ListBase *editnurb, const char code) |
| void | BKE_nurbList_handles_recalculate (struct ListBase *editnurb, const bool calc_length, const uint8_t flag) |
| void | BKE_nurbList_handles_autocalc (ListBase *editnurb, uint8_t flag) |
| void | BKE_nurbList_flag_set (ListBase *editnurb, uint8_t flag, bool set) |
| bool | BKE_nurbList_flag_set_from_flag (ListBase *editnurb, uint8_t from_flag, uint8_t flag) |
| void | BKE_nurb_free (struct Nurb *nu) |
| struct Nurb * | BKE_nurb_duplicate (const struct Nurb *nu) |
| struct Nurb * | BKE_nurb_copy (struct Nurb *src, int pntsu, int pntsv) |
| void | BKE_nurb_project_2d (struct Nurb *nu) |
| void | BKE_nurb_minmax (const struct Nurb *nu, bool use_radius, float min[3], float max[3]) |
| float | BKE_nurb_calc_length (const struct Nurb *nu, int resolution) |
| void | BKE_nurb_makeFaces (const struct Nurb *nu, float *coord_array, int rowstride, int resolu, int resolv) |
| void | BKE_nurb_makeCurve (const struct Nurb *nu, float *coord_array, float *tilt_array, float *radius_array, float *weight_array, int resolu, int stride) |
| unsigned int | BKE_curve_calc_coords_axis_len (const unsigned int bezt_array_len, const unsigned int resolu, const bool is_cyclic, const bool use_cyclic_duplicate_endpoint) |
| void | BKE_curve_calc_coords_axis (const struct BezTriple *bezt_array, const unsigned int bezt_array_len, const unsigned int resolu, const bool is_cyclic, const bool use_cyclic_duplicate_endpoint, const unsigned int axis, const unsigned int stride, float *r_points) |
| void | BKE_nurb_knot_calc_u (struct Nurb *nu) |
| void | BKE_nurb_knot_calc_v (struct Nurb *nu) |
| bool | BKE_nurb_check_valid_u (const struct Nurb *nu) |
| bool | BKE_nurb_check_valid_v (const struct Nurb *nu) |
| bool | BKE_nurb_check_valid_uv (const struct Nurb *nu) |
| bool | BKE_nurb_order_clamp_u (struct Nurb *nu) |
| bool | BKE_nurb_order_clamp_v (struct Nurb *nu) |
| void | BKE_nurb_direction_switch (struct Nurb *nu) |
| bool | BKE_nurb_type_convert (struct Nurb *nu, const short type, const bool use_handles, const char **r_err_msg) |
| void | BKE_nurb_points_add (struct Nurb *nu, int number) |
| void | BKE_nurb_bezierPoints_add (struct Nurb *nu, int number) |
| int | BKE_nurb_index_from_uv (struct Nurb *nu, int u, int v) |
| void | BKE_nurb_index_to_uv (struct Nurb *nu, int index, int *r_u, int *r_v) |
| struct BezTriple * | BKE_nurb_bezt_get_next (struct Nurb *nu, struct BezTriple *bezt) |
| struct BezTriple * | BKE_nurb_bezt_get_prev (struct Nurb *nu, struct BezTriple *bezt) |
| struct BPoint * | BKE_nurb_bpoint_get_next (struct Nurb *nu, struct BPoint *bp) |
| struct BPoint * | BKE_nurb_bpoint_get_prev (struct Nurb *nu, struct BPoint *bp) |
| void | BKE_nurb_bezt_calc_normal (struct Nurb *nu, struct BezTriple *bezt, float r_normal[3]) |
| void | BKE_nurb_bezt_calc_plane (struct Nurb *nu, struct BezTriple *bezt, float r_plane[3]) |
| void | BKE_nurb_bpoint_calc_normal (struct Nurb *nu, struct BPoint *bp, float r_normal[3]) |
| void | BKE_nurb_bpoint_calc_plane (struct Nurb *nu, struct BPoint *bp, float r_plane[3]) |
| void | BKE_nurb_handle_calc (struct BezTriple *bezt, struct BezTriple *prev, struct BezTriple *next, const bool is_fcurve, const char smoothing) |
| void | BKE_nurb_handle_calc_ex (struct BezTriple *bezt, struct BezTriple *prev, struct BezTriple *next, const eBezTriple_Flag__Alias handle_sel_flag, const bool is_fcurve, const char smoothing) |
| void | BKE_nurb_handle_calc_simple (struct Nurb *nu, struct BezTriple *bezt) |
| void | BKE_nurb_handle_calc_simple_auto (struct Nurb *nu, struct BezTriple *bezt) |
| void | BKE_nurb_handle_smooth_fcurve (struct BezTriple *bezt, int total, bool cyclic) |
| void | BKE_nurb_handles_calc (struct Nurb *nu) |
| void | BKE_nurb_handles_autocalc (struct Nurb *nu, uint8_t flag) |
| void | BKE_nurb_bezt_handle_test (struct BezTriple *bezt, const eBezTriple_Flag__Alias sel_flag, const bool use_handle, const bool use_around_local) |
| void | BKE_nurb_handles_test (struct Nurb *nu, const bool use_handles, const bool use_around_local) |
| void | BKE_curve_eval_geometry (struct Depsgraph *depsgraph, struct Curve *curve) |
| void | BKE_curve_batch_cache_dirty_tag (struct Curve *cu, int mode) |
| void | BKE_curve_batch_cache_free (struct Curve *cu) |
| struct Curve * | BKE_curve_new_from_object (struct Object *object, struct Depsgraph *depsgraph, bool apply_modifiers) |
Decimate Curve (curve_decimate.c) | |
Simplify curve data. | |
| unsigned int | BKE_curve_decimate_bezt_array (struct BezTriple *bezt_array, const unsigned int bezt_array_len, const unsigned int resolu, const bool is_cyclic, const char flag_test, const char flag_set, const float error_sq_max, const unsigned int error_target_len) |
| void | BKE_curve_decimate_nurb (struct Nurb *nu, const unsigned int resolu, const float error_sq_max, const unsigned int error_target_len) |
Deform 3D Coordinates by Curve (curve_deform.c) | |
| void | BKE_curve_deform_coords (const struct Object *ob_curve, const struct Object *ob_target, float(*vert_coords)[3], const int vert_coords_len, const struct MDeformVert *dvert, const int defgrp_index, const short flag, const short defaxis) |
| void | BKE_curve_deform_coords_with_editmesh (const struct Object *ob_curve, const struct Object *ob_target, float(*vert_coords)[3], const int vert_coords_len, const int defgrp_index, const short flag, const short defaxis, struct BMEditMesh *em_target) |
| void | BKE_curve_deform_co (const struct Object *ob_curve, const struct Object *ob_target, const float orco[3], float vec[3], const int no_rot_axis, float r_mat[3][3]) |
Variables | |
| void(* | BKE_curve_batch_cache_dirty_tag_cb )(struct Curve *cu, int mode) |
| void(* | BKE_curve_batch_cache_free_cb )(struct Curve *cu) |
Definition at line 86 of file BKE_curve.h.
| #define CU_DO_RADIUS | ( | cu, | |
| nu | |||
| ) |
Definition at line 77 of file BKE_curve.h.
| #define CU_IS_2D | ( | cu | ) | (((cu)->flag & CU_3D) == 0) |
Definition at line 83 of file BKE_curve.h.
| #define KNOTSU | ( | nu | ) | ((nu)->orderu + (nu)->pntsu + (((nu)->flagu & CU_NURB_CYCLIC) ? ((nu)->orderu - 1) : 0)) |
Definition at line 68 of file BKE_curve.h.
| #define KNOTSV | ( | nu | ) | ((nu)->orderv + (nu)->pntsv + (((nu)->flagv & CU_NURB_CYCLIC) ? ((nu)->orderv - 1) : 0)) |
Definition at line 70 of file BKE_curve.h.
| #define SEGMENTSU | ( | nu | ) | (((nu)->flagu & CU_NURB_CYCLIC) ? (nu)->pntsu : (nu)->pntsu - 1) |
Definition at line 74 of file BKE_curve.h.
| #define SEGMENTSV | ( | nu | ) | (((nu)->flagv & CU_NURB_CYCLIC) ? (nu)->pntsv : (nu)->pntsv - 1) |
Definition at line 75 of file BKE_curve.h.
| typedef struct CurveCache CurveCache |
| typedef struct CVKeyIndex CVKeyIndex |
| typedef int eBezTriple_Flag__Alias |
Definition at line 46 of file BKE_curve.h.
| anonymous enum |
| Enumerator | |
|---|---|
| BKE_CURVE_BATCH_DIRTY_ALL | |
| BKE_CURVE_BATCH_DIRTY_SELECT | |
Definition at line 285 of file BKE_curve.h.
Definition at line 424 of file curve.c.
References BKE_curve_init(), BKE_libblock_alloc(), ID_CU, and type.
Referenced by BKE_mesh_to_curve(), BKE_object_obdata_add_from_type(), gpencil_layer_to_curve(), blender::io::alembic::AbcCurveReader::readObjectData(), and blender::io::alembic::AbcNurbsReader::readObjectData().
| void BKE_curve_batch_cache_dirty_tag | ( | struct Curve * | cu, |
| int | mode | ||
| ) |
Definition at line 5618 of file curve.c.
References Curve::batch_cache, and BKE_curve_batch_cache_dirty_tag_cb.
Referenced by BKE_object_batch_cache_dirty_tag(), and BKE_object_data_select_update().
| void BKE_curve_batch_cache_free | ( | struct Curve * | cu | ) |
Definition at line 5624 of file curve.c.
References Curve::batch_cache, and BKE_curve_batch_cache_free_cb.
Referenced by curve_free_data().
Definition at line 290 of file curve_bevel.c.
References Curve::bevel_mode, Curve::bevobj, BLI_listbase_clear(), CU_BEV_MODE_OBJECT, CU_BEV_MODE_ROUND, curve, curve_bevel_get_fill_type(), curve_bevel_make_extrude_and_fill(), curve_bevel_make_from_object(), curve_bevel_make_full_circle(), curve_bevel_make_only_extrude(), Object::data, Curve::ext1, Curve::ext2, FULL, and NULL.
Referenced by do_makeDispListCurveTypes().
| void BKE_curve_bevelList_free | ( | struct ListBase * | bev | ) |
Definition at line 2635 of file curve.c.
References BevList::bevpoints, BevelSort::bl, BLI_listbase_clear(), LISTBASE_FOREACH_MUTABLE, MEM_freeN, NULL, BevList::segbevcount, and BevList::seglen.
Referenced by BKE_curve_bevelList_make(), BKE_object_free_curve_cache(), do_makeDispListCurveTypes(), and object_free_data().
Definition at line 2653 of file curve.c.
References Freestyle::a, CurveCache::bev, bevelinside(), Curve::bevfac1_mapping, Curve::bevfac2_mapping, bevlist_firstlast_direction_calc_from_bpoint(), Curve::bevobj, BevList::bevpoints, BKE_curve_bevelList_free(), BKE_curve_forward_diff_bezier(), BKE_nurb_check_valid_u(), BKE_nurb_makeCurve(), BevelSort::bl, BLI_addtail(), BLI_assert, BLI_insertlinkbefore(), BLI_remlink(), BevList::charidx, compare_v3v3(), copy_v3_v3(), CU_3D, CU_BACK, CU_BEVFAC_MAP_SEGMENT, CU_BEVFAC_MAP_SPLINE, CU_BEZIER, CU_DO_RADIUS, CU_FRONT, CU_IS_2D, CU_NURB_CYCLIC, CU_NURBS, CU_POLY, CU_TWIST_TANGENT, Object_Runtime::curve_cache, Object::data, BevelSort::dir, BevPoint::dir, BevList::dupe_nr, BevPoint::dupe_tag, Curve::editnurb, ELEM, fabsf, Curve::flag, forward_diff_bezier_cotangent(), BezTriple::h1, BezTriple::h2, HD_VECT, BevList::hole, BevelSort::left, len, len_v3v3(), LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, make_bevel_list_2D(), make_bevel_list_3D(), make_bevel_list_segment_2D(), make_bevel_list_segment_3D(), MEM_calloc_arrayN, MEM_callocN, MEM_freeN, MEM_malloc_arrayN, MEM_mallocN, min, BevList::next, normalize_v3(), BevList::nr, NULL, OB_FONT, BevPoint::offset, BevList::poly, BevPoint::quat, BevPoint::radius, BezTriple::radius, BPoint::radius, Curve::resolu_ren, Object::runtime, BevList::segbevcount, BevList::seglen, SEGMENTSU, sub_v3_v3v3(), SWAP, BevPoint::tan, Curve::taperobj, BevPoint::tilt, BezTriple::tilt, BPoint::tilt, tilt_bezpart(), Curve::twist_mode, Curve::twist_smooth, Object::type, unit_qt(), BevPoint::vec, BezTriple::vec, BPoint::vec, vergxcobev(), BevPoint::weight, BezTriple::weight, and BPoint::weight.
Referenced by do_makeDispListCurveTypes().
Definition at line 496 of file curve.c.
References Object_Runtime::bb, BKE_boundbox_init_from_minmax(), BKE_curve_minmax(), BOUNDBOX_DIRTY, Object::data, BoundBox::flag, INIT_MINMAX, max, MEM_mallocN, min, NULL, and Object::runtime.
Referenced by BKE_object_boundbox_get(), BKE_object_minmax(), and snapCurve().
| void BKE_curve_calc_coords_axis | ( | const struct BezTriple * | bezt_array, |
| const unsigned int | bezt_array_len, | ||
| const unsigned int | resolu, | ||
| const bool | is_cyclic, | ||
| const bool | use_cyclic_duplicate_endpoint, | ||
| const unsigned int | axis, | ||
| const unsigned int | stride, | ||
| float * | r_points | ||
| ) |
Referenced by BKE_curve_decimate_bezt_array().
| unsigned int BKE_curve_calc_coords_axis_len | ( | const unsigned int | bezt_array_len, |
| const unsigned int | resolu, | ||
| const bool | is_cyclic, | ||
| const bool | use_cyclic_duplicate_endpoint | ||
| ) |
Calculate the length for arrays filled in by BKE_curve_calc_coords_axis.
Definition at line 1730 of file curve.c.
Referenced by BKE_curve_calc_coords_axis(), BKE_curve_decimate_bezt_array(), and gpencil_stroke_points_from_editcurve_fixed_resolu().
Definition at line 5261 of file curve.c.
References BKE_curve_minmax(), INIT_MINMAX, max, mid_v3_v3v3(), and min.
Referenced by object_origin_set_exec().
Definition at line 5224 of file curve.c.
References add_v3_v3(), BKE_curve_nurbs_get(), CU_BEZIER, LISTBASE_FOREACH, mul_v3_fl(), BezTriple::vec, BPoint::vec, and zero_v3().
Referenced by object_origin_set_exec().
| unsigned int BKE_curve_decimate_bezt_array | ( | struct BezTriple * | bezt_array, |
| const unsigned int | bezt_array_len, | ||
| const unsigned int | resolu, | ||
| const bool | is_cyclic, | ||
| const char | flag_test, | ||
| const char | flag_set, | ||
| const float | error_sq_max, | ||
| const unsigned int | error_target_len | ||
| ) |
Definition at line 198 of file curve_decimate.c.
References BKE_curve_calc_coords_axis(), BKE_curve_calc_coords_axis_len(), BLI_assert, Knot::can_remove, Knot::co, curve_decimate(), equals_v3v3(), BezTriple::f2, float(), HANDLE_UPDATE, Knot::handles, handles, Knot::heap_node, Knot::is_removed, Knot::knot_index, madd_v3_v3v3fl(), MEM_freeN, MEM_mallocN, Knot::next, normalize_v3(), NULL, Knot::point_index, Knot::prev, sub_v3_v3v3(), KDL::tan(), and BezTriple::vec.
Referenced by BKE_curve_decimate_nurb(), and decimate_fcurve_segment().
| void BKE_curve_decimate_nurb | ( | struct Nurb * | nu, |
| const unsigned int | resolu, | ||
| const float | error_sq_max, | ||
| const unsigned int | error_target_len | ||
| ) |
Definition at line 317 of file curve_decimate.c.
References Nurb::bezt, BEZT_FLAG_TEMP_TAG, BKE_curve_decimate_bezt_array(), CU_NURB_CYCLIC, Nurb::flagu, MEM_freeN, MEM_mallocN, Nurb::pntsu, and SELECT.
Referenced by curve_decimate_exec().
| void BKE_curve_deform_co | ( | const struct Object * | ob_curve, |
| const struct Object * | ob_target, | ||
| const float | orco[3], | ||
| float | vec[3], | ||
| const int | no_rot_axis, | ||
| float | r_mat[3][3] | ||
| ) |
| void BKE_curve_deform_coords | ( | const struct Object * | ob_curve, |
| const struct Object * | ob_target, | ||
| float(*) | vert_coords[3], | ||
| const int | vert_coords_len, | ||
| const struct MDeformVert * | dvert, | ||
| const int | defgrp_index, | ||
| const short | flag, | ||
| const short | defaxis | ||
| ) |
Referenced by deformVerts(), and deformVertsEM().
| void BKE_curve_deform_coords_with_editmesh | ( | const struct Object * | ob_curve, |
| const struct Object * | ob_target, | ||
| float(*) | vert_coords[3], | ||
| const int | vert_coords_len, | ||
| const int | defgrp_index, | ||
| const short | flag, | ||
| const short | defaxis, | ||
| struct BMEditMesh * | em_target | ||
| ) |
Referenced by deformVertsEM().
| void BKE_curve_dimension_update | ( | struct Curve * | cu | ) |
Definition at line 467 of file curve.c.
References BKE_curve_nurbs_get(), BKE_nurb_handles_calc(), BKE_nurb_project_2d(), CU_BEZIER, CU_IS_2D, and LISTBASE_FOREACH.
Referenced by BKE_curve_type_test(), curve_from_font_object(), ED_curve_join_objects_exec(), object_convert_exec(), and recalcData_curve().
| void BKE_curve_editfont_free | ( | struct Curve * | cu | ) |
Definition at line 346 of file curve.c.
References Curve::editfont, MEM_freeN, NULL, EditFont::selboxes, EditFont::textbuf, and EditFont::textbufinfo.
Referenced by curve_free_data(), and ED_curve_editfont_free().
| void BKE_curve_editNurb_free | ( | struct Curve * | cu | ) |
Definition at line 388 of file curve.c.
References BKE_curve_editNurb_keyIndex_free(), BKE_nurbList_free(), Curve::editnurb, EditNurb::keyindex, MEM_freeN, NULL, and EditNurb::nurbs.
Referenced by curve_free_data(), and ED_curve_editnurb_free().
| void BKE_curve_editNurb_keyIndex_delCV | ( | struct GHash * | keyindex, |
| const void * | cv | ||
| ) |
Definition at line 373 of file curve.c.
References BLI_assert, BLI_ghash_remove(), curve_editNurb_keyIndex_cv_free_cb(), and NULL.
Referenced by keyIndex_delBezt(), keyIndex_delBP(), and keyIndex_delNurb().
| void BKE_curve_editNurb_keyIndex_free | ( | struct GHash ** | keyindex | ) |
Definition at line 379 of file curve.c.
References BLI_ghash_free(), curve_editNurb_keyIndex_cv_free_cb(), and NULL.
Referenced by BKE_curve_editNurb_free(), ED_curve_editnurb_make(), separate_exec(), undocurve_free_data(), and undocurve_to_editcurve().
Definition at line 437 of file curve.c.
References Curve::editnurb, NULL, and EditNurb::nurbs.
Referenced by BKE_curve_material_remap(), BKE_curve_nurb_active_get(), BKE_curve_nurb_active_set(), BKE_curve_nurb_vert_active_get(), BKE_curve_nurbs_get(), BKE_displist_make_surf(), BKE_where_on_path(), createTransCurveVerts(), do_lasso_select_curve(), do_nurbs_box_select(), ED_transform_calc_gizmo_stats(), ED_transverts_create_from_obedit(), ED_transverts_update_obedit(), editcurve_object_from_context(), getTransformOrientation_ex(), material_slot_assign_exec(), material_slot_de_select(), nurbs_foreachScreenVert(), nurbscurve_circle_select(), recalcData_curve(), stats_object_edit(), undocurve_from_editcurve(), undocurve_to_editcurve(), and v3d_editvertex_buts().
Definition at line 5600 of file curve.c.
References BKE_curve_texspace_calc(), copy_v3_v3(), CU_AUTOSPACE_EVALUATED, curve, DEG_debug_print_eval(), DEG_get_original_id(), DEG_is_active(), depsgraph, Curve::id, Curve::loc, ID::name, Curve::size, and Curve::texflag.
Referenced by blender::deg::DepsgraphNodeBuilder::build_object_data_geometry_datablock().
| void BKE_curve_forward_diff_bezier | ( | float | q0, |
| float | q1, | ||
| float | q2, | ||
| float | q3, | ||
| float * | p, | ||
| int | it, | ||
| int | stride | ||
| ) |
Definition at line 1804 of file curve.c.
References Freestyle::a, float(), POINTER_OFFSET, q1, and stride.
Referenced by BKE_curve_bevelList_make(), BKE_curve_calc_coords_axis(), BKE_curveprofile_create_samples(), BKE_mask_point_segment_diff(), BKE_mask_spline_differentiate_with_resolution(), BKE_nurb_calc_length(), bm_edgering_pair_interpolate(), curve_dissolve_exec(), curve_to_displist(), curvemap_make_table(), draw_fcurve_curve_bezts(), equalize_cubic_bezier(), gpencil_calculate_stroke_points_curve_segment(), gpencil_convert_spline(), M_Geometry_interpolate_bezier(), mask_spline_feather_differentiated_points_with_resolution__double(), node_link_bezier_points(), normalization_factor_get(), paint_draw_curve_cursor(), paint_stroke_curve_end(), and pick_input_link_by_link_intersect().
| void BKE_curve_forward_diff_tangent_bezier | ( | float | q0, |
| float | q1, | ||
| float | q2, | ||
| float | q3, | ||
| float * | p, | ||
| int | it, | ||
| int | stride | ||
| ) |
Definition at line 1833 of file curve.c.
References Freestyle::a, float(), POINTER_OFFSET, q1, and stride.
Referenced by paint_stroke_curve_end().
| void BKE_curve_init | ( | struct Curve * | cu, |
| const short | curve_type | ||
| ) |
Definition at line 398 of file curve.c.
References Curve::actbox, Curve::bevel_profile, BKE_vfont_builtin_get(), BLI_strncpy(), CU_3D, CU_BACK, CU_FRONT, curve_init_data(), Curve::flag, TextBox::h, Curve::id, VFont::id, Curve::len, Curve::len_char32, MAXTEXTBOX, MEM_calloc_arrayN, MEM_malloc_arrayN, NULL, OB_FONT, OB_SURF, Curve::pos, Curve::resolu, Curve::resolv, Curve::str, Curve::strinfo, Curve::tb, Curve::totbox, Curve::type, ID::us, Curve::vfont, Curve::vfontb, Curve::vfontbi, Curve::vfonti, and TextBox::w.
Referenced by BKE_curve_add().
| void BKE_curve_material_index_clear | ( | struct Curve * | cu | ) |
Definition at line 5434 of file curve.c.
References BKE_curve_type_get(), Curve::len_char32, LISTBASE_FOREACH, CharInfo::mat_nr, Curve::nurb, OB_FONT, and Curve::strinfo.
Referenced by material_data_index_clear_id().
| void BKE_curve_material_index_remove | ( | struct Curve * | cu, |
| int | index | ||
| ) |
Definition at line 5390 of file curve.c.
References BKE_curve_type_get(), Curve::len_char32, LISTBASE_FOREACH, CharInfo::mat_nr, Curve::nurb, OB_FONT, and Curve::strinfo.
Referenced by material_data_index_remove_id().
| bool BKE_curve_material_index_used | ( | const struct Curve * | cu, |
| int | index | ||
| ) |
Referenced by BKE_object_material_slot_used().
| bool BKE_curve_material_index_validate | ( | struct Curve * | cu | ) |
Definition at line 5451 of file curve.c.
References BKE_curve_type_get(), DEG_id_tag_update(), Curve::id, ID_RECALC_GEOMETRY, is_valid, Curve::len_char32, LISTBASE_FOREACH, CharInfo::mat_nr, max_ii(), Curve::nurb, OB_FONT, Curve::strinfo, and Curve::totcol.
| void BKE_curve_material_remap | ( | struct Curve * | cu, |
| const unsigned int * | remap, | ||
| unsigned int | remap_len | ||
| ) |
Definition at line 5484 of file curve.c.
References BKE_curve_editNurbs_get(), BKE_curve_type_get(), Curve::editfont, ListBase::first, EditFont::len, Curve::len_char32, Nurb::mat_nr, CharInfo::mat_nr, MAT_NR_REMAP, Nurb::next, OB_FONT, Curve::strinfo, and EditFont::textbufinfo.
Referenced by BKE_object_material_remap().
Definition at line 5199 of file curve.c.
References BKE_curve_nurbs_get(), BKE_nurb_minmax(), BKE_nurbList_free(), BKE_vfont_to_curve_ex(), BLI_listbase_is_empty(), FO_EDIT, Curve::len, LISTBASE_FOREACH, max, min, NULL, and result.
Referenced by BKE_curve_boundbox_get(), BKE_curve_center_bounds(), and BKE_curve_texspace_calc().
| struct Curve* BKE_curve_new_from_object | ( | struct Object * | object, |
| struct Depsgraph * | depsgraph, | ||
| bool | apply_modifiers | ||
| ) |
Definition at line 70 of file curve_convert.c.
References curve_from_curve_object(), curve_from_font_object(), depsgraph, ELEM, NULL, OB_CURVE, OB_FONT, and Object::type.
Referenced by BKE_object_to_curve().
Definition at line 5100 of file curve.c.
References Curve::actnu, BKE_curve_editNurbs_get(), and BLI_findlink().
Referenced by ED_curve_editnurb_select_pick(), ed_editcurve_addvert(), and edcu_shortest_path_pick_invoke().
Referenced by curve_draw_exec(), ED_curve_editnurb_select_pick(), make_segment_exec(), and merge_nurb().
Definition at line 5146 of file curve.c.
References Curve::actnu, Curve::actvert, Nurb::bezt, BKE_curve_editNurbs_get(), BLI_assert, BLI_findlink(), Nurb::bp, CU_ACT_NONE, CU_BEZIER, NULL, Nurb::pntsu, Nurb::pntsv, and Nurb::type.
Referenced by BKE_curve_nurb_vert_active_validate(), BKE_curve_vert_active_get(), ED_curve_active_center(), ed_curve_select_nth(), ed_editcurve_extrude(), getTransformOrientation_ex(), and select_row_exec().
| void BKE_curve_nurb_vert_active_set | ( | struct Curve * | cu, |
| const struct Nurb * | nu, | ||
| const void * | vert | ||
| ) |
Referenced by ED_curve_editnurb_select_pick(), and edcu_shortest_path_pick_invoke().
| void BKE_curve_nurb_vert_active_validate | ( | struct Curve * | cu | ) |
Definition at line 5173 of file curve.c.
References Curve::actnu, Curve::actvert, BEZT_ISSEL_ANY, BKE_curve_nurb_vert_active_get(), CU_ACT_NONE, CU_BEZIER, BPoint::f1, Nurb::hide, SELECT, and Nurb::type.
Referenced by curve_select_random_exec(), de_select_all_exec(), de_select_first_exec(), de_select_last_exec(), do_lasso_select_curve(), do_nurbs_box_select(), hide_exec(), nurbscurve_circle_select(), and select_linked_pick_invoke().
| int BKE_curve_nurb_vert_index_get | ( | const struct Nurb * | nu, |
| const void * | vert | ||
| ) |
Referenced by edcu_shortest_path_pick_invoke().
Definition at line 5079 of file curve.c.
References BKE_curve_editNurbs_get(), Curve::editnurb, and Curve::nurb.
Referenced by BKE_curve_center_median(), BKE_curve_dimension_update(), BKE_curve_minmax(), BKE_curve_translate(), BKE_object_shapekey_remove(), blo_do_versions_290(), curve_from_curve_object(), do_makeDispListCurveTypes(), blender::io::alembic::ABCNurbsWriter::do_write(), give_parvert(), insert_curvekey(), blender::io::alembic::AbcCurveReader::read_curve_sample(), and blender::io::alembic::AbcNurbsReader::readObjectData().
| float(* BKE_curve_nurbs_key_vert_coords_alloc | ( | const struct ListBase * | lb, |
| float * | key, | ||
| int * | r_vert_len | ||
| ) | )[3] |
Referenced by BKE_curve_calc_modifiers_pre().
Definition at line 4810 of file curve.c.
References CU_BEZIER, KEYELEM_FLOAT_LEN_BEZTRIPLE, KEYELEM_FLOAT_LEN_BPOINT, LISTBASE_FOREACH, BezTriple::radius, BPoint::radius, BezTriple::tilt, and BPoint::tilt.
Referenced by BKE_curve_calc_modifiers_pre().
Referenced by BKE_curve_calc_modifiers_pre(), and modifier_apply_obdata().
| void BKE_curve_nurbs_vert_coords_apply | ( | struct ListBase * | lb, |
| const float(*) | vert_coords[3], | ||
| const bool | constrain_2d | ||
| ) |
Definition at line 4740 of file curve.c.
References BKE_nurb_project_2d(), calchandlesNurb_intern(), copy_v3_v3(), CU_BEZIER, LISTBASE_FOREACH, SELECT, BezTriple::vec, and BPoint::vec.
Referenced by BKE_curve_calc_modifiers_pre(), ED_object_data_xform_restore(), and modifier_apply_obdata().
| void BKE_curve_nurbs_vert_coords_apply_with_mat4 | ( | struct ListBase * | lb, |
| const float(*) | vert_coords[3], | ||
| const float | mat[4][4], | ||
| const bool | constrain_2d | ||
| ) |
Definition at line 4703 of file curve.c.
References BKE_nurb_project_2d(), calchandlesNurb_intern(), CU_BEZIER, LISTBASE_FOREACH, mul_v3_m4v3(), SELECT, BezTriple::vec, and BPoint::vec.
Referenced by ED_object_data_xform_by_mat4().
| void BKE_curve_nurbs_vert_coords_get | ( | const struct ListBase * | lb, |
| float(*) | vert_coords[3], | ||
| int | vert_len | ||
| ) |
Referenced by ED_object_data_xform_create_ex().
| void BKE_curve_rect_from_textbox | ( | const struct Curve * | cu, |
| const struct TextBox * | tb, | ||
| struct rctf * | r_rect | ||
| ) |
Definition at line 5546 of file curve.c.
References Curve::fsize, TextBox::h, TextBox::w, TextBox::x, rctf::xmax, rctf::xmin, Curve::xof, TextBox::y, rctf::ymax, rctf::ymin, and Curve::yof.
Referenced by ED_curve_editfont_select_pick().
| void BKE_curve_smooth_flag_set | ( | struct Curve * | cu, |
| const bool | use_smooth | ||
| ) |
Definition at line 5532 of file curve.c.
References CU_SMOOTH, LISTBASE_FOREACH, and Curve::nurb.
Referenced by shade_smooth_exec().
| void BKE_curve_texspace_calc | ( | struct Curve * | cu | ) |
Definition at line 517 of file curve.c.
References Freestyle::a, BKE_curve_minmax(), copy_v3_v3(), CU_AUTOSPACE, CU_AUTOSPACE_EVALUATED, INIT_MINMAX, Curve::loc, max, mid_v3_v3v3(), min, size(), Curve::size, and Curve::texflag.
Referenced by BKE_curve_eval_geometry(), BKE_curve_texspace_ensure(), and object_for_curve_to_mesh_create().
| void BKE_curve_texspace_ensure | ( | struct Curve * | cu | ) |
Definition at line 554 of file curve.c.
References BKE_curve_texspace_calc(), CU_AUTOSPACE, CU_AUTOSPACE_EVALUATED, and Curve::texflag.
Referenced by BKE_curve_texspace_get(), BKE_object_obdata_texspace_get(), drw_call_calc_orco(), and OVERLAY_texture_space().
Definition at line 561 of file curve.c.
References BKE_curve_texspace_ensure(), copy_v3_v3(), Curve::loc, and Curve::size.
| void BKE_curve_transform | ( | struct Curve * | cu, |
| const float | mat[4][4], | ||
| const bool | do_keys, | ||
| const bool | do_props | ||
| ) |
Definition at line 5338 of file curve.c.
References BKE_curve_transform_ex(), and mat4_to_scale().
| void BKE_curve_transform_ex | ( | struct Curve * | cu, |
| const float | mat[4][4], | ||
| const bool | do_keys, | ||
| const bool | do_props, | ||
| const float | unit_scale | ||
| ) |
Definition at line 5273 of file curve.c.
References BKE_nurb_handles_calc(), Key::block, CU_BEZIER, Curve::key, KEYELEM_ELEM_LEN_BEZTRIPLE, KEYELEM_ELEM_LEN_BPOINT, KEYELEM_FLOAT_LEN_BEZTRIPLE, KEYELEM_FLOAT_LEN_BPOINT, LISTBASE_FOREACH, mul_m4_v3(), Curve::nurb, BezTriple::radius, BPoint::radius, BezTriple::vec, and BPoint::vec.
Referenced by apply_objects_internal(), and BKE_curve_transform().
Definition at line 5344 of file curve.c.
References add_v3_v3(), BKE_curve_nurbs_get(), Key::block, CU_BEZIER, Curve::key, KEYELEM_ELEM_LEN_BEZTRIPLE, KEYELEM_ELEM_LEN_BPOINT, KEYELEM_FLOAT_LEN_BEZTRIPLE, KEYELEM_FLOAT_LEN_BPOINT, LISTBASE_FOREACH, and Curve::nurb.
Referenced by object_origin_set_exec().
| short BKE_curve_type_get | ( | const struct Curve * | cu | ) |
Referenced by acf_dscur_icon(), BKE_object_obdata_to_type(), and ED_object_data_xform_create_ex().
| void BKE_curve_type_test | ( | struct Object * | ob | ) |
Definition at line 484 of file curve.c.
References BKE_curve_dimension_update(), BKE_curve_type_get(), CU_IS_2D, Object::data, OB_CURVE, and Object::type.
Referenced by libblock_remap_data_postprocess_obdata_relink().
| void* BKE_curve_vert_active_get | ( | struct Curve * | cu | ) |
Definition at line 5107 of file curve.c.
References BKE_curve_nurb_vert_active_get(), and NULL.
Referenced by ED_curve_editnurb_select_pick().
| void BKE_nurb_bezierPoints_add | ( | struct Nurb * | nu, |
| int | number | ||
| ) |
Definition at line 945 of file curve.c.
References Nurb::bezt, MEM_recallocN, Nurb::pntsu, and BezTriple::radius.
Referenced by ed_editcurve_addvert(), and gpencil_stroke_to_bezier().
Referenced by createTransCurveVerts(), getTransformOrientation_ex(), and nurb_bezt_direction_worldspace_get().
Definition at line 1091 of file curve.c.
References add_v3_v3v3(), BKE_nurb_bezt_get_next(), BKE_nurb_bezt_get_prev(), copy_v3_v3(), cross_v3_v3v3(), normalize_v3(), sub_v3_v3v3(), and BezTriple::vec.
Referenced by createTransCurveVerts(), ED_transverts_create_from_obedit(), and getTransformOrientation_ex().
Definition at line 990 of file curve.c.
References ARRAY_HAS_ITEM, Nurb::bezt, BLI_assert, CU_NURB_CYCLIC, Nurb::flagu, NULL, and Nurb::pntsu.
Referenced by BKE_nurb_bezt_calc_plane(), BKE_nurb_handle_calc_simple(), and subdividenurb().
Definition at line 1032 of file curve.c.
References ARRAY_HAS_ITEM, Nurb::bezt, BLI_assert, CU_NURB_CYCLIC, Nurb::flagu, NULL, Nurb::pntsu, and Nurb::pntsv.
Referenced by BKE_nurb_bezt_calc_plane(), and BKE_nurb_handle_calc_simple().
| void BKE_nurb_bezt_handle_test | ( | BezTriple * | bezt, |
| const eBezTriple_Flag__Alias | sel_flag, | ||
| const bool | use_handle, | ||
| const bool | use_around_local | ||
| ) |
Update selected handle types to ensure valid state, e.g. deduce "Auto" types to concrete ones. Thereby sel_flag defines what qualifies as selected. Use when something has changed handle positions.
The caller needs to recalculate handles.
| sel_flag | The flag (bezt.f1/2/3) value to use to determine selection. Usually SELECT, but may want to use a different one at times (if caller does not operate on selection). |
| use_handle | Check selection state of individual handles, otherwise always update both handles if the key is selected. |
Definition at line 4161 of file curve.c.
References ELEM, BezTriple::f1, BezTriple::f2, BezTriple::f3, BezTriple::h1, BezTriple::h2, HD_ALIGN, HD_AUTO, HD_AUTO_ANIM, HD_FREE, HD_VECT, SEL_F1, SEL_F2, and SEL_F3.
Referenced by BKE_nurb_handles_test(), createTransGPencil_curves(), graphedit_activekey_handles_cb(), and testhandles_fcurve().
Definition at line 1128 of file curve.c.
References add_v3_v3(), BKE_nurb_bpoint_get_next(), BKE_nurb_bpoint_get_prev(), normalize_v3(), sub_v3_v3v3(), BPoint::vec, and zero_v3().
Referenced by createTransCurveVerts(), getTransformOrientation_ex(), and nurb_bpoint_direction_worldspace_get().
Definition at line 1151 of file curve.c.
References add_v3_v3v3(), BKE_nurb_bpoint_get_next(), BKE_nurb_bpoint_get_prev(), copy_v3_v3(), cross_v3_v3v3(), normalize_v3(), sub_v3_v3v3(), and BPoint::vec.
Referenced by createTransCurveVerts(), and getTransformOrientation_ex().
Definition at line 1011 of file curve.c.
References ARRAY_HAS_ITEM, BLI_assert, Nurb::bp, CU_NURB_CYCLIC, Nurb::flagu, NULL, and Nurb::pntsu.
Referenced by BKE_nurb_bpoint_calc_normal(), BKE_nurb_bpoint_calc_plane(), getTransformOrientation_ex(), and subdividenurb().
Definition at line 1054 of file curve.c.
References ARRAY_HAS_ITEM, BLI_assert, Nurb::bp, CU_NURB_CYCLIC, Nurb::flagu, NULL, Nurb::pntsu, and Nurb::pntsv.
Referenced by BKE_nurb_bpoint_calc_normal(), BKE_nurb_bpoint_calc_plane(), and getTransformOrientation_ex().
| bool BKE_nurb_check_valid_u | ( | const struct Nurb * | nu | ) |
Referenced by calc_bevfac_mapping(), and curve_to_displist().
| bool BKE_nurb_check_valid_uv | ( | const struct Nurb * | nu | ) |
Referenced by BKE_displist_make_surf().
| bool BKE_nurb_check_valid_v | ( | const struct Nurb * | nu | ) |
Definition at line 713 of file curve.c.
References Nurb::bezt, Nurb::bp, Nurb::knotsu, Nurb::knotsv, MEM_malloc_arrayN, MEM_mallocN, NULL, Nurb::pntsu, Nurb::pntsv, and SWAP.
Referenced by adduplicateflagNurb(), curve_delete_segments(), and ed_editcurve_addvert().
| void BKE_nurb_direction_switch | ( | struct Nurb * | nu | ) |
Definition at line 4544 of file curve.c.
References Freestyle::a, Nurb::bezt, Nurb::bp, CU_BEZIER, CU_NURBS, BezTriple::f1, BezTriple::f3, fabsf, BezTriple::h1, BezTriple::h2, KNOTSU, Nurb::knotsu, MEM_freeN, MEM_malloc_arrayN, Nurb::pntsu, Nurb::pntsv, SWAP, swap_v3_v3(), BezTriple::tilt, BPoint::tilt, Nurb::type, and BezTriple::vec.
Referenced by make_segment_exec(), and switch_direction_exec().
| void BKE_nurb_free | ( | struct Nurb * | nu | ) |
Definition at line 633 of file curve.c.
References Nurb::bezt, Nurb::bp, Nurb::knotsu, Nurb::knotsv, MEM_freeN, and NULL.
Referenced by BKE_nurbList_free(), ed_curve_delete_selected(), ed_surf_delete_selected(), make_segment_exec(), and merge_2_nurb().
| void BKE_nurb_handle_calc | ( | BezTriple * | bezt, |
| BezTriple * | prev, | ||
| BezTriple * | next, | ||
| const bool | is_fcurve, | ||
| const char | smoothing | ||
| ) |
Recalculate the handles of a nurb bezier-triple. Acts based on handle selection with SELECT flag. To use a different flag, use BKE_nurb_handle_calc_ex().
Definition at line 4069 of file curve.c.
References calchandleNurb_intern(), next, and SELECT.
Referenced by BKE_gpencil_editcurve_recalculate_handles(), BKE_nurb_handle_calc_simple(), calc_keyHandles(), mask_calc_point_handle(), and points_to_bezier().
| void BKE_nurb_handle_calc_ex | ( | BezTriple * | bezt, |
| BezTriple * | prev, | ||
| BezTriple * | next, | ||
| const eBezTriple_Flag__Alias | handle_sel_flag, | ||
| const bool | is_fcurve, | ||
| const char | smoothing | ||
| ) |
Variant of BKE_nurb_handle_calc() that allows calculating based on a different select flag.
| handle_sel_flag | The flag (bezt.f1/2/3) value to use to determine selection. Usually SELECT, but may want to use a different one at times (if caller does not operate on selection). |
Definition at line 4082 of file curve.c.
References calchandleNurb_intern(), and next.
Referenced by calchandles_fcurve_ex().
Definition at line 4124 of file curve.c.
References BKE_nurb_bezt_get_next(), BKE_nurb_bezt_get_prev(), BKE_nurb_handle_calc(), next, and Nurb::pntsu.
Referenced by adduplicateflagNurb(), and BKE_nurb_handle_calc_simple_auto().
Definition at line 4133 of file curve.c.
References BKE_nurb_handle_calc_simple(), BezTriple::h1, BezTriple::h2, HD_AUTO, and Nurb::pntsu.
Referenced by BKE_nurbList_handles_recalculate(), and ed_editcurve_addvert().
| void BKE_nurb_handle_smooth_fcurve | ( | struct BezTriple * | bezt, |
| int | total, | ||
| bool | cyclic | ||
| ) |
Definition at line 4016 of file curve.c.
References bezier_handle_calc_smooth_fcurve(), count, and is_free_auto_point().
Referenced by calchandles_fcurve_ex().
Definition at line 4236 of file curve.c.
References Nurb::bezt, BKE_nurb_handles_calc(), dist_squared_to_line_v3(), eps, BezTriple::f1, BezTriple::f3, BezTriple::h1, BezTriple::h2, HD_ALIGN, HD_FREE, HD_VECT, len_squared_v3v3(), NULL, Nurb::pntsu, and BezTriple::vec.
Referenced by BKE_nurbList_handles_autocalc().
| void BKE_nurb_handles_calc | ( | struct Nurb * | nu | ) |
Definition at line 4092 of file curve.c.
References calchandlesNurb_intern(), and SELECT.
Referenced by BKE_curve_dimension_update(), BKE_curve_transform_ex(), BKE_nurb_handles_autocalc(), BKE_nurb_handles_test(), BKE_nurb_type_convert(), BKE_nurbList_handles_recalculate(), curve_delete_segments(), curve_draw_exec(), curve_toggle_cyclic(), ed_curve_delete_selected(), ED_curve_join_objects_exec(), ed_editcurve_addvert(), gpencil_stroke_to_bezier(), make_segment_exec(), nurb_handles_calc__align_selected(), recalcData_curve(), smooth_exec(), and subdividenurb().
| void BKE_nurb_handles_test | ( | struct Nurb * | nu, |
| const bool | use_handles, | ||
| const bool | use_around_local | ||
| ) |
Definition at line 4217 of file curve.c.
References Freestyle::a, Nurb::bezt, BKE_nurb_bezt_handle_test(), BKE_nurb_handles_calc(), CU_BEZIER, Nurb::pntsu, SELECT, and Nurb::type.
Referenced by createTransCurveVerts(), ED_transverts_update_obedit(), and v3d_editvertex_buts().
| int BKE_nurb_index_from_uv | ( | struct Nurb * | nu, |
| int | u, | ||
| int | v | ||
| ) |
Definition at line 959 of file curve.c.
References CU_NURB_CYCLIC, Nurb::flagu, Nurb::flagv, mod_i(), Nurb::pntsu, Nurb::pntsv, and v.
Referenced by curve_select_shortest_path_surf().
| void BKE_nurb_index_to_uv | ( | struct Nurb * | nu, |
| int | index, | ||
| int * | r_u, | ||
| int * | r_v | ||
| ) |
Definition at line 981 of file curve.c.
References BLI_assert, Nurb::pntsu, and Nurb::pntsv.
Referenced by curve_select_shortest_path_surf().
| void BKE_nurb_knot_calc_u | ( | struct Nurb * | nu | ) |
Definition at line 1303 of file curve.c.
References makeknots().
Referenced by adduplicateflagNurb(), BKE_nurb_type_convert(), curve_delete_segments(), curve_draw_exec(), curve_toggle_cyclic(), ed_curve_delete_selected(), ed_editcurve_addvert(), ed_editcurve_extrude(), ed_editnurb_extrude_flag(), ed_surf_delete_selected(), gpencil_stroke_to_path(), make_segment_exec(), merge_2_nurb(), blender::io::alembic::AbcCurveReader::read_curve_sample(), blender::io::alembic::AbcNurbsReader::readObjectData(), and subdividenurb().
| void BKE_nurb_knot_calc_v | ( | struct Nurb * | nu | ) |
Definition at line 1308 of file curve.c.
References makeknots().
Referenced by adduplicateflagNurb(), curve_delete_segments(), curve_toggle_cyclic(), ed_editnurb_extrude_flag(), ed_editnurb_spin(), ed_surf_delete_selected(), merge_2_nurb(), blender::io::alembic::AbcNurbsReader::readObjectData(), and subdividenurb().
| void BKE_nurb_makeCurve | ( | const struct Nurb * | nu, |
| float * | coord_array, | ||
| float * | tilt_array, | ||
| float * | radius_array, | ||
| float * | weight_array, | ||
| int | resolu, | ||
| int | stride | ||
| ) |
Referenced by BKE_displist_make_surf(), curve_to_displist(), and gpencil_convert_spline().
| void BKE_nurb_makeFaces | ( | const struct Nurb * | nu, |
| float * | coord_array, | ||
| int | rowstride, | ||
| int | resolu, | ||
| int | resolv | ||
| ) |
Referenced by BKE_displist_make_surf().
| bool BKE_nurb_order_clamp_u | ( | struct Nurb * | nu | ) |
Definition at line 4901 of file curve.c.
References CLAMP, CU_NURB_BEZIER, CU_NURB_CYCLIC, Nurb::flagu, max_ii(), Nurb::orderu, and Nurb::pntsu.
Referenced by adduplicateflagNurb(), curve_delete_segments(), ed_curve_delete_selected(), ED_curve_editnurb_load(), and ed_surf_delete_selected().
| bool BKE_nurb_order_clamp_v | ( | struct Nurb * | nu | ) |
Definition at line 4915 of file curve.c.
References CLAMP, CU_NURB_BEZIER, CU_NURB_CYCLIC, Nurb::flagv, max_ii(), Nurb::orderv, and Nurb::pntsv.
Referenced by adduplicateflagNurb(), curve_delete_segments(), and ed_surf_delete_selected().
| void BKE_nurb_points_add | ( | struct Nurb * | nu, |
| int | number | ||
| ) |
Definition at line 932 of file curve.c.
References Nurb::bp, MEM_recallocN, Nurb::pntsu, and BPoint::radius.
Referenced by gpencil_stroke_to_path().
| void BKE_nurb_project_2d | ( | struct Nurb * | nu | ) |
Definition at line 748 of file curve.c.
References Freestyle::a, Nurb::bezt, Nurb::bp, CU_BEZIER, Nurb::pntsu, Nurb::pntsv, Nurb::type, BezTriple::vec, and BPoint::vec.
Referenced by BKE_curve_dimension_update(), BKE_curve_nurbs_vert_coords_apply(), BKE_curve_nurbs_vert_coords_apply_with_mat4(), ed_editnurb_translate_flag(), ED_transverts_update_obedit(), and v3d_editvertex_buts().
| bool BKE_nurb_type_convert | ( | Nurb * | nu, |
| const short | type, | ||
| const bool | use_handles, | ||
| const char ** | r_err_msg | ||
| ) |
Definition at line 4932 of file curve.c.
References Freestyle::a, Nurb::bezt, BKE_nurb_handles_calc(), BKE_nurb_knot_calc_u(), Nurb::bp, Freestyle::c, copy_v3_v3(), CU_BEZIER, CU_NURB_BEZIER, CU_NURB_CYCLIC, CU_NURBS, CU_POLY, ELEM, BezTriple::f1, BPoint::f1, BezTriple::f2, BezTriple::f3, Nurb::flagu, BezTriple::h1, BezTriple::h2, HD_VECT, Nurb::knotsu, Nurb::knotsv, MEM_calloc_arrayN, MEM_freeN, NULL, Nurb::orderu, Nurb::orderv, Nurb::pntsu, Nurb::pntsv, BezTriple::radius, BPoint::radius, type, Nurb::type, BezTriple::vec, BPoint::vec, BezTriple::weight, and BPoint::weight.
Referenced by gpencil_layer_to_curve(), and set_spline_type_exec().
Referenced by BKE_displist_make_surf(), BLI_vfontchar_copy(), and do_makeDispListCurveTypes().
Definition at line 4475 of file curve.c.
References Freestyle::a, CU_BEZIER, BezTriple::f1, BPoint::f1, BezTriple::f2, BezTriple::f3, LISTBASE_FOREACH, and SET_FLAG_FROM_TEST.
Referenced by do_lasso_select_curve(), do_nurbs_box_select(), ED_curve_editnurb_select_pick(), nurbscurve_circle_select(), and select_row_exec().
Set flag for every point that already has from_flag set.
Definition at line 4513 of file curve.c.
References CU_BEZIER, BezTriple::f1, BPoint::f1, BezTriple::f2, BezTriple::f3, LISTBASE_FOREACH, and SET_FLAG_FROM_TEST.
Referenced by do_lasso_select_curve(), do_nurbs_box_select(), and nurbscurve_circle_select().
| void BKE_nurbList_free | ( | struct ListBase * | lb | ) |
Definition at line 660 of file curve.c.
References BKE_nurb_free(), BLI_listbase_clear(), LISTBASE_FOREACH_MUTABLE, and NULL.
Referenced by BKE_curve_editNurb_free(), BKE_curve_minmax(), BKE_displist_make_surf(), BKE_nurbList_duplicate(), BKE_object_free_curve_cache(), curve_delete_segments(), curve_free_data(), do_makeDispListCurveTypes(), ED_curve_editnurb_load(), ED_curve_editnurb_make(), knifeproject_poly_from_object(), blender::io::alembic::AbcCurveReader::read_mesh(), separate_exec(), undocurve_free_data(), undocurve_to_editcurve(), and vfont_to_curve().
Definition at line 4317 of file curve.c.
References BKE_nurb_handles_autocalc(), and LISTBASE_FOREACH.
| void BKE_nurbList_handles_recalculate | ( | struct ListBase * | editnurb, |
| const bool | calc_length, | ||
| const uint8_t | flag | ||
| ) |
Definition at line 4418 of file curve.c.
References Freestyle::a, BKE_nurb_handle_calc_simple_auto(), BKE_nurb_handles_calc(), copy_v3_v3(), CU_BEZIER, dist_ensure_v3_v3fl(), BezTriple::f1, BezTriple::f3, len_v3v3(), LISTBASE_FOREACH, and BezTriple::vec.
Referenced by curve_normals_make_consistent_exec().
| void BKE_nurbList_handles_set | ( | ListBase * | editnurb, |
| const char | code | ||
| ) |
| code |
Definition at line 4333 of file curve.c.
References Freestyle::a, CU_BEZIER, ELEM, BezTriple::f1, BezTriple::f3, BezTriple::h1, BezTriple::h2, HD_ALIGN, HD_AUTO, HD_FREE, HD_VECT, LISTBASE_FOREACH, nurb_handles_calc__align_selected(), and SELECT.
Referenced by set_handle_type_exec().
Definition at line 573 of file curve.c.
References copy_v3_v3(), CU_BEZIER, and LISTBASE_FOREACH.
Referenced by give_parvert().
| int BKE_nurbList_verts_count | ( | const struct ListBase * | nurb | ) |
Referenced by BKE_keyblock_convert_to_vertcos(), curve_surf_to_softbody(), and ED_object_data_xform_create_ex().
| int BKE_nurbList_verts_count_without_handles | ( | const struct ListBase * | nurb | ) |
Referenced by BKE_object_as_kdtree().
|
extern |
Definition at line 5615 of file curve.c.
Referenced by BKE_curve_batch_cache_dirty_tag(), and DRW_engines_register().
Definition at line 5616 of file curve.c.
Referenced by BKE_curve_batch_cache_free(), and DRW_engines_register().