Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
Naming is always complicated, trying to get something a bit more
coherent, also with already existing clnor struct...
|
|
|
|
Conflicts:
release/datafiles/locale
release/scripts/addons
release/scripts/addons_contrib
source/blender/makesdna/DNA_scene_types.h
source/tools
|
|
Changing PET size while transforming stores the size in the
tool settings, but changing in the redo panel didn't.
|
|
|
|
Also added loop_index to TransDataLoopNormal mapping, which allows us to
avoid another nasty loop-in-loop case.
|
|
|
|
Conflicts:
source/blender/makesrna/intern/rna_scene.c
|
|
|
|
Practically all access to enum data is read-only.
|
|
UI/drawing related code in action callbacks is really not nice,
especially since we do have a more consistent way to dynamically
show/hide some properties.
Note that transform_ops one remains rather hackish here (since we have
to use context for this case)... Not sure how to do it better so far.
|
|
Mostly styling, and some minor/harmless errors.
|
|
Mainly, shadowing variables and unused parameters.
|
|
|
|
This allows to have different macro headers without them sharing
similar names to regular C modules.
|
|
|
|
To be backported to 2.79
|
|
mistake with weighting in modifier making it work differently from average.
|
|
Hidden option to override transform center.
Needed for manipulators that define their own center.
|
|
Also added a ui function to point_normals which allows easier editing by creating a sphere box. Shown when align is enabled.
|
|
|
|
|
|
|
|
Doesn't work on the basis of any weighting mode. Will have to implement that first. I'll add more methods as I progress in other areas.
|
|
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.
|
|
Works by using multiple selection modes, so if yo
works by using multiple selection modes, so if you select vert then face. Th
Works by using multiple selection modes.
So, if you select vert then face, only clnor linked with
both vert and face will be edited.
Has some issues though, as vert + edge selection can
be associated to either of 2 clnors. Need to fix.
|
|
Can now keep clnors when transform ops are applied. As now invalidation for each function is harder to keep track of, Added a function which rebuilds all the lnor spaces in the mesh when BM_lnorspace_rebuild is called to detect if any unmarked spaces are rebuilt.
|
|
|
|
Use for calculating the angle between 2 directions on an axis.
Also signed version and normalized plane projection,
use when input is normalized.
|
|
Added header, fixed bugs and logic errors in point normals to target. Target location is now editable from UI.
Also renamed 'bmspacearr' to 'lnor_spacearr'
|
|
We absolutely avoid such include unless totally mandatory, here we can
simply keep lnorspaces array a pointer in BMesh struct, and allocate it
on demand. Also, was breaking bmesh tests building.
Note: this totally breaks undo/redo, but previous code was utterly
wrong here as well (shallow copy of lnorspaces, ending up sharing whole
internal memory -> crash garanteed ;) ). Think we can skip that struct
for undo/redo for now at least, we can rebuild it in those cases imho...
|
|
|
|
Moved common loop functions and made changes to structure
|
|
|
|
Use relative value from cursor movement.
|
|
|
|
|
|
Use to avoid accidental missing break statements,
use ATTR_FALLTHROUGH to suppress.
|
|
accurate transform
Now it is defined by keymap.
|
|
In obect mode, the rotation matrix need to be restored to the initial value if a snap point is not found
|
|
transformation
The problem was simple, just transform the global coordinates of t->tsnap.snapTarget to local coordinates.
(Some comments were added to the code)
|
|
Avoids possible jumps when one is trying to do some really preciese tweak.
Quite striaghtforward change for mouse input initialization: take Shift
state into account. However, this will interfere with the axis exclusion
which is currently also uses Shift (the feature to move something in a
plane which doesn't have selected axis). This is probably not so commonly
used feature (nobody in the studio even knew of it) and the only downside
now would be that such a constrainted movement will become accurate by
default. That's easy to deal from user side by just unholding Shift key.
Reviewers: brecht, mont29, Severin
Differential Revision: https://developer.blender.org/D2418
|
|
|
|
|
|
Just fixing crash itself. Actually operator shouldn't run in most editors (not in dopesheet either I guess), but don't want to spend time on that right now.
|