Age | Commit message (Collapse) | Author |
|
Replace iroundf with round_fl_to_int, add other types
|
|
|
|
obscured
by the transform constraint lines
Ported over e7395c75d504af2c2f720f43ea27b93e04a378e4 from the
greasepencil-object branch. I should've fixed this ages ago, but
couldn't figure out why at the time.
|
|
`depth_get` is called in most of the time. So not worth going through so many conditions
|
|
This allows to have different macro headers without them sharing
similar names to regular C modules.
|
|
|
|
|
|
To be backported to 2.79
|
|
Needed for image space.
|
|
Hidden option to override transform center.
Needed for manipulators that define their own center.
|
|
|
|
|
|
Caused by own recent changes in handling of verts/edges/etc. arrays storage
for raycasting (rBe324172d9ca6690e8).
Issue was actually even weirder - there is absolutely no reason at all to
release DM here, those finaldm are stored in Object or EditMesh structs and
handled by general update system, other code shall never try to release them!
|
|
arrays again from DM.
This was... horribly wrong, CDDM will often *not* need to allocate
anything to return arrays of mesh items! Just check whether array
pointer is NULL.
Also, remove `DM_get_looptri_array`, that one is useless currently,
`dm->getLoopTriArray` will always return cached array (computing it if
needed).
|
|
|
|
|
|
|
|
(alt + b) is not bypassed in snap to faces"
This reverts commit 7f09b55d01c248a741e967af597b7519f095983b.
|
|
is not bypassed in snap to faces
The geometry behind the farther clip_plane is not bypassed
|
|
|
|
Moving the ray_start_local to the new position does not lose as much precision as moving the ray_org_local to the corresponding position.
The problem of inaccuracy is within the functions: `bvhtree_ray_cast_data_precalc` and` fast_ray_nearest_hit`. And not directly in the values of the rays.
|
|
|
|
*note: make a complete test scene
|
|
Macro makes debugging difficult. And in that case I was escaping from the style used in Blender
|
|
|
|
This would bring problems with dupli objects
|
|
The macro got a little strange, but it's better than using the MEM_mallocN inside a loop, or repeat the lines
|
|
|
|
|
|
That problem occurs because of the imprecision of `short int` (16 bits).
The 3d coordinates are converted to 2d, and when they are off the screen, their values can exceed 32767! (max short int value)
One quick solution is to use float instead of short
The snap code is actually a little tricky. I want to make some arithmetic simplifications in it
|
|
|
|
The only similarity between these functions is that both serve to snap.
However their codes are totally different from one another.
So by separating these functions, it:
- removes the need to put several conditions;
- simplifies and
- optimizes the code
|
|
|
|
Auto & aligned handles wouldn't restore to their correct locations.
Note that a more direct fix for the bug is possible
(storing the handle locations to restore on cancel).
But that still gives some odd behavior, see code-comments for details.
|
|
New dependency graph is tacking root bone into account when building the graph.
This is required in order to get proper dependencies between bones. so we can
reliably use bones as targets from the same rig (and even indirect relations
via external objects). This forces us to tag relations for update when we change
root IK chain bone.
Since relations rebuild is not fully trivial operation, we only do it for
the new dependency graph. In the future it'll be nice to avoid whole graph
rebuild for such cases, but that's mentioned as a TODO.
|
|
When doing any transformation on a rigid body object that has delta
transforms, the object would be offset by the amount of the delta
transform.
|
|
D2729 by @IgorNull
Currently, trackball rotation sequentially applies rotation across x axis and y axis,
which produces a strange/unusable result on diagonal pointer motion.
This change fixes the problem by using a single axis which is orthogonal
and proportional to mouse delta - matching view-port trackball.
|
|
Also remove duplicate & mismatching comments from grease-pencil header.
Keep comments close to implementation to avoid getting out of sync.
|
|
Use for calculating the angle between 2 directions on an axis.
Also signed version and normalized plane projection,
use when input is normalized.
|
|
Also don't do second pass when the first has no hits.
|
|
|
|
The issue was caused by under-allocation of UV islands calculation.
|
|
Use relative value from cursor movement.
|
|
|
|
|
|
Regression in fix for T46892
|
|
|
|
|
|
Use to avoid accidental missing break statements,
use ATTR_FALLTHROUGH to suppress.
|
|
|