Age | Commit message (Collapse) | Author |
|
also fix for using uninitialized matrix when an out-of-range index is
set for custom orientations.
|
|
- use (const char *) for the 'name'
- use bool where possible.
- remove unused return value for initTransInfo
|
|
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.
|
|
|
|
redraw flag were mixing up types - int/char/bool, add enum type to use instead.
|
|
- use TREDRAW_HARD define
- use apply prefix for transform callbacks.
- make callbacks static.
|
|
|
|
functions to be used more easily).
|
|
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).
|
|
also enable other errors to show up which were previously commented.
|
|
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 :)
|
|
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.
|
|
being applied (because of added vertices),
now, instead of making hidden copies of faces, the faces are copied into a temp bmesh.
also remove a hash that was being created and not used (old code).
|
|
problems for shape keys at the moment, Ill check on that but no need to run in most cases.
|
|
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.
|
|
Uses for view orientation for distance calculation, can give nicer results when you dont want twisting caused by changes in depth.
|
|
|
|
character list UI widget and the members these used in 'G' global.
|
|
Actually more a feature request... Now create orientations operator has an additional option, use_view, when this one is enabled it will use current view instead of active object to create the new space.
Also made some cleanup (made some funcs static).
|
|
the per-element axis-matrix.
|
|
|
|
vertex coords rather then a copy of the whole vertex, name edge slide directions a/b rather then up/dowb.
|
|
|
|
EditDerivedBMesh.tc -> em. ('tc' is odd name which isn't used elsewhere).
|
|
working if the object was rotated.
|
|
Individual transformation now works in editmode mesh faces/edge, armature bones and metaballs.
|
|
|
|
-> ED_view3d_calc_zfac() and have it return the zfac to use.
|
|
center point so close to the viewpoint caused the helper line to erratically move about because of float precision.
|
|
centers
|
|
|
|
button mouse"
ShrinkFatten operator now uses scale key to toggle 'Even thickness' option.
With the default keymap this is Alt+S,S.
Added functionality so the header print can get the key used for the modal keymap, some other operators should make use of this too.
|
|
also use C key to toggle clamping rather then alt (reported in [#33949]).
|
|
flipped and in proportional vertex slide mode.
|
|
This allows moving rigid bodies on frame > startframe.
Also rigid bodies can now be picked up and trown around while the
simulation is running.
Note: There is a small glitch with cancelling tansform during simulation
but it's tricky to get rid of.
TODO: Avoid static-static collision warnings
|
|
for the original patch.
|
|
- cycles ui used 'cscene' for scene.cycles and scene.cycles_curves
- style cleanup
|
|
|
|
a value.
|
|
failed with no UV layer.
also add some safety checks for BM_ELEM_CD_GET_* macros.
|
|
slide tool based on user feedback.
- no 2-step select edge, then slide. Instead you can slide and select the edge at the same time.
- ability to slide multiple verts at one.
supports proportional option for vertex slide and flipping, both matching edge slide functionality.
|
|
|
|
|
|
|
|
Now just a static icon + text display in corner of view. No blinking. No
red/orange text. No window borders.
|
|
Recently on the bf-funboard list, there have been some requests for clearer
indications for animators that autokeying has been enabled when transforming so
that corrective action can be taken sooner if this wasn't expected. This is
especially important in distributed+collaborative environments where multiple
artists may work on a single shot file: someone working on a shot from
another animator may not be aware that autokeying was enabled, thus accidentally
setting a whole bunch of extra keyframes.
In this current incarnation, we display using red (not hardcoded, but using an
existing theme color) a solid 1px border around the 3D view while transforming
with autokeying enabled. In addition to the border, a blinking indicator (record
icon + "Auto Keying On" text) appear in the top right corner, as inspired by the
traditional recording indicator icons on camcorders.
|
|
in the wrong direction.
|
|
"constrain to bounds" does not work.
Patch reviewed by Campbell Barton. Thanks!
|
|
move a node into its own child frame (causing recursive parent loop).
also some minor code cleanup.
|
|
The transform operators in nodes will now use the unselected nodes to generate snapping points. Unlike object snapping, node snapping works for the x/y axes separately and snaps node borders to same borders of unselected nodes. The sensitive area for node borders extends over the whole view2D range, to enable simple alignment of nodes in both x and y direction.
For snap points in the node editor an additional enum value is stored to indicate the type of node border (left/right/top/bottom). This works as a constraint on possible node alignments: only same border types align with each other.
|