Age | Commit message (Collapse) | Author |
|
|
|
When cut a stroke, the cyclic must be set to off because keep it gets very weird results.
|
|
There were some issues when copy the weights and other memory leaks.
Also some code cleanup.
|
|
|
|
The materials were not created when used the active layer option of the separate operator.
|
|
Without this clang-format may wrap them onto a single line.
|
|
Prevents clang-format wrapping text before comments.
|
|
|
|
|
|
This commit groups a set of new tools that were tested in grease pencil object branch before moving to master. We decide to do all the development in a separated branch because it could break master during days or weeks before the new tools were ready to deploy.
The commit includes:
- New Cutter tool to trim strokes and help cleaning up drawings.
- New set of constraints and guides to draw different types of shapes. All the credits for this development goes to Charlie Jolly (@charlie), thanks for your help!
- Segment selection mode to select strokes between intersections.
- New operator to change strokes cap mode.
- New option to display only keyframed frames. This option is very important when fill strokes with color.
- Multiple small fixes and tweaks.
Thanks to @pepeland and @mendio for their ideas, tests, reviews and support.
Note: Still pending the final icons for Cutter in Toolbar and Segment Selection in Topbar. @billreynish could help us here?
|
|
Caused by rBc7a96651dfa4 when trying to remove all uses of the deprecated `rv3d->gridview`.
|
|
The GP_STROKE_RECALC_CACHE identifier was changed to GP_STROKE_RECALC_GEOMETRY because the previous name was confusing and could be confused with the recalculation of the Draw Manager cache.
|
|
Also contains some code typo fixes (mostly, adtaptative -> adaptive,
former is nearly innexistant in English, let's stick to simple valid
words ;) ).
|
|
|
|
Part of T59335.
|
|
|
|
|
|
|
|
|
|
Smooth a stroke, in edit mode, similar how mesh operator works with meshes.
|
|
There were at least three copies of those:
- OB_RECALC* family of flags, which are rudiment of an old
dependency graph system.
- PSYS_RECALC* which were used by old dependency graph system
as a separate set since the graph itself did not handle
particle systems.
- DEG_TAG_* which was used to tag IDs.
Now there is a single set, which defines what can be tagged
and queried for an update. It also has some aggregate flags
to make queries simpler.
Lets once and for all solve the madness of those flags, stick
to a single set, which will not overlap with anything or require
any extra conversion.
Technically, shouldn't be measurable user difference, but some
of the agregate flags for few dependency graph components did
change.
Fixes T58632: Particle don't update rotation settings
|
|
Use 3D cursor from the scene (was previously used for local-view).
|
|
The options depend of drawing mode and this was very strange. Now, the options are listed in the menu.
|
|
|
|
|
|
Without this, we use arguments defined in the macro
making code hard to read.
|
|
The object was duplicated in Edit mode.
|
|
|
|
|
|
Makes it simpler to make some changes...
Also fix order of some includes (use alphabetical please).
|
|
It was getting too impractical to call BKE_paint_brush_tool_info
which needed to lookup the scene pointers.
Now each store tool offset and brush mode in 'Paint.runtime'
|
|
Each mode had its own logic for initializing paint structs,
move to a single function.
Also remove "BKE_brush_get_gpencil_paint", entering grease pencil
mode is responsible for ensuring the data is created.
|
|
Now the grid is always controlled by the topbar selector and not in the canvas panel. To have two places to define orientation was confuse.
The orientation by default (no lock) is always to view plane.
|
|
Needed for entering paint modes on new scenes.
|
|
|
|
|
|
|
|
|
|
|
|
Annotations are not designed to edit, copy or paste, so the operators must be disabled.
By design annotations can only be added or deleted, but not edited.
Still pending clean the pie menus, but this will be done during UI cleanup.
|
|
There was a mix of enum parameters and int/bool values.
|
|
|
|
The previous commit reusing the subdivide modifier code was not taking in account the selected points, so the subdivide was wrong.
|
|
|
|
Now the weights are managed in the operators.
The subdivide operator and modifier code have been replaced with a shared function.
Some cleanup also.
|
|
|
|
Using custom api breaks material at object level
|
|
|
|
Replace BKE_gpencil_get_material_index by BKE_object_material_slot_find_index
|
|
functions have to use the actual grid scale.
|