Commit Graph

717 Commits

Author SHA1 Message Date
8b7482892b made most variables which are only used in a single file and not defined in header static for blenlib, blenkernel and editors. 2011-02-14 17:55:27 +00:00
0955c664aa fix for warnings from Sparse static source code checker, mostly BKE/BLI and python functions.
- use NULL rather then 0 where possible (makes code & function calls more readable IMHO).
- set static variables and functions (exposed some unused vars/funcs).
- use func(void) rather then func() for definitions.
2011-02-13 10:52:18 +00:00
f7595e9882 Bugfix #26013
Good discovery this one. 
It appeared that "pose mode" changes were not registered in our undo system.
That way the first operator you try to redo after exit posemode fails.
2011-02-10 17:23:00 +00:00
5dffb64675 Bugfix [#26002] Outliner Visible layers + Single object & data = broke
conections

It seems that some of the Outliner hacks used while building the tree
was causing problems, as Make Single User (and potentially other code
working with ID-data, specifically with the "newid" value there) was
making use of the variable used there for other purposes, leading to
memory corruption.

This bug also occurred in 2.4x, though when I tested there, it crashed
immediately.

Ton, you may want to double-check this bug!
2011-02-10 10:14:12 +00:00
30ada8fdd3 fix [#26003] Twice applied modifier with Convert to mesh with several multi-user objects
convert_exec could do with a re-write, getting quite confusing.

update md5's for ctest results and some renaming in mesh_validate code.
2011-02-10 04:48:49 +00:00
97c57abfa3 fix [#25994] Meshes with no vertices gets NaN location on setting origin to geometry 2011-02-09 15:32:39 +00:00
9d6f9e74d4 Bugfix [#25814] ChildOf constraint: double transformation in object
mode with drivers

ChildOf constraints added using the PoseBone.constraints.new() method
via Python scripts instead of using the operator (this latter method
is still the preferred/recommended method) were not getting some
critical flags set, causing errors arising from space conversions
being performed more than once.
2011-02-08 05:51:20 +00:00
d454d6c6bc Bugfix: Constraint target validation code was broken
While testing Apply Visual transforms last night, I noticed that
setting a constraint to use its owner as its target was allowed and
didn't trigger any warnings. This clearly doesn't do any good and is
different from the old behaviour.
2011-02-07 23:21:28 +00:00
0d8416acc7 minor edits, no functional changes.
- BGE was getting MCol array and not using it.
- use list lookup functions for getting constraint from pose bone.
- use const char * in more places.
2011-02-07 22:48:23 +00:00
ea012a3340 Bug fix: adding force fields from the add menu didn't sort the depsgaph, so hair didn't update straight away to force field settings changes. 2011-02-07 11:55:24 +00:00
95df65f1b5 - some parts of the code to remove rotation were not removing axis/angle rotation (only functional change of this commit).
- use BLI_math functions for removing rotations from objects and pose channels.
- add unit_axis_angle() to avoid setting the Y axis inline anywhere rotation needs removing.
2011-02-02 00:40:55 +00:00
97002c2d90 Bugfix [#25876] bpy.ops.constraint.childof_set_inverse has no effect
This was a two-part bug: a user error + API error.
* User Error: before calling bpy.ops.constraint.childof_set_inverse()
for a constraint defined on a bone, you firstly need to explicitly
make that bone the active bone. To do that, you do
armature.bones.active = posebone.bone # or something similar

* API Error: active bone setting was a bit too strict. It only allows
setting the active bone if the new bone comes from the same armature,
but was overlooking the fact that RNA pointers may have been created
through the object using the armature instead.
2011-01-31 11:19:23 +00:00
89c617a116 remove nan-makefiles 2011-01-30 15:29:22 +00:00
abf483b947 Bugfix #25750
CTRL+L link modifiers (actually, it copies!) didn't call an update
for new dependencies.
2011-01-29 18:37:40 +00:00
ed5791bd0b - Clear rotation for objects now works on delta transforms too. The
only case that doesn't fully work yet is the one where quats/axis-
angle are converted to eulers first.
- Fixed incorrect comment
- Removed obsolete "armature_clear" var from clear origin operator.
This was some ancient stuff from 2.4x code that ended up getting
ported across...
2011-01-26 10:25:15 +00:00
fa84840c84 Refactoring object clear-transform operators to remove out the common
parts, like what was done for posechannel clear-transform operators
earlier. There shouldn't be any functional changes.
2011-01-26 09:27:43 +00:00
fa38da021c Some ui reorganization of the physics tab:
* Before the different simulations all had a panel with an "add this" button making the whole tab look really messy. It also rarely makes sense to have more than one or two physics things enabled for a single object, so having all the panels in the tab just added a great deal of visual clutter.
* Now there is a single "enable physics for" panel at the top that allows for enable/disable of any simulation. All actual physics panels are hidden until a simulation is enabled.
* There was no "add" button for force fields before, but I added a toggle between "none" and "force" to unify the ui even further.
2011-01-23 14:04:31 +00:00
c0e4c7bbc6 Bugfix #25761
Move-to-layer in 3D window didn't work for linked library objects.
That should be possible, as was in 2.49. Layer property is local.
2011-01-22 15:34:20 +00:00
799e9c48c1 comment dead code and fix 2 missing NULL checks (pointer used after NULL check and checking against incorrect pointer before use). 2011-01-22 03:50:09 +00:00
d9f7a05f2e bugfix [#25712] Deletion of vertex groups under script control causes incorrect reassignment of vertices in other groups
vgroup functions were mixing up active group and one passed as an argument.

also made other changes.
- removed superfluous call to defvert_find_index() in vgroup_delete_object_mode(), was also doing unnecessary NULL check on each loop.
- remove paranoid NULL check from ED_vgroup_vert_remove, callers all check for valid 'ob'
2011-01-21 05:09:32 +00:00
8cf1184c04 bad spelling; 'indicies' --> 'indices' 2011-01-18 01:58:19 +00:00
94b9d2da54 checking wrong null pointer in edit_modifier_poll_generic(). 2011-01-14 19:35:59 +00:00
8227b3d463 remove/comment unused vars
also removed unnecessary NULL checks (where the pointer was used later without checking).
2011-01-13 04:53:55 +00:00
70fefd81ea fix [#25600] Cannot add meta-object when in edit-mode 2011-01-12 14:08:11 +00:00
63018144ba remove redundant assignments & unused vars.
also minor functional changes
- OBJECT_OT_make_links_data() type property is now assigned to the operator property (so popup menu can find it)
- removing BG image now returns cancelled if no image is removed.
2011-01-12 03:41:12 +00:00
91db8f6012 add constraint operator
- 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.
2011-01-10 03:30:27 +00:00
3b74074aec remove unused code & variables. 2011-01-08 12:43:44 +00:00
473838aec9 Fix for bug [#21534] Multires modifier strange deformations
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.)
2011-01-07 21:12:47 +00:00
8f21a43535 split BKE_utildefines.h, now it only has blender specific defines like GS() MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h.
no functional changes.
2011-01-07 18:36:47 +00:00
57a3cff3b8 patch [#25440] Object.vertex_group fixin'
from Dan Eicher (dna) 

 From the tracker (with minor edits)
========================

cube = bpy.data.objects['Cube']
foo = cube.vertex_groups.new('foo')
foo.add([1,3,5,7], 1.0, 'ADD')

for i in range(len(cube.data.vertices)):
    try:
        weight = foo.weight(i)
        print('vert: %i weight: %f' % (i, weight))
    except:
        pass

foo.remove([1,3])

cube.vertex_groups.remove(foo)
2011-01-07 09:50:23 +00:00
5d74d65106 bugfix [#25519] particlesystem, type hair, hair dynamics enabled: crash with amount 0 2011-01-07 04:38:31 +00:00
a0b134cd88 bugfix [#25488] Game engine crash when try to run after blender app start
- also found other places where utf8 isnt ensured.
- remove duplicate NULL checks in object_edit.c
2011-01-06 05:04:07 +00:00
979742241f Bugfix, irc report:
Outliner: using the object-data icons to enter editmode, didn't
reset the toolbar Operator redo. It was not using an operator
call here. Note to self: more outliner tools don't...

Error was that operator-redo then would repeat an action incorrect.
2011-01-05 18:12:54 +00:00
64c3ea272e Todo item: linked curve objects behaves incorrect with modifiers
Use object's displists for storing deformed tesselated curve. Was unable to
totally get rid of curve's displist because of how texture space is calculating.
2011-01-05 10:40:38 +00:00
5d6c76c6a3 Spelling fix: itterator->iterator 2011-01-02 19:00:32 +00:00
1a8cc0a8f0 Small fixes:
- OpenGL still render failed when output format was set to Movie.
  Now it just doesn't save a file and renders anyway.
- Bone heat weight was missing 'wait cursor'.
- Waitcursor for Mac Cocoa is back! Made all OS's use the same
  nice hourglass cursor.

(Note: this violates Mac UI guidelines, we should rely on the 
spinning wheel of death instead. Highly disputable that.)
2010-12-27 18:54:43 +00:00
f543fe1500 Bugfix #25341
Child-of constraint issue: on adding, it wasn't checking owner
correctly for Bones, resulting in a constraint working in wrong
space; it looked as if transform was applied double when moving
the object. Only adding via Py API went wrong btw.

Also found a silly check for drawing constraints, which caused
constraint initialization to happen for every object on every
redraw!

Implementation note: con->flag CONSTRAINT_SPACEONCE was only used
for child-of constraints in Bones, so I've patched it on file
reading to always set the flag. Marked with XXX, so it can be
removed one day. Now at least things get corrected well for
imported armatures.
2010-12-23 13:16:56 +00:00
86b89af5dd use ICON_NULL define rather then 0, makes UI calls less confusing. (no functional change)
eg: uiItemR(row, &dvar_ptr, "type", 0, "", 0); -> uiItemR(row, &dvar_ptr, "type", 0, "", ICON_NULL);
2010-12-23 02:43:40 +00:00
5e382eb8e5 rename blenderlib to blender_add_lib 2010-12-22 23:09:30 +00:00
d0193b938d Bugfix #25312
"Make Local" option "Objects and Data" made materials get
lost on save, the tagging was incorrect. Now it makes 
Materials local too.

Implementation note: the code is new (not 2.4) so it misses
some of the hairy goodies we had. It's something for another
time to really make this reliably work.
2010-12-20 18:54:32 +00:00
96974a9575 bugfix [#25310] Twice applied modifier with Convert to mesh with several multi-user objects 2010-12-20 07:21:08 +00:00
686420b15d Option "Make Single user" now also makes animations local.
Note that the menu option "Animation" only was working for
Object level animations, so I've changed the many name
accordingly.
2010-12-19 13:50:31 +00:00
831684fd8f Fix compilation, obvious typo. 2010-12-19 01:55:07 +00:00
43af26fa41 Bugfix [#25291] Objects that should not have subsurface modifier have
it (eg cameras)

When trying to add a modifier to non-geometry objects, warnings are
now shown instead of just adding some (useless) modifiers that cannot
be removed later.
2010-12-19 01:14:57 +00:00
f90a2123ee no functional change: only check against OB_RECALC_ALL but don't use for assignment.
Makes adding new flags give ambiguous results and also makes it less easy to tell whats intended.
In some places it looks like OB_RECALC_TIME should be left out too.
2010-12-17 15:51:42 +00:00
e3a2622cb5 Small fix in error text returned from baking. 2010-12-13 17:23:03 +00:00
c85adcc2e4 Use mdisps layer from edit_mesh when adding/removing multires modifier
when object is in edit mode.
2010-12-13 10:24:05 +00:00
32d82da9e4 Bugfix #25183
Copy constraints pose mode: didn't update constraint flag to denote
colored bone drawing. Also notifier was missing for redraw.
2010-12-12 19:22:24 +00:00
b6c68777ad A little more work on patch [#24814] Operators which have no decription
submitted by Murat Egretli

Not actually a patch but talks about descriptions that are missing
and some small fixes that are needed.

Kent
2010-12-09 16:50:32 +00:00
de159a67aa - internal py/rna ifdef's USE_MATHUTILS was mixed up,
- updated tooltip for vertex group mirror.
2010-12-09 06:08:19 +00:00