Commit Graph

1628 Commits

Author SHA1 Message Date
fcdc04af4f Fix T37755: Autokey doesn't work for local Z-Axis in Camera view with MotionPaths enabled
The problem here was that the hack used to fix T24551 in r32863
would cause the camera to jump back to its pre-transform position
after motionpaths were recalculated. This made it seem like a keyframe
wasn't inserted by AutoKeying (even though it was).
2013-12-11 16:19:42 +13:00
71d5fe29da Fix incorrect comment - copy and paste error 2013-12-11 16:19:42 +13:00
1cee3e53fc Code Cleanup: use BLI_strncpy when copying into fixed sized buffers 2013-12-03 09:12:44 +11:00
4ac17b3f0c Fix T37671: Edit Texture Space on Skin Resize crash
Texture space editing from TFM_SKIN_RESIZE is not supported,
so hide the option and don't use it for such a transform.
2013-12-02 18:05:49 +06:00
1815225faa Blender Font (BLF): add length argument to string width/height functions
This also fixes a crash editing buttons longer then UI_MAX_DRAW_STR
2013-12-02 21:10:07 +11:00
ac38f2584f Code Cleanup: replace ABS() with fabsf() when used with float expressions. 2013-12-01 13:11:12 +11:00
918ad1719f Transform: improve normal orientation
- when 3 verts are selected ensure the normal is flipped on the side of existing vert normals.
  also use the most distant 2 verts to define the tangent.

- when 2 vertices are selected, the normal wasn't aligned with the vert normal.
2013-11-28 20:40:14 +11:00
47a8b38e53 Fix T37143: Wrong normal dir with individual origins + one vert selected 2013-11-28 19:59:26 +11:00
ccb79030c6 Disable redo for bend operator 2013-11-27 18:59:56 +11:00
3c7bfb1d7d fix for error in own recent commit, removing orientations. 2013-11-26 09:49:32 +11:00
d305df2226 Transform: old todo, removing an orientation now checks all screens.
also fix for using uninitialized matrix when an out-of-range index is
set for custom orientations.
2013-11-25 09:40:52 +11:00
4a6802b00b Transform: internal changes for orientations calculations.
- use (const char *) for the 'name'
- use bool where possible.
- remove unused return value for initTransInfo
2013-11-25 09:40:52 +11:00
31a1bcfcd7 fix T37411: Transform mouse constraint could fail in some situations.
Was caused by int rounding when an axis was < 1.0.
2013-11-21 02:21:34 +11:00
82238c3e36 Fix T37550: Crash while snaping to curve made from Susane (bug in recent addition) 2013-11-21 00:21:31 +11:00
067d52cd48 Transform: rename Warp to Bend 2013-11-20 12:14:10 +11:00
238d2f962d BMesh Refactor: BKE_bmbvh_new can now be created without an EditMesh.
This adds BM_bmesh_calc_tessellation() so we can get triangles from a
bmesh without having to have an editmesh available.
2013-11-18 18:25:47 +11:00
8f7f8d679c Style Cleanup: whitespace 2013-11-17 22:00:57 +11:00
b0ff255b55 Transform: vertex snapping for curves
This adds vertex snapping capabilities for curves. Snaps to all control points
of other objects, and visible + selected control points and handles in curve
edit mode.

Reviewed By: brecht

Differential Revision: http://developer.blender.org/D3
2013-11-16 20:21:13 +01:00
Lukas Toenne
c2aca3b517 Fix for node transform offsets when adding new nodes: The transform operator was using the node->totr rect for defining the initial location of the node - but this is only defined after the node has been
drawn at least once, so nodes would jump to (0,0) after adding ... Use the locx/locy instead (including DPI factor), which is more reliable.
2013-11-07 09:15:29 +00:00
Lukas Toenne
7398600090 True grid snapping for nodes: This snaps nodes to the actual background grid instead of using incremental offset (which is not useful for nodes). Increment snapping has been disabled for nodes to avoid
confusion, grid snap is now the default as it seems to be the most wanted and easy to use mode.

Absolute grid snapping happens in a somewhat generic function 'applyGridAbsolute', which could also be used for objects and other transforms later on. It is conceptually similar to the 'project' snapping
option, in that it calculates a delta vector for each element on top of the overall transform, which places each node on the grid.

Node transform now uses the top-left node corner for TransformData->loc. The transform center is still the average of node centers, so that scaling and rotation works nicely.

snapGrid*** functions have been renamed to snapGridIncrement*** to distinguish better between incremental and absolute grid snapping.
2013-11-06 17:46:32 +00:00
17994825f0 Fix #37251: Snap not working correctly in metaball edit mode.
It wasn't enabled in snapping code from the beginning it seems,
but from quick tests snapping for mballs works just fine.

Maybe we could drop out check for edit object type now?
2013-11-06 08:27:18 +00:00
c8e2b54ce2 Fix [#37324] Crash, calling Warp operator in Outliner
Warp needs a valid 3DView region...
2013-11-05 16:20:06 +00:00
7a10bacaf9 Bugfix [#36203] Transformation bone constraint breaks Track To / Dumped Track
Limited crazy-space constraint correction for Transform constraint to only get
applied when only rotating bones with such constraints.
2013-11-05 01:44:38 +00:00
ec32964194 code cleanup: warnings 2013-11-03 05:19:55 +00:00
7267221715 remove return argument from wmOperatorType->cancel, was only ever returning OPERATOR_CANCELLED. 2013-10-30 23:08:53 +00:00
bc5218a0f4 Code cleanup: more int->bool conversions mask module 2013-10-29 18:56:21 +00:00
16d13e0db9 Project Pampa request: FCurves normalized display
Added two options to a header of FCurve editor:

- Normalize which makes it so every individual
  curve is fit into -1..1 space.

- Auto-normalize, which probably is to be called
  "Lock" which "locks" curve normalization scale.
  This is useful to prevent curves from jumping
  around when tweaking it.

It's debatable whether it need to be a button to
normalize curves n purpose only, and it's fully
depends on animator's workflow.

Here during Project Pampa we've got Francesco
who get used to auto-renormalization and Hjalti
who prefers locked behavior.

Docs are to be ready soon by Francesco.
Thanks Brecht for the review!
2013-10-29 18:10:52 +00:00
f6e504cee9 Make anim system safer for threading
Remove usages of ANIM_unit_mapping_apply_fcurve in favor of
runtime scale factor apply.

There're still calls to ANIM_nla_mapping_apply_fcurve are
hanging around, they're the next t be cleaned up!
2013-10-29 18:10:48 +00:00
3264461598 move bmesh array lookup data and utility functions from editmesh into bmesh,
since enough bmesh operations can also take advantage of direct index lookups on verts/edges/faces.

developers note:
- EDBM_index_arrays_init/ensure/free -> BM_mesh_elem_table_ensure/init/free
- EDBM_vert/edge/face_at_index -> BM_vert/edge/face_at_index
- EDBM_uv_element_map_create/free -> BM_uv_element_map_create/free
- ED_uv_element_get -> BM_uv_element_get
2013-10-28 02:05:33 +00:00
ff7dbdbaee rename give_cursor to ED_view3d_cursor3d_get 2013-10-26 04:07:18 +00:00
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
5816aa42bf code cleanup: minor transform refactor
redraw flag were mixing up types - int/char/bool, add enum type to use instead.
2013-10-23 06:48:36 +00:00
c3b746fa7e fix [#37179] All transformation normals drawn when proportional edit, individual origins and normal transform orientation are set
thanks to psy-fi for the initial patch.
2013-10-23 05:33:42 +00:00
292d1f55fd refactor transform.c - minor changes
- use TREDRAW_HARD define
- use apply prefix for transform callbacks.
- make callbacks static.
2013-10-23 03:57:42 +00:00
b00a8122e3 improve warp transform so it can be used as a general bending tool too. 2013-10-13 01:09:23 +00:00
eabf7ab335 code cleanup: utility function for getting a bool as a string. 2013-10-13 00:32:31 +00:00
2ce3bd0d67 code cleanup: use more obvious assignments for transform snapping angles. 2013-10-12 22:31:02 +00:00
7998b2f6a7 transform - use 2d float's for the viewport center (allows for vector math functions to be used more easily). 2013-10-12 03:42:06 +00:00
afab39b9d6 code cleanup: use const's for static arrays 2013-10-10 20:22:17 +00:00
ac606a7047 fix [#36947] "Edge Slide" bugs when "Even" is on
was doing a linear interpolation between points on either side instead of interpolating along the edges.
2013-10-04 05:53:02 +00:00
f9afdac2a3 fix [#36942] unfreed memory on trackball widget use 2013-10-04 01:10:23 +00:00
d44b3f66ac make the manipulator work with curve handle selections with normal orientation and individual origins. 2013-10-01 12:37:17 +00:00
fd01e72877 check SELECT flags for curves (was checking for nonzero which would break if new files use this field for other flags) 2013-10-01 12:35:43 +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
86b28fc2fc addition to r60465, check for individual centers when positioning the manipulator 2013-10-01 05:39:41 +00:00
fe9a64ad6f curve transform: scale handles around their knot when using individual centers. 2013-10-01 05:17:57 +00:00