diff options
author | Falk David <falkdavid@gmx.de> | 2020-11-13 23:43:00 +0300 |
---|---|---|
committer | Falk David <falkdavid@gmx.de> | 2020-11-13 23:43:00 +0300 |
commit | 0be88c7d15d2ad1af284c6283370173647ae74eb (patch) | |
tree | 5fff573c512e284547ebe0c921ecffdae2c377c4 /source/blender/blenkernel/BKE_gpencil_geom.h | |
parent | 9d28353b525ecfbcca1501be72e4276dfb2bbc2a (diff) |
GPencil: Merge GSoC curve edit mode
Differential Revision: https://developer.blender.org/D8660
This patch is the result of the GSoC 2020 "Editing Grease Pencil Strokes
Using Curves" project. It adds a submode to greasepencil edit mode that
allows for the transformation of greasepencil strokes using bezier
curves. More information about the project can be found
here: https://wiki.blender.org/wiki/User:Filedescriptor/GSoC_2020.
Diffstat (limited to 'source/blender/blenkernel/BKE_gpencil_geom.h')
-rw-r--r-- | source/blender/blenkernel/BKE_gpencil_geom.h | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/source/blender/blenkernel/BKE_gpencil_geom.h b/source/blender/blenkernel/BKE_gpencil_geom.h index 404cbbe1741..6917a62053c 100644 --- a/source/blender/blenkernel/BKE_gpencil_geom.h +++ b/source/blender/blenkernel/BKE_gpencil_geom.h @@ -51,11 +51,17 @@ void BKE_gpencil_stroke_boundingbox_calc(struct bGPDstroke *gps); /* stroke geometry utilities */ void BKE_gpencil_stroke_normal(const struct bGPDstroke *gps, float r_normal[3]); -void BKE_gpencil_stroke_simplify_adaptive(struct bGPDstroke *gps, float epsilon); -void BKE_gpencil_stroke_simplify_fixed(struct bGPDstroke *gps); -void BKE_gpencil_stroke_subdivide(struct bGPDstroke *gps, int level, int type); -bool BKE_gpencil_stroke_trim(struct bGPDstroke *gps); -void BKE_gpencil_stroke_merge_distance(struct bGPDframe *gpf, +void BKE_gpencil_stroke_simplify_adaptive(struct bGPdata *gpd, + struct bGPDstroke *gps, + float epsilon); +void BKE_gpencil_stroke_simplify_fixed(struct bGPdata *gpd, struct bGPDstroke *gps); +void BKE_gpencil_stroke_subdivide(struct bGPdata *gpd, + struct bGPDstroke *gps, + int level, + int type); +bool BKE_gpencil_stroke_trim(struct bGPdata *gpd, struct bGPDstroke *gps); +void BKE_gpencil_stroke_merge_distance(struct bGPdata *gpd, + struct bGPDframe *gpf, struct bGPDstroke *gps, const float threshold, const bool use_unselected); @@ -72,7 +78,7 @@ void BKE_gpencil_stroke_2d_flat_ref(const struct bGPDspoint *ref_points, const float scale, int *r_direction); void BKE_gpencil_stroke_fill_triangulate(struct bGPDstroke *gps); -void BKE_gpencil_stroke_geometry_update(struct bGPDstroke *gps); +void BKE_gpencil_stroke_geometry_update(struct bGPdata *gpd, struct bGPDstroke *gps); void BKE_gpencil_stroke_uv_update(struct bGPDstroke *gps); void BKE_gpencil_transform(struct bGPdata *gpd, const float mat[4][4]); @@ -91,19 +97,26 @@ void BKE_gpencil_point_coords_apply_with_mat4(struct bGPdata *gpd, const GPencilPointCoordinates *elem_data, const float mat[4][4]); -bool BKE_gpencil_stroke_sample(struct bGPDstroke *gps, const float dist, const bool select); +bool BKE_gpencil_stroke_sample(struct bGPdata *gpd, + struct bGPDstroke *gps, + const float dist, + const bool select); bool BKE_gpencil_stroke_smooth(struct bGPDstroke *gps, int i, float inf); bool BKE_gpencil_stroke_smooth_strength(struct bGPDstroke *gps, int point_index, float influence); bool BKE_gpencil_stroke_smooth_thickness(struct bGPDstroke *gps, int point_index, float influence); bool BKE_gpencil_stroke_smooth_uv(struct bGPDstroke *gps, int point_index, float influence); bool BKE_gpencil_stroke_close(struct bGPDstroke *gps); -void BKE_gpencil_dissolve_points(struct bGPDframe *gpf, struct bGPDstroke *gps, const short tag); +void BKE_gpencil_dissolve_points(struct bGPdata *gpd, + struct bGPDframe *gpf, + struct bGPDstroke *gps, + const short tag); bool BKE_gpencil_stroke_stretch(struct bGPDstroke *gps, const float dist, const float tip_length); bool BKE_gpencil_stroke_trim_points(struct bGPDstroke *gps, const int index_from, const int index_to); -bool BKE_gpencil_stroke_split(struct bGPDframe *gpf, +bool BKE_gpencil_stroke_split(struct bGPdata *gpd, + struct bGPDframe *gpf, struct bGPDstroke *gps, const int before_index, struct bGPDstroke **remaining_gps); |