Age | Commit message (Collapse) | Author |
|
When select a layer in Dopesheet, the autolock layer was not working.
Now the Dopesheet code calls the function for autolock. Also some code cleanup to move the logic to new function.
|
|
The old layout of `PointerRNA` was confusing for historic reasons:
```
typedef struct PointerRNA {
struct {
void *data;
} id;
struct StructRNA *type;
void *data;
} PointerRNA;
```
This patch updates it to:
```
typedef struct PointerRNA {
struct ID *owner_id;
struct StructRNA *type;
void *data;
} PointerRNA;
```
Throughout the code base `id.data` was replaced with `owner_id`.
Furthermore, many explicit pointer type casts were added which
were implicit before. Some type casts to `ID *` were removed.
Reviewers: brecht, campbellbarton
Differential Revision: https://developer.blender.org/D5558
|
|
This is due a limitation in the RNA property when the range is too extreme. As we don't need that, the value was set to SHRT_MAX frames as maximum offset.
Also fixed the same problem in other modules of Grease Pencil.
|
|
Actually, the value for this parameter must be in the order of 0.00001 and this makes the UI uncomfortable.
Now, the value is divided by 1000 internally and the UI values are more logic.
Reviewers: mendio, pepeland
Differential Revision: https://developer.blender.org/D5528
|
|
|
|
Adds to API the last function created to close strokes in a previous commit.
|
|
Sometimes is required to enable the frame created and new "active" parameter allows to do that.
Use: `gpl.frames.new(5, active=True)`
|
|
The old name was not meaning what this option does. Dtected while writting the manual.
|
|
The old name was not clear. Detected while writting the manual.
|
|
Fixed Properties and tab icons
|
|
|
|
|
|
|
|
The UI used "Regular" already, but internally the code didn't.
|
|
|
|
The value of new gradient fields was wrong.
|
|
The API had an old limit of 1.0f.
|
|
Most code uses ReportList argument last (or at least not first)
when an optional report list can be passed in.
|
|
The goal is to prevent assignment of temporary or evaluated meshes
to objects from the main database.
Majority of the change is actually related on passing reports around.
On a positive side there are more error prints which can become more
visible to scripters.
There are still possible further improvements in the related areas.
For example, disable user counting for evaluated ID datablocks when
assignment happens. But can also happen later on as a separate
improvement.
Reviewers: brecht, campbellbarton, mont29
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D4884
|
|
This new filter allows to select only some type of keyframe (keyframe, breakdown, etc).
This was a request of artists that are used to work with other 2D softwares.
Also some cleanup to remove aninmatable option to some properties.
|
|
This new property allows to check if the current datablock is an annotation or is used in a grease pencil object.
This property is required for some Add-ons.
|
|
|
|
Apply clang format as proposed in T53211.
For details on usage and instructions for migrating branches
without conflicts, see:
https://wiki.blender.org/wiki/Tools/ClangFormat
|
|
This commit adds support for drawing Dots strokes with a gradient factor to get artistic effects like watercolor.
Currently, the option is only supported by Dots materials, and in the future will be added to line strokes, but now there is a limitation on drawing engine and we will keep disabled on Line materials.
Also, added the option to align Dots and Boxes strokes textures aligned with the drawing path to get more fluid strokes.
|
|
A new parameter in the layer adjustment panel allows to define the color of the channel in Dopesheet.
This is needed when there are a lot of layers.
See D4623 for more details.
|
|
By design the annotation parameters must not be animatable.
Annotations are designed to take notes, not to create animations, so any animatable parameters have been flagged as non-animatable.
Note: As some properties are shared with grease pencil, I had to duplicate one property (adviced by @mont29) to keep grease pencil animatable but annotations don't.
|
|
|
|
Mostly functions wrapping args, not confirming to our style guide.
|
|
There was a conflict between Object "In Front" and how the strokes were managed in Stroke panel for grease pencil datablock.
In order to keep consistency, the order of the object has been moved to Object level and now it's using the standard "In Front" flag. As all it is 3D, the option "Back" has been removed.
This also fixes the problem with task T62137.
Also related to commit 54ffc4e19dc4 and D4405
|
|
Use PROP_TRANSLATION for this to make it correctly display units in the UI.
|
|
|
|
- Add a new panel to differentiate between viewport display and stroke options
- Use clearer naming for depth ordering and stroke thickness properties
Reviewers: antoniov
Differential Revision: https://developer.blender.org/D4405
|
|
Add a new Draw Mode to display panel in order to define the z-.depth order of the strokes using the real 3D position and not the 2D layer position.
This change makes possible to use VR with grease pencil drawings because the depth of the strokes change with camera position. Also, provide an alternative solution to tasks: T57859, T60325,
The parameter only works with 3D space depth ordering. The Back and Front depths are incompatible with 3D Space mode.
Options are:
- Back
- Front
- 3D Space->2D Layers (default)
-3D Space->3D Location (new mode)
|
|
- Many factor properties were set to PROP_NONE,
even properties that had 'Factor' in the name!
- Some time properties were not set to PROP_TIME,
especially in Particles.
- Changed motion_blur_shutter to use a soft max value of 1 instead of 2.
Anything > 1 here is not physically correct
and makes no real logical sense.
- Changed display name of Dynamic Paint dissolve_speed to Dissolve Time,
since it's a time property, not speed.
|
|
While \file doesn't need an argument, it can't have another doxy
command after it.
|
|
Using 'Regular' instead for the common meaning, this avoids having to
add some i18n context disambiguation...
|
|
Automatic edits failed for indented comment blocks,
removed indentation & adjusted.
|
|
Move \ingroup onto same line to be more compact and
make it clear the file is in the group.
|
|
Needed for clan-format not to wrap onto one line.
|
|
BF-admins agree to remove header information that isn't useful,
to reduce noise.
- BEGIN/END license blocks
Developers should add non license comments as separate comment blocks.
No need for separator text.
- Contributors
This is often invalid, outdated or misleading
especially when splitting files.
It's more useful to git-blame to find out who has developed the code.
See P901 for script to perform these edits.
|
|
|
|
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?
|
|
|
|
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 ;) ).
|
|
|
|
Now, the internal data is recalculated when add or remove a point.
The change in the API affect to stroke.points.add() that now requires a datablock parameter. This parameter is required to identify the datablock affected.
For example: stroke.points.add(gpencil, 1) instead of stroke.points.add(1)
This is the second try to fix T59600
|
|
This reverts commit e79f401ffa7d5354dde01073bbb4b7dd742fd32b.
The new API were against general design rules.
|
|
For strokes:
myframe.strokes.update(mystroke)
For datablock:
gpencil = bpy.data.grease_pencil['gpencil']
gpencil.update()
Still need a manual refresh of viewport.
|
|
|