- report an error if adding a pose constraint with no active pose channel.
- dont run update_pose_constraint_flags() when adding an object constrant to an armature object.
These were markers which belonged to an action instead of the scene,
and are used by PoseLib to keep track of where poses are.
To restore this, I've made this only available in Action/Shapekey
Editor modes, and only when an action is being shown and the "Show
Pose Markers" option in the Markers menu has been enabled. Other than
that, all the standard marker operators apply now (instead of using a
separate set of special operators).
Old value of 30 px was perhaps a bit too strict, given that scrollbars
took up 16px and that standard icons are 16px, which in total would
have been 32px from the bottom of the region. Having said that, the
marker icons are only about half-size, though it seems that in general
people (can) only aim quite loosely...
* Viscoelastic springs between the fluid particles can simulate all kinds
of viscous and elastic substances, such as jelly and honey. This is
achieved by creating springs dynamically between neighboring particles
and adjusting their rest length based on stretching/compression.
* This nearly completes the currently intended functionality for particle
fluids. The last missing thing is a surfacing extraction algorithm,
which is needed for a proper representation of a sph fluid.
* I also cleaned up and renamed some of the fluid parameters to make the
ui a bit easier to understand.
* One addition to the patch is an option to use "initial rest length" for
the springs, which uses the lengths between the particles at the time of
spring creation as the spring rest lengths instead of interaction radius/2.
This makes the fluid keep it's original shape better (good for very
viscoelastic materials), but can create large density differences inside
the fluid (not really physically correct for a fluid).
* Viscoelastic springs are stored in point cache as extra data.
+ changed lines connecting nodes:
they now use a linewidth of 1.5px for the light foreground and 4px for the dark background.
this should fix node-lines not being visible on almost black or all white backdrops.
+ muted nodes now also show a red tinted header if they are hidden (collapsed)
+ both active and selected nodes show a (now properly antialiased) highlighting frame
+ fixed a small error in dropshadow code resulting in a gap at borders
+ fixed a tiny error for the collapsing indicators (triangles) - they were not symmetrical.
Ton will add proper theme colors for the node-editor in the coming days.
* Not strictly necessary right now, but better for future.
* Struct data (only boids at the moment) is now written as structs (with dna) so they work between 64 and 32 bit machines too.
Actually a minor tweak:
Auto-IK fails on correcting for constrainted bones in chains.
For that reason it stops including constrainted bones for it.
Now it does include constraints with influence zero, or which
were disabled by user input.
(should have made this change along with the others).
Matrix([1, 2], [3, 4]) --> Matrix(([1, 2], [3, 4]))
This is so adding initialization args works right.
Also simplify initialization code (re-use slice assignment).
Improved report print for 'remove doubles' to make it correct english.
Unsure if this kind of code can survive though, static strings do much
better for future translation efforts.
Instead of providing nice grammar sentences, we could make it more
declarative, like:
"Removed vertex amount: %d".
Transform crash on autokey during animplay.
Transform event handling requires Context, for inserting keys.
Marked it with XXX warning; we have to be more careful with which
API calls require context; like inserting keys shouldn't need it?
Originally Context was meant for operators; to define user level
or scripted context, not for underlying APIs to work.
- this just toggled between different rotations, I can't find any references to this as a common operation to have with eulers.
- wasn't working at all nobody noticed, not used by any blender scripts/addons either.
* I've getting bad feelings about the point cache index_array for a while (cause for this bug too), so from now on memory cache uses a simple binary search directly on the index data to handle queries to specific data points.
* This is a bit slower than just checking from a dedicated array, but it's much less error prone, uses less memory and makes the code more readable too, so it's not a tough choice.
- Outliner: new scroll operator, PageUp PageDown scroll entire page now.
- 2D views (like buttons) PageUp PageDown now also scroll entire page.
(they used same step as scrollwheel before)
Python console crashed on opening.
Too quick code cleaning for "unused variables" caused a complete line
of code to disappear that was needed anyway :)
- Proportional circle size is printed in header
Allows you to find out if you make it smaller when it's large
- Proportional size is clipped with view3d clip-end now
- Added the size to rna, so you can inspect values via UI and py.
also removed unused vars.
can_pbvh_draw() had a NULL check which is never needed (callers check for this), a NULL ob would have crashed the function anyway.
More cleanups: moved a function declaration to the correct module,
removed old/incorrect comments, marked more things with TODO where
appropriate, refactored copy-pasted function, de-duplicated code.
More cleanups to the cursor drawing code; factored out another
sculpt-related function, replaced float calculations with bitwise
flags, removed unnecessary GL changes, de-duplicated some lines,
removed unused parameters, and added more comments.
This adds the "Apply Base" feature from my gsoc2010 branch.
Apply Base partially applies the modifier, in that the mesh is
reshaped to more closely match the deformed mesh. The upper-level
displacements are recalculated so that the highest multires level
appears unchanged.
Multires does not currently deal well with too large displacements.
An easy-to-reproduce example: create any mesh type, add multires,
subdivide a few times, then use the sculpt grab brush to drag the
entire mesh over a few units. At the highest level, and at level 0,
the mesh looks fine, but all of the intervening levels will have ugly
spikes on them.
This patch doesn't help with situations where you can't modify the
base mesh, but otherwise works around the problem fairly well (albeit
with a heuristic, not an exact solution.)