Amélie Fondevilla amelief
  • https://www.afonde.com/
  • Research Engineer at the animation studio Les Fées Spéciales. Occasional contributor to Grease Pencil.

  • Joined on 2022-01-17
Amélie Fondevilla pushed to gpv3-erase-operator at amelief/blender 2023-07-20 09:49:37 +02:00
2ac9ac6477 Micro change : adding a dot in a comment.
f4731f0260 Add some comments
bce7a1039d Renamed output arguments in functions
d1f89daaa5 Refactor: Separate function for checking if a point is inside the eraser
58a4e4ee98 Changed the destination parameters, now using a pair of int, float instead of a plain float
Compare 126 commits »
Amélie Fondevilla pushed to gpv3-erase-operator at amelief/blender 2023-07-20 09:47:45 +02:00
b5341db958 Micro change : adding a dot in a comment.
23ed8577ee Add some comments
558f31f9fe Renamed output arguments in functions
876b602a0c Refactor: Separate function for checking if a point is inside the eraser
Compare 4 commits »
Amélie Fondevilla suggested changes for blender/blender#110266 2023-07-19 18:10:27 +02:00
GPv3: Stroke Simplify operator
Amélie Fondevilla commented on pull request blender/blender#110266 2023-07-19 18:10:26 +02:00
GPv3: Stroke Simplify operator

const Span<float3> slice = src.slice(range);

Amélie Fondevilla commented on pull request blender/blender#110266 2023-07-19 18:10:26 +02:00
GPv3: Stroke Simplify operator

const IndexRange range = stack.pop();

Amélie Fondevilla commented on pull request blender/blender#110266 2023-07-19 18:10:25 +02:00
GPv3: Stroke Simplify operator

const VArray<bool> selection = *curves.attributes().lookup_or_default<bool>( ".selection", ATTR_DOMAIN_POINT, true);

Amélie Fondevilla commented on pull request blender/blender#110266 2023-07-19 18:10:25 +02:00
GPv3: Stroke Simplify operator

const Vector<IndexRange> selection_ranges = array_utils::find_all_ranges(curve_selection, true);

Amélie Fondevilla commented on pull request blender/blender#110266 2023-07-19 18:06:48 +02:00
GPv3: Stroke Simplify operator

Looks good to me. I only have two remarks.

  1. It looks like the case of cyclic curve is not dealt with.

simplify_cyclic-annotated.png

Amélie Fondevilla pushed to gpv3-erase-operator at amelief/blender 2023-07-18 10:35:08 +02:00
432cf9f5b3 Changed the destination parameters, now using a pair of int, float instead of a plain float
Amélie Fondevilla pushed to gpv3-erase-operator at amelief/blender 2023-07-18 10:25:53 +02:00
e0b916e401 Add eraser mode to the UI, and fix switch selection of the eraser modes
Amélie Fondevilla pushed to gpv3-erase-operator at amelief/blender 2023-07-17 18:41:51 +02:00
3108910957 Return early if no points left
Amélie Fondevilla pushed to gpv3-erase-operator at amelief/blender 2023-07-17 18:38:33 +02:00
1798b02e19 Removed double call to function
Amélie Fondevilla pushed to gpv3-erase-operator at amelief/blender 2023-07-17 18:31:12 +02:00
5639c7e440 Setting the soft eraser first because it is the default value for the eraser mode
7c8ebf665c Put interpolate attributes back in the main function, bc it would need to many recomputations
Compare 2 commits »
Amélie Fondevilla commented on pull request blender/blender#110063 2023-07-17 17:46:13 +02:00
GPv3: Hard Eraser tool

Hi @HooglyBoogly :) Thanks for your instructive review !

I think I addressed all your comments and suggestions. I tried refactoring some parts of the main function so that it's more readable.…

Amélie Fondevilla pushed to gpv3-erase-operator at amelief/blender 2023-07-17 16:46:21 +02:00
cf5f8d4db2 Tag topology changes instead of positions
Amélie Fondevilla pushed to gpv3-erase-operator at amelief/blender 2023-07-17 16:44:24 +02:00
2206b69828 Switch eraser operation by eraser mode
8be9fa76f7 Refactor : separate interpolate points attributes in its own function
e333eaaacd Refactor : separate compute points inside in its own function
225c75d42a Refactor : separate compute intersections in its own function
3231bb04ba Refactor : hard eraser as a separate function
Compare 102 commits »
Amélie Fondevilla pushed to gpv3-erase-operator at amelief/blender 2023-07-17 15:32:43 +02:00
3faf281b51 Switch eraser operation by eraser mode
96a5580a1d Refactor : separate interpolate points attributes in its own function
ba56b5be3b Refactor : separate compute points inside in its own function
cb5b103beb Refactor : separate compute intersections in its own function
bfa5e8fa62 Refactor : hard eraser as a separate function
Compare 6 commits »
Amélie Fondevilla commented on pull request blender/blender#110063 2023-07-17 13:54:47 +02:00
GPv3: Hard Eraser tool

I finally decided to make it a class function member, with mouse position and radius as class attributes.

Amélie Fondevilla pushed to gpv3-erase-operator at amelief/blender 2023-07-17 13:53:30 +02:00
028417489a Function renaming
9b474b094e Convert the function that computes the intersections a class member
Compare 2 commits »
Amélie Fondevilla pushed to gpv3-erase-operator at amelief/blender 2023-07-17 13:01:16 +02:00
de8930e68a Minor cleanup
8738444a46 Replace the use of the points to curve map with looping through curves then points
e9831ef555 Add some comments
Compare 3 commits »