Blender V4.3
curve_intern.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2008 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11/* internal exports only */
12struct EditNurb;
13struct GHash;
14struct ListBase;
15struct Object;
16struct ViewContext;
17struct wmKeyMap;
18struct wmOperatorType;
19
20/* `editfont.cc` */
21
22enum {
30};
32enum {
45};
46
48 HIDDEN = true,
49 VISIBLE = false,
50};
51
53 FIRST = true,
54 LAST = false,
55};
56
61
62/* internal select utils */
66bool select_beztriple(BezTriple *bezt, bool selstatus, uint8_t flag, eVisible_Types hidden);
70bool select_bpoint(BPoint *bp, bool selstatus, uint8_t flag, bool hidden);
71
74
79
81
87
90
94
97
100
103
104/* `editcurve.cc` */
105
108
114
124
129
137
139
140/* exported for editcurve_undo.cc */
141
143void ED_curve_keyindex_update_nurb(EditNurb *editnurb, Nurb *nu, Nurb *newnu);
144
145/* exported for `editcurve_pen.cc` */
146
147int ed_editcurve_addvert(Curve *cu, EditNurb *editnurb, View3D *v3d, const float location_init[3]);
148bool curve_toggle_cyclic(View3D *v3d, ListBase *editnurb, int direction);
149void ed_dissolve_bez_segment(BezTriple *bezt_prev,
150 BezTriple *bezt_next,
151 const Nurb *nu,
152 const Curve *cu,
153 const uint span_len,
154 const uint span_step[2]);
155
156/* helper functions */
157void ed_editnurb_translate_flag(ListBase *editnurb, uint8_t flag, const float vec[3], bool is_2d);
167 float viewmat[4][4], View3D *v3d, Object *obedit, const float axis[3], const float cent[3]);
168
169/* `editcurve_select.cc` */
170
185
186/* `editcurve_add.cc` */
187
193
200
201/* `editcurve_query.cc` */
202
204 short sel,
205 Nurb **r_nurb,
206 BezTriple **r_bezt,
207 BPoint **r_bp,
208 short *r_handle,
209 Base **r_base);
217 bool select,
218 int dist_px,
219 Nurb **r_nurb,
220 BezTriple **r_bezt,
221 BPoint **r_bp,
222 short *r_handle,
223 Base **r_base);
225 Curve *cu, View3D *v3d, Nurb **r_nu, BezTriple **r_bezt, BPoint **r_bp);
226
227/* `editcurve_paint.cc` */
228
230
231/* `editcurve_pen.cc` */
232
unsigned int uint
void CURVE_OT_select_random(wmOperatorType *ot)
bool select_bpoint(BPoint *bp, bool selstatus, uint8_t flag, bool hidden)
bool select_beztriple(BezTriple *bezt, bool selstatus, uint8_t flag, eVisible_Types hidden)
void FONT_OT_textbox_add(wmOperatorType *ot)
Definition editfont.cc:2123
void FONT_OT_style_toggle(wmOperatorType *ot)
Definition editfont.cc:1009
void CURVE_OT_select_less(wmOperatorType *ot)
void CURVE_OT_select_similar(wmOperatorType *ot)
void CURVE_OT_dissolve_verts(wmOperatorType *ot)
void FONT_OT_text_copy(wmOperatorType *ot)
Definition editfont.cc:1109
void CURVE_OT_select_previous(wmOperatorType *ot)
void CURVE_OT_match_texture_space(wmOperatorType *ot)
void CURVE_OT_switch_direction(wmOperatorType *ot)
void FONT_OT_line_break(wmOperatorType *ot)
Definition editfont.cc:1638
void FONT_OT_select_word(wmOperatorType *ot)
Definition editfont.cc:2085
void FONT_OT_unlink(wmOperatorType *ot)
Definition editfont.cc:2515
void CURVE_OT_shortest_path_pick(wmOperatorType *ot)
void CURVE_OT_primitive_nurbs_path_add(wmOperatorType *ot)
void CURVE_OT_spline_weight_set(wmOperatorType *ot)
void SURFACE_OT_primitive_nurbs_surface_sphere_add(wmOperatorType *ot)
void CURVE_OT_select_linked(wmOperatorType *ot)
void CURVE_OT_extrude(wmOperatorType *ot)
void CURVE_OT_make_segment(wmOperatorType *ot)
void FONT_OT_select_all(wmOperatorType *ot)
Definition editfont.cc:1053
void CURVE_OT_primitive_bezier_curve_add(wmOperatorType *ot)
void ED_curve_keyindex_update_nurb(EditNurb *editnurb, Nurb *nu, Nurb *newnu)
Definition editcurve.cc:354
@ DEL_SELECTION
@ DEL_PREV_WORD
@ DEL_PREV_SEL
@ DEL_PREV_CHAR
@ DEL_NEXT_WORD
@ DEL_NEXT_CHAR
@ DEL_NEXT_SEL
void CURVE_OT_hide(wmOperatorType *ot)
@ NEXT_LINE
@ NEXT_CHAR
@ TEXT_BEGIN
@ TEXT_END
@ LINE_BEGIN
@ PREV_WORD
@ PREV_LINE
@ PREV_CHAR
@ LINE_END
@ PREV_PAGE
@ NEXT_PAGE
@ NEXT_WORD
void CURVE_OT_normals_make_consistent(wmOperatorType *ot)
void FONT_OT_move(wmOperatorType *ot)
Definition editfont.cc:1438
void CURVE_OT_select_next(wmOperatorType *ot)
void CURVE_OT_shade_smooth(wmOperatorType *ot)
void ed_editnurb_translate_flag(ListBase *editnurb, uint8_t flag, const float vec[3], bool is_2d)
void CURVE_OT_primitive_bezier_circle_add(wmOperatorType *ot)
void SURFACE_OT_primitive_nurbs_surface_torus_add(wmOperatorType *ot)
void CURVE_OT_delete(wmOperatorType *ot)
void ED_curve_nurb_vert_selected_find(Curve *cu, View3D *v3d, Nurb **r_nu, BezTriple **r_bezt, BPoint **r_bp)
void FONT_OT_text_cut(wmOperatorType *ot)
Definition editfont.cc:1144
void CURVE_OT_primitive_nurbs_circle_add(wmOperatorType *ot)
void CURVE_OT_spin(wmOperatorType *ot)
void FONT_OT_change_spacing(wmOperatorType *ot)
Definition editfont.cc:1533
void CURVE_OT_spline_type_set(wmOperatorType *ot)
eEndPoint_Types
@ FIRST
@ LAST
eCurveElem_Types
@ CURVE_VERTEX
@ CURVE_SEGMENT
void CURVE_OT_shade_flat(wmOperatorType *ot)
void FONT_OT_text_insert_unicode(wmOperatorType *ot)
Definition editfont.cc:773
void SURFACE_OT_primitive_nurbs_surface_surface_add(wmOperatorType *ot)
void FONT_OT_change_character(wmOperatorType *ot)
Definition editfont.cc:1591
void CURVE_OT_vertex_add(wmOperatorType *ot)
void FONT_OT_delete(wmOperatorType *ot)
Definition editfont.cc:1784
void FONT_OT_textbox_remove(wmOperatorType *ot)
Definition editfont.cc:2167
void CURVE_OT_select_all(wmOperatorType *ot)
void CURVE_OT_draw(wmOperatorType *ot)
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])
void CURVE_OT_primitive_nurbs_curve_add(wmOperatorType *ot)
void FONT_OT_open(wmOperatorType *ot)
Definition editfont.cc:2462
bool ed_editnurb_extrude_flag(EditNurb *editnurb, uint8_t flag)
void CURVE_OT_select_nth(wmOperatorType *ot)
void FONT_OT_text_paste_from_file(wmOperatorType *ot)
Definition editfont.cc:626
void SURFACE_OT_primitive_nurbs_surface_cylinder_add(wmOperatorType *ot)
void CURVE_OT_pen(wmOperatorType *ot)
void FONT_OT_move_select(wmOperatorType *ot)
Definition editfont.cc:1469
bool ED_curve_pick_vert(ViewContext *vc, short sel, Nurb **r_nurb, BezTriple **r_bezt, BPoint **r_bp, short *r_handle, Base **r_base)
wmKeyMap * curve_pen_modal_keymap(wmKeyConfig *keyconf)
void CURVE_OT_de_select_first(wmOperatorType *ot)
bool ED_curve_pick_vert_ex(ViewContext *vc, bool select, int dist_px, Nurb **r_nurb, BezTriple **r_bezt, BPoint **r_bp, short *r_handle, Base **r_base)
void CURVE_OT_select_more(wmOperatorType *ot)
bool curve_toggle_cyclic(View3D *v3d, ListBase *editnurb, int direction)
void CURVE_OT_separate(wmOperatorType *ot)
void CURVE_OT_smooth_tilt(wmOperatorType *ot)
void CURVE_OT_reveal(wmOperatorType *ot)
eVisible_Types
@ HIDDEN
@ VISIBLE
void CURVE_OT_cyclic_toggle(wmOperatorType *ot)
void FONT_OT_case_set(wmOperatorType *ot)
Definition editfont.cc:2305
void CURVE_OT_duplicate(wmOperatorType *ot)
void FONT_OT_case_toggle(wmOperatorType *ot)
Definition editfont.cc:2353
void CURVE_OT_select_row(wmOperatorType *ot)
void CURVE_OT_de_select_last(wmOperatorType *ot)
@ CASE_LOWER
@ CASE_UPPER
void CURVE_OT_smooth_radius(wmOperatorType *ot)
void FONT_OT_selection_set(wmOperatorType *ot)
Definition editfont.cc:2048
void FONT_OT_text_paste(wmOperatorType *ot)
Definition editfont.cc:1250
GHash * ED_curve_keyindex_hash_duplicate(GHash *keyindex)
Definition editcurve.cc:543
void CURVE_OT_select_linked_pick(wmOperatorType *ot)
void CURVE_OT_smooth(wmOperatorType *ot)
void SURFACE_OT_primitive_nurbs_surface_curve_add(wmOperatorType *ot)
bool ed_editnurb_spin(float viewmat[4][4], View3D *v3d, Object *obedit, const float axis[3], const float cent[3])
void CURVE_OT_split(wmOperatorType *ot)
void FONT_OT_text_insert(wmOperatorType *ot)
Definition editfont.cc:1927
int ed_editcurve_addvert(Curve *cu, EditNurb *editnurb, View3D *v3d, const float location_init[3])
void CURVE_OT_smooth_weight(wmOperatorType *ot)
void CURVE_OT_radius_set(wmOperatorType *ot)
void CURVE_OT_decimate(wmOperatorType *ot)
void CURVE_OT_handle_type_set(wmOperatorType *ot)
void CURVE_OT_subdivide(wmOperatorType *ot)
void FONT_OT_style_set(wmOperatorType *ot)
Definition editfont.cc:968
void CURVE_OT_tilt_clear(wmOperatorType *ot)
void SURFACE_OT_primitive_nurbs_surface_circle_add(wmOperatorType *ot)
ccl_device_inline float4 select(const int4 mask, const float4 a, const float4 b)
unsigned char uint8_t
Definition stdint.h:78
wmOperatorType * ot
Definition wm_files.cc:4125
uint8_t flag
Definition wm_window.cc:138