Blender V5.0
BKE_curveprofile.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2019 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
10
12
13struct BlendDataReader;
14struct BlendWriter;
15struct CurveProfile;
17
23
28
29void BKE_curveprofile_free_data(struct CurveProfile *profile);
30
31void BKE_curveprofile_free(struct CurveProfile *profile);
32
33void BKE_curveprofile_copy_data(struct CurveProfile *target, const struct CurveProfile *profile);
34
35struct CurveProfile *BKE_curveprofile_copy(const struct CurveProfile *profile);
36
46 bool handle_1,
47 bool snap,
48 const float delta[2]);
49
58bool BKE_curveprofile_move_point(struct CurveProfile *profile,
59 struct CurveProfilePoint *point,
60 bool snap,
61 const float delta[2]);
62
67bool BKE_curveprofile_remove_point(struct CurveProfile *profile, struct CurveProfilePoint *point);
68
76void BKE_curveprofile_remove_by_flag(struct CurveProfile *profile, short flag);
77
86
92void BKE_curveprofile_selected_handle_set(struct CurveProfile *profile, int type_1, int type_2);
93
100
105
112
114
121void BKE_curveprofile_init(struct CurveProfile *profile, short segments_len);
122
123/* Called for a complete update of the widget after modifications */
124enum {
128};
135void BKE_curveprofile_update(struct CurveProfile *profile, int update_flags);
136
146 float length_portion,
147 float *x_out,
148 float *y_out);
149
void BKE_curveprofile_selected_handle_set(struct CurveProfile *profile, int type_1, int type_2)
bool BKE_curveprofile_move_point(struct CurveProfile *profile, struct CurveProfilePoint *point, bool snap, const float delta[2])
struct CurveProfile * BKE_curveprofile_copy(const struct CurveProfile *profile)
bool BKE_curveprofile_remove_point(struct CurveProfile *profile, struct CurveProfilePoint *point)
void BKE_curveprofile_update(struct CurveProfile *profile, int update_flags)
@ PROF_UPDATE_CLIP
@ PROF_UPDATE_REMOVE_DOUBLES
@ PROF_UPDATE_NONE
void BKE_curveprofile_reset_view(struct CurveProfile *profile)
void BKE_curveprofile_blend_read(struct BlendDataReader *reader, struct CurveProfile *profile)
struct CurveProfile * BKE_curveprofile_add(eCurveProfilePresets preset)
struct CurveProfilePoint * BKE_curveprofile_insert(struct CurveProfile *profile, float x, float y)
void BKE_curveprofile_copy_data(struct CurveProfile *target, const struct CurveProfile *profile)
void BKE_curveprofile_evaluate_length_portion(const struct CurveProfile *profile, float length_portion, float *x_out, float *y_out)
void BKE_curveprofile_init(struct CurveProfile *profile, short segments_len)
bool BKE_curveprofile_move_handle(struct CurveProfilePoint *point, bool handle_1, bool snap, const float delta[2])
void BKE_curveprofile_remove_by_flag(struct CurveProfile *profile, short flag)
void BKE_curveprofile_set_defaults(struct CurveProfile *profile)
void BKE_curveprofile_reset(struct CurveProfile *profile)
void BKE_curveprofile_blend_write(struct BlendWriter *writer, const struct CurveProfile *profile)
int BKE_curveprofile_table_size(const struct CurveProfile *profile)
void BKE_curveprofile_free(struct CurveProfile *profile)
void BKE_curveprofile_free_data(struct CurveProfile *profile)
void BKE_curveprofile_reverse(struct CurveProfile *profile)
vector snap(vector a, vector b)
Definition node_math.h:97
struct CurveProfile * profile
uint8_t flag
Definition wm_window.cc:145