Blender Git Commits

Blender Git commits from all branches.

Page: 1599 / 2888

January 31, 2018, 02:50 (GMT)
Cleanup: Reshuffling order of code in file

In future: Keep related code together, instead of just dumping
it "wherever" (aka at the end of the file, since it's most
convenient right now)

(In the process, I've ended up flagging a few pieces of code
for further investigation. They likely duplicate some code
elsewhere in other modules)
January 31, 2018, 01:23 (GMT)
Cleanup: Prefix all exported functions with module prefix
January 31, 2018, 01:21 (GMT)
Cleanup: Fix mixed use of tab/space whitespace
January 31, 2018, 01:10 (GMT)
Cleanup: Move private/internal operator state data out of public header for GPencil module

This commit moves the defines for several modal operators
(Interpolate, Fill, and Add Primitives) out of the editors/gpencil
module's public headerfile ("ED_gpencil.h") into the module's
internal headerfile ("gpencil_intern.h").

We should not be spraying the internal implementation details of
operators in public headers. In this case, these defines weren't
even being used outside of the gpencil module - they were only
put in a header so that drawgpencil.c (which lives in the same
module) could access this data (and even then, I wonder those
callbacks need access to everything).

Note: I couldn't get rid of the ED_numinput.h include in the header
yet, as several of the operators define NumInput members inline.
January 30, 2018, 22:56 (GMT)
Fix T52634: EditMesh Remove doubles could hang

A single diagonal axis was used for sorting coordinates,
the algorithm relied on users not having vertices axis aligned.

Use BLI_kdtree to remove doubles instead.

Overall speed varies, it's more predictable than the previous method.
Some typical tests gave speedup of ~1.4x - 1.7x.
January 30, 2018, 22:56 (GMT)
BLI_kdtree: utility function to remove doubles
January 30, 2018, 16:45 (GMT)
Fix error in fill stroke thickness

To avoid gaps, the thickness of the internal strokes must be reduced, but the previous code only worked when the factor was different of 0.
January 30, 2018, 16:18 (GMT)
Merge branch 'blender2.8' into greasepencil-object
January 30, 2018, 16:18 (GMT)
Rename "lazy Mouse" to "Stabilizer"

Also changed "Radius" to "Distance"

Thanks Pablo Vazquez for the feedback.
January 30, 2018, 08:52 (GMT)
Merge branch 'blender2.8' into greasepencil-object
January 30, 2018, 06:04 (GMT)
GP Add Primitive: Don't make a copy of the new stroke. Just copy it over!
January 30, 2018, 06:04 (GMT)
GP Add Primitives: Attempted fix for double-clicking on the toolbar button

Check for what type of mouse-press it was, instead of just assuming
that the clicks are what we think they are.

Note: If things still go wrong, there's also now a debug-print there
(debug-mode only) to help track things down.
January 30, 2018, 06:04 (GMT)
Cleanup: Streamline logic here - just check once, not twice
January 30, 2018, 06:04 (GMT)
GP Add Primitive Ops: Remove the "avoid fast double clicks" event hack

This was making the operator unnecessarily clumsy to use, especially
for anyone used to the way that drawing tools everywhere else work.

Old workflow (with the hack):
1) Click Rectangle/Circle to start the operator
2) Click (Press & Release) in the 3D view to start drawing the shape
3) Click again (Press & Release) to stop drawing
(4) Click again, realising that you forgot to release the mouse in step 2
(provided you realised why it "wasn't working")

New workflow (more in line with standard workflows):
1) Click Rectangle/Circle to start the operator
2) Press and drag in the 3D view to start drawing the shape
3) Release to stop drawing
January 30, 2018, 06:04 (GMT)
GP Add Primitives: Allow operator to work in Edit Mode too

It didn't really make sense why this was restricted to Draw mode only.
In particular, there are 2 good arguments for allowing it in editmode too:
1) In many ways, it's more similar to a Copy/Paste or Duplicate
operation in that it just dumps a bunch of stroke geometry
into the scene without you having to draw anything. We allow those,
so why not this.

2) Users are used to being able to go into Edit Mode and add a primitive
shape into the datablock to begin editing it. For consistency with
other modes, and also to prevent the "Creation" tab looking stupid
and redundant in EditMode, let's enable this.

Note:
* Sculpt/Weight Paint modes do not have this enabled for now. In those
modes, users are less likely to be concerned with adding geometry,
and more with modifying the existing geometry.
January 30, 2018, 06:04 (GMT)
Cleanup: Use M_PI instead of converting from degrees to radians

Note: While the center/radius calcs may benefit from using the
BLI_math funcs, the current implementation is more direct.
January 30, 2018, 06:04 (GMT)
GP Add Primitives: De-duplicate code

Most of the logic in gp_primitive_rectangle() and gp_primitive_circle()
was duplicated, and responsible for performing space-conversion stuff
on the 2d/screen-space coordinates.

This commit properly separates out these concerns, de-duplicating
code, and fixing a few other minor issues at the same time
(e.g. superfluous copies, and "edges" not getting initialised properly)
January 30, 2018, 06:04 (GMT)
GP Add Primitives: Removed the requirement for an active layer

Previously, the add primitive operator (rectangle/circle) required
there to be an active layer present before it would allow you to draw
a new primitive. However, this reduced the usefulness of this tool
(especially if you intended to use these tools to roughly block out
the requried shapes first in a new/blank GP object).

There was no real reason for this limitation, so no, the operator will
create a new layer itself if necessary, just like the Draw operator
has done since day one!
January 30, 2018, 06:04 (GMT)
Cleanup: Remove redundant functions

These were just adding extra layers of abtraction/complexity
without serving any actual purpose.
January 29, 2018, 22:24 (GMT)
Merge branch 'blender2.8' into topbar
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021