Commit Graph

6084 Commits

Author SHA1 Message Date
Martin Poirier
fd1faa5542 Merge from Apricot Revisions 14897, 14913, 14914, 14915, 14929, 15009, 15046
---------------------------------------------------
Snappy stuff

* Align rotation with snapping target: rotate the object, aligning it with the target (object mode only - temporarily) (New icon in the header when snap is turned on)

* Snap to different mesh elements (face, edge, vertice): snapping target slide on faces and edge or use exact position of vertice. When using Align rotation with edge snapping, the normal is interpolated as you slide along.

Snaps correctly to derived mesh (sculpt, modifiers, ...) and duplis. In object and edit mode.

NOTE: The snapping code is now based on faces, so even if you're snapping to vertices or edges, it will not work on meshes without faces. This might change if needed.
2008-06-09 18:41:16 +00:00
Martin Poirier
8c68895741 Revision 14869 merged from apricot
----------------------------------
Centralize handling of individual center for rotations
2008-06-09 18:07:12 +00:00
Martin Poirier
ac0a91920a Revision 14894 merged from apricot
----------------------------------
Arith:
	- axis angle to quat conversion function
	- short to float / float to short normals conversion function (eventually, we could go over the go and replace copy/pasted code everywhere)
	- ray triangle intersection (to complement the line triangle intersection function)
	
View:
	- viewray / viewline (get near plane point under mouse and ray normal/far point)


Particles:
	- extract viewline from brush_add function
2008-06-09 17:16:20 +00:00
Martin Poirier
83af2c1757 PATCH: [#13656] Bad rotation computing for manual rotation higher than 180 degrees
By Fabrice Tiercelin

This enables rotation angles of more than 180 degrees to result in the same rotation applied to the object (the result used to be clamps between -180 - 180 of the initial rotation).

The patch had to be modified to deal with IPO keys properly
2008-06-09 16:54:54 +00:00
Brecht Van Lommel
4e2bb896b0 Added back a feature from the old particle system: negative start frame.
At the moment this does mean it will compute all the frames before the
point caching start frame on the first frame, which might be slow.
2008-06-09 16:49:33 +00:00
Campbell Barton
f39758cddc adding clip alpha (binary alpha) to the 3D view and game engine. 2008-06-09 15:45:46 +00:00
Campbell Barton
610b877f60 ctrl+LMB drag would add an ipo vert AND zoom in ipo view.
checked revisions 7915 and 10663, it seems this functionality was accidental.
2008-06-09 12:13:51 +00:00
Joshua Leung
cee9c7a8fa Bugfix #13667: Outliner doesn't update when changing Parent in Transform Properties
There was a missing refresh call for the Outliner.
2008-06-08 10:46:30 +00:00
Joshua Leung
08f9bcf8ec Bugfix #13649: Segmentation fault when deleting object
When the IPO editor was pinned, and the active object was changed, deleting the active object would cause a crash.
2008-06-08 09:35:05 +00:00
Joshua Leung
7e095fa695 Another minor typo fix in button naming 2008-06-08 03:39:24 +00:00
Joshua Leung
96808303c0 Fix for incorrect tooltip (provided by JMS va bf-committers) 2008-06-08 02:59:14 +00:00
Ton Roosendaal
cdd461f488 March 22 commit from Campbell to allow Lasso select in Compositor
with CTRL+LMB disabled the recently before added option to make 
a Viewer connected to a node using same hotkey.

Now both work!
2008-06-07 15:06:00 +00:00
Campbell Barton
49abcc980c Added shadow baking 2008-06-05 22:07:59 +00:00
Campbell Barton
f2407fec55 Apricot feature, thats fit for trunk.
Baking would split non-planer quads in an unpredictable way, which is fine for rending but game engines often use a fixed order (0,1,2), (0,2,3) or (1,2,3) (1,3,0).
Added an option to use a fixed order when baking.
2008-06-05 18:26:34 +00:00
Martin Poirier
172fe6ed2f Bugfix: [#13619] Transform Rotate and Scale Strange
view: noclip version of int and float projection. Also project from behind the view's position and return coherent values for near clipping

transform: use the above functions for 2d center and helpline drawing

NOTE: the result for centers behind the camera (in perspective) isn't 100% perfect in the case of rotations because they always use the centered view vector as rotation axis and not the one aligned with the 2d center. Changing this would not be desirable anyway. At least it's predictible now.
2008-06-05 14:49:12 +00:00
Joshua Leung
62ca0e07da A few compiler warning fixes. Those in BME_customdata.c were more serious. 2008-06-03 10:04:42 +00:00
Joshua Leung
29f839b4a5 Bugfix #13603:
Action Editor Copy/Paste didn't trigger a depsgraph update for the active object (if the action was applied to it).
2008-06-03 10:00:09 +00:00
Campbell Barton
510d4b22ec increase the level you can zoom out (andy's timelapse videos were a pain to edit) 2008-06-03 01:01:47 +00:00
Geoffrey Bantle
8a5f362192 -> More Bmesh Custom Data stuff
Some more Bmesh custom data functions and
structures. This still does not do anything
yet because the various conversion functions
don't bother making use of the new custom data
functions. Hooking them up should be fairly
simple though.

Also note that the custom data code is mostly
copy/pasted from the existing custom data
functions for editmode with a few modifications.
Duplicating code like this isn't nice, but I
felt it was better to keep things for Bmesh
'standalone' for the moment and take only what is
immediatly needed instead of creating
a tangle of interdependant code.
2008-06-02 20:52:40 +00:00
Geoffrey Bantle
07b1608fbe -> New memory allocator for Bmesh
Added a new pooling allocator for Bmesh based upon
the pool allocator availible in the Boost C++ library
as described here:

http://www.boost.org/doc/libs/1_34_0/libs/pool/doc/concepts.html

Each pool allocates elements of a fixed size, so every
element type in a mesh gets its own pool. For instance
verts occupy a different pool than edges. Each pool
is comprised of multiple arrays of a fixed size and allocating
/freeing elements is simple as removing or adding a head 
to a linked list. Since the list of free elements is interleaved
throughout the unused space in the arrays, the overhead
for storing the free list is only 1 pointer total per pool.
	
This makes building/destroying bmesh structures much faster
and saves quite a bit of memory as well.
2008-06-01 17:15:03 +00:00
Campbell Barton
526d9cc5fc bugfix for own error
glitch when typing in / would ask the user to make a new directory. the last shash was being removed, then the "" path didnt exist and 
asked to create it.
2008-05-31 19:08:12 +00:00
Campbell Barton
c6528b3cd4 bufgfix for [#13584] SIGSEV in fluid bake with large amount of small fluid objects
the maximum number of objects (255) wasnt being checked, added a check before baking.
also changed bakeing to use G.scene->base rather then G.main->objects since these can be in other scenes, from linked 
groups, or used only by python so they should not be used for baking. it also meant having a domain in 2 scenes would fail with an error.

Nils, could be good to have a dynamic number of bakeable objects.
2008-05-31 19:01:14 +00:00
Campbell Barton
32de0da6df bugfix
* [#13394] Sequencer: if internal strips have handles selected, dragging the metastrip changes the meta length
* Extend did not work correctly on metastrips when the nested seq's are out of the meta's frame range, added an argument to seq_tx_get_final_left/right 
that returns the frame clipped by metastrip(s) if any.
2008-05-31 16:22:07 +00:00
Martin Poirier
2eb897e6db Fix crash with hidden bezier handles
See Cambo, that's why we have module owners.
2008-05-30 09:05:09 +00:00
Campbell Barton
da2d4904af bugfix
* scene.object.context and scene.object.selected had broken get_item 
funcs so scene.object.context[i]  returned the wrong object.
* aligning the view to an object (numpad*key), did not disable the 
ortho view grid.
* long standing problem where opening a relative image would fail with 
no message. BLI_convertstringcode was returning a path with /../../'s 
that need to be cleaned before the path could be read, the path was also 
invalid from unix shell so its not a blender path reading problem.
2008-05-30 01:59:15 +00:00
Martin Poirier
8e46d777f3 Transform Orientations
Edit Bone and Pose Bone can now be used as transform orientations

Also fix a bug with CTO comming from non-uniformally scaled meshes.
2008-05-29 19:10:09 +00:00
Joshua Leung
fe7b591280 Another bugfix for Fill Bone Between Joints. Changed the order that bones are created between 'head'/'tail' points 2008-05-29 06:14:53 +00:00
Joshua Leung
e015796b36 Fill Bone Between Joints:
This tool now parents the newly created bone to whichever bone acted as it's 'head' point. It also sets the connected-to-parent flag.
2008-05-29 01:04:12 +00:00
Janne Karhu
a17f322dd0 Bug fix: [#13268] Crash when creating a new particle system
-Ugh.. sorry about that.. damn default cube with it's default material!
2008-05-28 23:38:40 +00:00
Campbell Barton
1a5181c9c7 bugfix for own bug. mousewheel while playing in the sequencer crashes blender. 2008-05-28 21:15:40 +00:00
Brecht Van Lommel
9a19c5c8fe Fix for bug #13230: particle mirror could fail on some faces. 2008-05-28 17:55:06 +00:00
Janne Karhu
9a3b25d8a0 Fix for bug: [#11680] "Col" option for particle systems does not work correctly with Mat IPOs
-the feature simply was not coded
2008-05-28 17:16:43 +00:00
Brecht Van Lommel
c25b845abe Fix for bug #12463: hair didn't draw z-buffered in wireframe mode.
Instead of making it an exception compared to other objects which
don't draw z-buffered either, it now draws without lighting in the
wire color like it did before.
2008-05-27 13:26:52 +00:00
Brecht Van Lommel
027b9a7e96 Fix for bug #12533: color picker didn't always redraw rgb/hsv/hex values. 2008-05-27 11:01:31 +00:00
Brecht Van Lommel
eb26992c25 Fix for bug #12806: compositor nodes with use nodes disabled
didn't properly redraw the node window on changes.
2008-05-27 09:41:43 +00:00
Campbell Barton
54572ccc22 bugfix for view naming, pressing numpad5 would clear the V3D_OPP_DIRECTION_NAME flag even though it wont switch the view direction. 2008-05-27 08:51:47 +00:00
Campbell Barton
c0a40125bb bugfix, copy posebone constraints didnt update properly, canceling transform would not reset the bone back to its original state. need to set teh flag "ob->pose->flag |=
POSE_RECALC", which is alredy done on adding a constraint.
back 
to
2008-05-26 20:43:35 +00:00
Martin Poirier
ae2a0bb273 Bug fix
Force proportional editing flag off in object mode.

While it didn't have any effect on objects themselves, it could display the falloff mode (Smooth) in the header. The bug was purely cosmetic.
2008-05-26 12:52:28 +00:00
Campbell Barton
3b4873250e when cyclic is enabled the knots would always be generated with uniform nurbs but after, cyclic nurbs would be incorrect if the bezier or endpoint u/v was set.
also replaced some numbers with constants.
2008-05-26 12:50:00 +00:00
Campbell Barton
0a90a52442 * The displist would be uninitialized when nurbs bezieru/v was set and the order wasnt 3 or 4. add a function that checks nurbs can produce a valid line. check_valid_nurb_u/v
* when check_valid_nurb_u/v fails, no curve is allocated or drawn.
* knotsu/v could be NULL but some functions didn't check for this, make sure this is checked for everywhere.
* The interface didnt change check the order when the bezier u/v flag was set, added functions clamp_nurb_order_u/v that takes into accound the number of points and the bezier u/v flag.
2008-05-26 09:50:46 +00:00
Campbell Barton
b7c6da39ae the last selected nurbs curve lastnu could become an invalid pointer in places, access this via functions now and store an index
rather then a pointer so if it becomes invalid it will just return a NULL pointer.
2008-05-25 23:05:13 +00:00
Martin Poirier
7f6fc12d8c Bug fix in X-Mirror for armatures
When a bone in a mirrored chain wasn't named properly, it would leave the head or tail in an invalid state.

Now it applies the mirror to connected joints that are mirrored.
2008-05-25 21:05:13 +00:00
Peter Schlaile
20b4bf4aba == Sequencer ==
Fixes
[#12106] Memory leak in sequencer (>10MB/frame)

in parts: inner contents of meta strips are freed up after calculation
making more room for the cache.

Actually have to think of a mechanism, that remembers, which output
frames are asked for and caches only those.
2008-05-25 16:07:32 +00:00
Martin Poirier
03ccc38ddf [#11124] Hide Threshold button when Constant QMC sampling enabled
Patch by Olivier Saraja
2008-05-25 14:39:55 +00:00
Martin Poirier
f680b56ebf [#11119] Tool tips correction
Patch by Olivier Saraja
2008-05-25 14:32:59 +00:00
Joshua Leung
18abce25e5 Typos and whitespace tweaks 2008-05-23 11:12:03 +00:00
Campbell Barton
b46bdbcd0f fix for "[#11004] Adding ram sound and alt-U causes ram to look like HD sound and can lead to crash"
Missing call sound_initialize_sounds, cant be added BKE_reset_undo since its in blenderkernel.
2008-05-23 09:58:33 +00:00
Campbell Barton
f9e81a6f3a fix for [#12218] Impossible to exit meta strips with hotkey
Only enter mesta's that are active and selected, inconsistent with editmode in the 3D view, but editmode dosnt deal with 
nested data.
2008-05-23 08:58:44 +00:00
Joshua Leung
b4573a0c4b Bugfix #12508:
Action Editor Border Select Channels no longer selects bones
2008-05-23 04:54:16 +00:00
Brecht Van Lommel
b7aeda4ff8 Fix for bug #11895: databrowse for image painting clone image didn't work. 2008-05-22 17:32:15 +00:00