Commit Graph

646 Commits

Author SHA1 Message Date
48c1e0c0fc spelling: use American spelling for canceled 2013-10-26 01:06:19 +00:00
0039b44d10 fix for negated normal being used when using individual centers & normal orientation in vertex select mode. 2013-10-23 10:35:49 +00:00
9b3e3f3e31 fix for bug own recent commit [#36904] Snap to Volume is broken with Armature
this is infact an older bug which was exposed by the recent change.
for now only use the change in behavior for scale/rotation.
2013-10-01 12:11:10 +00:00
aecb76b93e fix bug with vector handles in the graph editor when transforming 2 selected points of a bezt, the unselected handle wouldn't have its value restored on transform cancel. 2013-10-01 08:30:46 +00:00
f1f7648d4c fix for error setting vector handles to free when both vector handles were selected but not the mid-point.
only one of the handles would be changed to the HD_FREE.

effected curves and fcurves.
2013-10-01 08:18:43 +00:00
9550d05a1c fix [#36900] single spline handle can't be "scaled"
this works in the graph editor but didn't for curves, useful functionality to have.
2013-10-01 07:02:18 +00:00
fe9a64ad6f curve transform: scale handles around their knot when using individual centers. 2013-10-01 05:17:57 +00:00
fa16aeed2d postpone crazy-space changes until next release, causes issues with extrude which need further fixes. 2013-09-24 12:43:25 +00:00
9794c70f65 modifiers_isCorrectableDeformed now checks a modifier is enabled before returning true,
also check deformMatricesEM callback for modifier_isCorrectableDeformed() rather then checking modifier types.
2013-09-24 00:56:47 +00:00
Lukas Toenne
29b546fe7f Fix for #36739: Delete new nodes added via the Add menu or toolbar if the subsequent transform operator is cancelled. This prevents ugly situations where nodes stick "under" the toolbar after clicking a
wrong button.

Works by adding a flag to transform operators "remove_on_cancel". This is currently only used for node transforms, the idea is that if set, the operator will remove the transformed elements when it is
cancelled. It's not possible to do that in the original NODE_OT_add_node operator, because transform is modal and there is no way of reacting to a cancel outside of the transform itself (previous attempt
used a macro operator, but that also doesn't work because subsequent operators don't get executed if the previous transform cancels).
2013-09-17 13:07:48 +00:00
810000f2be use crazy-space when modifiers_isCorrectableDeformed() fails,
without this. warp modifier for eg didnt use crazy-space.
2013-09-15 11:51:38 +00:00
8f3552953a modify crazyspace_get_mapped_editverts to work like crazyspace_set_quats_mesh
- array of quats is now aligned with the vertices (over alloc, it simplifies things and removes need to set invalid index values).
- remove visit-bitmap from crazyspace_get_mapped_editverts(). setting coords multiple times isnt bad.
2013-09-15 11:38:48 +00:00
9b09af0dca Fix #36701: Mask pivioting doesnt honor parenting
Made mask transformation aware of parent matrix.
2013-09-11 10:06:54 +00:00
e72c6f191f Tweaks to plane track
- Do plane re-evaluation only when transform is actually done.
  Before this re-evaluation happened on every mouse move.

- Added a flag "Auto Keyframe" for the plane track, which does:

  * If Auto Keyframe is enabled, then every manual edit of the
    plane will create a new keyframe at current frame and update
    plane motion between current frame and previous/next keyframe.

    This now also implies blending detected motion with neighbor
    keyframes, so there's no jump happening.

    No automatic update on manual point tracks edit will happen.

  * If auto Keyframe is disabled, then no keyframes are adding
    to the plane and every plane tweak will re-evaluate in on
    the whole frame range.

    In this case manual tweaks to point tracks and re-tracking
    them implies plane re-evaluation.
2013-09-10 12:46:18 +00:00
347ba7f159 fix [#36517] You can edit a texture space (Shift-T) of a linked mesh
also enable other errors to show up which were previously commented.
2013-08-20 06:04:46 +00:00
d7cc2be2b7 add linklist stack macros, use where over allocating an array was previously done. 2013-08-17 05:33:55 +00:00
24ce60cfe4 Merge plane track feature from tomato branch
This commit includes all the changes made for plane tracker
in tomato branch.

Movie clip editor changes:

- Artist might create a plane track out of multiple point
  tracks which belongs to the same track (minimum amount of
  point tracks is 4, maximum is not actually limited).

  When new plane track is added, it's getting "tracked"
  across all point tracks, which makes it stick to the same
  plane point tracks belong to.

- After plane track was added, it need to be manually adjusted
  in a way it covers feature one might to mask/replace.

  General transform tools (G, R, S) or sliding corners with
  a mouse could be sued for this. Plane corner which
  corresponds to left bottom image corner has got X/Y axis
  on it (red is for X axis, green for Y).

- Re-adjusting plane corners makes plane to be "re-tracked"
  for the frames sequence between current frame and next
  and previous keyframes.

- Kayframes might be removed from the plane, using Shit-X
  (Marker Delete) operator. However, currently manual
  re-adjustment or "re-track" trigger is needed.

Compositor changes:

- Added new node called Plane Track Deform.

- User selects which plane track to use (for this he need
  to select movie clip datablock, object and track names).

- Node gets an image input, which need to be warped into
  the plane.

- Node outputs:
  * Input image warped into the plane.
  * Plane, rasterized to a mask.

Masking changes:

- Mask points might be parented to a plane track, which
  makes this point deforming in a way as if it belongs
  to the tracked plane.

Some video tutorials are available:
- Coder video: http://www.youtube.com/watch?v=vISEwqNHqe4
- Artist video: https://vimeo.com/71727578

This is mine and Keir's holiday code project :)
2013-08-16 09:46:30 +00:00
723eaa36ce fix own error in BM_mesh_calc_edge_groups() was clearning wrong dirty-index flag.
also remove unused transform defines.
2013-08-14 08:14:50 +00:00
00b39c4e5b code cleanup: more confusion with 0/NULL/false 2013-08-07 03:55:21 +00:00
298a03ee63 fix for error in own recent changes to transform initialization, proportional editmode needs to skip hidden faces. 2013-07-30 09:50:17 +00:00
4982f200fa move alloca define into its own header since its not related to BLI_array 2013-07-28 10:38:25 +00:00
e69fdfab30 adjust createSpaceNormalTangent so it can take values from a matrix without having to negate the plane first.
also add ED_armature_ebone_to_mat3/4 since there were quite a few places that did this inline.
2013-07-25 12:07:55 +00:00
b6f58d0ea1 - add individual origin support for curves and improve the orientation calculations for curve handles,
- add support for using the active point's orientation.
- add support for creating new custom orientations from curves.
- fix error where only the last selected curve handle was taken into account for manipulator orientations.
2013-07-24 13:56:36 +00:00
e50c37d90f code cleanup: remove deprecated bevel code (unused since 2.64) 2013-07-23 14:28:19 +00:00
57ce6d1470 old todo, rotate around individual origins now supports connected face/edge islands.
previously this gave very odd/annoying results, see bug reports [#36134], [#35419]
2013-07-22 14:50:38 +00:00
9634f8f115 transform was flushing the selection (inline), now skip this and use the selection as-is.
flush the selection on entering editmode instead (since the selection mode can be changed with another mesh).
is other tools leave the selection incorrectly flushed, those will need to be fixed so transform works as expected.
2013-07-22 10:44:24 +00:00
77e0709e48 Fix #35551: the topology mirror setting affected shape key and vertex group but
this was confusing as there was no setting visible for it. Now these menus
contain an entry to mirror without and with topology mirror.
2013-06-28 17:13:09 +00:00
28dd9c6a40 Fix #35767: transforming nodes in the node editor changed the wireframe color
of the active object in the 3D view. This was due to sharing a global G.moving
flag to indicate that transform is active, now it's only set per transform data
type so different editors don't influence each other.
2013-06-24 22:41:37 +00:00
781184562b add api calls for BM_mesh_active_vert/edge_get.
inspecting the edit-selection inline was cumbersome.
2013-06-24 04:51:56 +00:00
2dc88ca338 support proportional editing with x-mirror enabled. 2013-06-20 18:19:42 +00:00
7021251043 transform: 2d option for proportional editmode,
Uses for view orientation for distance calculation, can give nicer results when you dont want twisting caused by changes in depth.
2013-06-20 13:24:07 +00:00
1ed8343d6d add axis option to EDBM_verts_mirror_cache_begin 2013-06-19 21:23:00 +00:00
6c6e8e43de fix [#35590] Connected proportional editing gives unexpected results 2013-06-17 18:57:18 +00:00
03b6653618 measure distance across faces when checking for proportional distance connectivity (gives smoother results) 2013-06-17 17:25:02 +00:00
60acf217f8 fix for editmesh transform connected,
the distance checks could get into a feedback loop so that the result depended on the order of verts/edges.

now you can randomize vert/edge/faces and get exactly the same results.

also made some internal improvements,
- used fixed sized arrays (no need to realloc).
- use vertex tag flags rather then a visit-hash.
- remove 'tots' array that did nothing (not sure why it was added).
2013-06-17 16:55:05 +00:00
d761b91b65 reduce sqrt's calls in set_prop_dist(). 2013-06-17 14:37:12 +00:00
72abfbfc95 fix automerge + mirror, previously only the selected verts would auto-merge. 2013-06-16 05:13:12 +00:00
eabb30a236 patch [#35631] Active element for Lattice
by Kevin Mackay (yakca)

Was one of our TODO's from the wiki.
2013-06-09 20:28:08 +00:00
f3a4eab751 jpbouza Feature Request: Transformation Constraint now allows applies rotation
offsets too (like for location)

This is useful in some cases when Copy Rotation constraints would otherwise be
used for this purpose but cannot be used for various reasons. Basically, this
works in practically the same way that the Copy Rotation offsets work, including
the same weirdness that you'll get when trying to manually rotate these in the
3D viewport using "global" space manipulations ("local/normal" spaces though
still seem to work really nicely).

WARNING: this may potentially break old files with transform constraint setups
involving rotation outputs. Please check whether this causes any problems on old
files, and report back if there are any issues.
2013-06-09 12:30:13 +00:00
666c8b51ca changes to mirror tools
- give feedback on how many mirror verts succeed/fail (for select mirror, shape key mirror, weight mirror)
... when a mirror failed it was confusing and not obvious what was going on.

- slight change to select mirror, now center vertices will remain selected.

- speedup to EDBM_verts_mirror_cache_begin, cache customdata layer offset.
2013-06-05 05:58:51 +00:00
225c5fee6b move BLO_sys_types.h -> BLI_sys_types.h (it had nothing todo with loading)
remove MEM_sys_types.h which was a duplicate.
2013-05-28 19:35:26 +00:00
7a547e441b avoid customdata lookups for selection test/enable disable.
also add uvedit_face_select_set, uvedit_edge_select_set, uvedit_uv_select_set - since quite a few areas where setting based on a boolean.
2013-05-10 06:46:32 +00:00
5999aebe4e fix for glitch in object drawing, color of texspace was last used editmode draw color.
also disable BGE bounds drawing when outside of object mode.
2013-04-20 06:22:17 +00:00
3f7f07faf5 style cleanup 2013-04-18 01:52:38 +00:00
adfa7c8afa Don't use auto vectorization for MinGW-w64. It may be a source for
trouble. Also fixed a few harmless warnings.
2013-04-17 11:16:53 +00:00
37e73aa368 code cleanup: use BKE naming conventions for functions in BKE_editmesh.h and BKE_editmesh_bvh.h 2013-04-16 05:59:48 +00:00
6da961775f code cleanup: rename BKE_tessmesh -> BKE_editmesh, rename EditDerivedBMesh.tc -> em. ('tc' is odd name which isn't used elsewhere). 2013-04-13 20:31:52 +00:00
42e8f3e889 rigidbody: Fix/workaround for transforming rigid bodies with parents
Since we use the rigid body transform when transforming rigid bodies
things like parents and constraints add an offset because rigid body
transforms are in global space.

Now we just don't take rigid body transform into account on simulation
start frame so there are no problems when doing the initial setup.

The problem still exists when simulation is running of course.
To properly fix this we'd have to solve parenting and constratins while
taking rigid bodies into account before and after transform.
We'll have to see if it's really needed, would like to avoid it though.
2013-04-07 14:09:29 +00:00
fd6a962168 transform: Code cleanup
Reduce scope of a variable.
2013-04-07 14:09:27 +00:00
1c3c4f3954 code cleanup: use bool's for vgroup and editmode. 2013-04-05 14:58:30 +00:00