Commit Graph

1653 Commits

Author SHA1 Message Date
Willian Padovani Germano
c40997656e Really minor updates related to code I wrote for the Cast modifier:
- modifier.c: moved a check out of a loop, removed an unneeded var, made a couple cosmetic changes.

- DNA_modifier_types.h: added parentheses to cast and smooth modifier defines that used bit-shifting (like 1<<1, etc.).

Note: realized they were needed when I tried to use "flag &= ~MOD_CAST_Z" in modifier.c. Since MOD_CAST_Z is #defined as 1<<3, ~MOD_CAST_Z ended up as ~1<<3 while I wanted ~(1<<3). There are other places in that header file and others in Blender where it'd be safer to add the parentheses...

- Updated the epydoc documentation for the features added by Ben Batt to the cast modifier; fixed small typo in API_intro.py.

BTW, thanks Ben Batt (artificer) for checking, improving with a couple features and committing these modifiers :).
2007-04-30 19:20:43 +00:00
Ben Batt
469208a101 Patch #6192 - Wave Modifier Option to move verts along normals
This patch adds an option to the wave modifier to displace along the normals
of the base mesh, rather than in the local Z direction.

Thanks to Michael Fox (mfoxdoggg) for the patch!
2007-04-30 16:49:12 +00:00
Ben Batt
0b66fe6a48 Patch #6582 - Weight groups in the wave modifier
This patch adds vertex group functionality to the wave modifier, allowing the
user to specify a vertex group with which to modulate the wave deformation.

Thanks to Michael Fox (mfoxdoggg) for the patch!
2007-04-30 15:20:05 +00:00
Matt Ebb
22e1a26681 * Small tweak - initialise mirror modifier to use X axis by default,
as it was previously.
2007-04-30 06:51:24 +00:00
Ben Batt
125c77bca3 Patch #6113 - Cast & Smooth modifiers
This patch adds two modifiers: Cast and Smooth.

The Cast modifier deforms vertices into a sphere, cylinder or cuboid shape.
The location and orientation of the projection shape can be controlled by a
specified control object.

The Smooth modifier smooths the mesh in a similar way to the Edit mode "Smooth"
button.

Thanks to Willian Padovani Germano (ianwill) for the patch!
2007-04-29 18:13:55 +00:00
Ben Batt
d0ac7ef087 Patch #6584 - Texture functionality in the wave modifier
This patch allows the user to use a texture to modulate the wave modifier's
amplitude.

Thanks to Michael Fox (mfoxdoggg) for the patch!
2007-04-29 16:15:50 +00:00
Ben Batt
f62f07734f Patch #5629 - Mirror modifier axis' to be toggleable
This patch makes the X, Y and Z axes of the mirror modifier individually
toggleable, so it is possible to mirror in more than one direction with a
single modifier.

Thanks to Juho Vepsäläinen (bebraw) for the patch!

NOTE: BLENDER_SUBVERSION has been incremented to support translation from old
      to new axis specification.
2007-04-29 14:00:30 +00:00
Campbell Barton
99135b0674 dont use tface hide or select anymore, since maintaining 2 sets of hide/select data for each face is annoying.
using mface->flag for both.

Also found that the cdDM_drawMappedFaces and cdDM_drawFacesTex_common could get normals mixed up when rendering hidden faces. because hidden/invisible faces used continue without advancing to the next normal.
2007-04-29 13:39:46 +00:00
Ton Roosendaal
243d1a28c0 Casting fixes for 64 bits. Incomplete commit, discussion on proper casting
has to be finished.
2007-04-29 10:49:02 +00:00
Jiri Hnidek
76c11ec9f7 - support for fake verse edges (subsurf modifier should work now)
- edges are generated from verse faces
   - no support for lose edge!
   - informations about edges aren't sent to verse server (other applications
     can't share edges with blender)
- better sending/receiving vertex position
2007-04-27 14:04:30 +00:00
Joshua Leung
01335fc7bb Bugfix:
Previous versions of Blender allowed Vertex Groups to be nameless, which
shouldn't be allowed. This caused problems with rigs from previous versions of Blender being loaded in 2.43+ versions, as the new VGroup feature for the
Armature modifier mis-identified these nameless group(s) as being the Vertex Group
to be used. As well as the checks done when renaming VGroups (from another commit), files created prior to and in 2.43 will have all such groups given default
names.

Code notes:
* I've moved the unique_vertexgroup_name function from src to blenkernel like for
 constraints
* Formatting in deform.c tidied up a bit
2007-04-27 11:16:35 +00:00
Ton Roosendaal
adae1a7b77 Bugfix:
Specular pass was excluded from Shaded drawmode, missing initialize of
new 'exclude passes from result' option. Bug in 2.43 release...

Added warning in code, ShadeInput is initialized here locally, need an API
call for it.
2007-04-26 09:01:37 +00:00
Campbell Barton
77f08ddc12 editface.c & buttons_logic.c & Draw.c & verse_session.c - added missing header
Bone.c - return an empty list rather then None for bone.children bone.getAllChildren()
Draw.c - per button callbacks are now have (event, value) passed
2007-04-24 17:28:40 +00:00
Campbell Barton
c7b1e5c11d export_fbx.py - support scene start/end frames, fpx, mist settings, better default camera writing.
BPyObject.py - function for getting an objects armature, look at both parent and modifier.
editmesh_add.c and BPyAddMesh.py - check for multires
filesel.c, Append/Link had a bug where files linked in, didnt have the LIB_APPEND_TAG unset, and appending these into a new blend file would link instead.
BKE_library.h, library.c - utility functions for flagging listbases flag_all_listbases_ids and and flag_listbase_ids
2007-04-20 18:48:30 +00:00
Jiri Hnidek
2857861023 Buf fix for #6571
- metaball_tree= NULL; was missing in code
2007-04-20 12:56:51 +00:00
Joseph Eagar
9c36683373 =ID Properties bugfix=
The array resizing function, meant to be used with strings, 
didn't work.  This  is because the id property size table 
had the wrong value for strings.
2007-04-19 22:49:48 +00:00
Ton Roosendaal
3f7bcc44ce Bugfix #6565
Nice discovery by Ralf (cheleb): crasher with colorband, caused by NULL
pointer reading. It actually reveiled a weakness in code too, the
buttonswindow context was not set appropriate when buttons window had not
a header...
2007-04-16 10:55:59 +00:00
Nicholas Bishop
16be2ce5ba == Multires ==
Possible fix for bug #6208, Blender crashes in sculpt tool

* make_orco_mesh_internal was using the render level rather than the pin level to create orcos

Note that since this bug never caused a crash on my system, I can't confirm that this fixes 6208.
2007-04-14 19:54:26 +00:00
Campbell Barton
0a0cf54a27 update to center view.
- Dont do anything if no verts or faces are selected (used to zoom into 0,0,0)
 - use the centers of dupli objects (should eventually use their bound boxes), much nicer when dealing with many dupli-objects
2007-04-14 13:18:24 +00:00
Robert Holcomb
26735a6670 Added gamma, fixed typos in brightness 2007-04-13 04:22:32 +00:00
Robert Holcomb
f7738575c9 Added brightness/contrast node 2007-04-13 03:23:39 +00:00
Ton Roosendaal
1b04ee899b Plumiferos report:
Compositor. New ESC feature did not work Ok for groups
2007-04-12 17:22:08 +00:00
Ton Roosendaal
ac8116c4b2 Bugfix #6549
Proxy for Armature: the proxy synchronize was missing local loc/rot/size
vectors, so local constraints did not work.
2007-04-12 08:19:28 +00:00
Ton Roosendaal
7f2abaa80c Plumiferos report (2.43 release bug):
Compsitor:
Making groups from Image nodes accidentally reveiled the hidden output
sockets (for when image has passes)
2007-04-11 17:49:08 +00:00
Ton Roosendaal
1b789314b6 Bugfix #6547
Constraint "limit location" was using type "No parent" without checking
a pointer for NULL, causing crashes on append.
2007-04-11 12:44:03 +00:00
Campbell Barton
76420c2fec appending libdata no longer breaks all external references.
Existing data is flagged with LIB_APPEND_TAG and all_local only has an option to only operate on un-flagged data.

If you append an object thats linked to a material alredy linked in your scene, the material will not be made local.
So at worst youll need to make local some of the datablocks.

This is fairly simple and though my tests show it to work, do some tests on your own libraries before assuming its problem free.


scripttemplate_mesh_edit wasnt updated with PyAPI changes and moved some functions into generic places.
2007-04-07 17:35:47 +00:00
Joshua Leung
655f9a61de == Clamp-To Constraint (was Patch #4818) ==
This (new) constraint limits the location of an object/bone to the range of locations
on a given curve. It works by comparing the location of the owner on one axis, to
the extents of the curve's bounding-box on the same axis, to find the location on
the curve.

Usage Notes:
* 'Ob:' field must point to a valid curve object
* This curve should have 'Path' turned on in order for this constraint to work. You
don't really need to do this as it will be taken care of by the code.
* 'Auto' toggle automically determines which axis should be used for the distance estimations/calculations. It is the default option, but may not work that well for
some cases.
* X/Y/Z toggles can be used to select the axis to use for these calculations. Try
to choose the axis along which the curve stretches out for most.

Python Notes:
Python API access for this constraint is not included in this commit. Will be coming
soon.
2007-04-07 03:32:57 +00:00
Campbell Barton
6a684948fa All data in blender's libBlock linked lists are supposed to be sorted but in some cases wernt.
The problem was that new ID's that didnt have any naming collisions whould not run sort_alpha_id, which lead to most images not being sorted.

Simple fix is to make sort_alpha_id run on all new ID's. but we need to make sure all data is kept sorted. maybe a check when running in debug mode would help.
2007-04-06 10:08:48 +00:00
Nathan Letwory
fb0f61c0b0 === Node editor ===
* refactor copying and freeing of node->storage by handlerizing them.
  - freestoragefunc
  - copystoragefunc
  - node_util.c/h have generic handlers for these.
2007-04-04 13:58:12 +00:00
Campbell Barton
afdd54fa37 moved source and text to american spelling
* colour -> color
* centre -> center
* normalise -> normalize
* modelling -> modeling
2007-04-04 13:18:41 +00:00
Ton Roosendaal
6057fc7186 Bugfix:
Freeing memory for node typedefinitions should be not in usiblender.c (that
is for UI-only stuff) but in kernel.
2007-03-31 18:18:30 +00:00
Ton Roosendaal
054c471a04 Bugfix #6419
When adding images, there was no check if image file was a directory.
Result was an Image without name even. Fixed!
2007-03-29 12:42:30 +00:00
Ton Roosendaal
0b7d7e07c6 Bugfix #6312
When saving files (images), the filewindow was giving relative paths on
a save-over menu.

Also: added in group.c a note about problems with timeoffset.
2007-03-29 10:09:44 +00:00
Ken Hughes
b8e425af7c Revisions to previous change of new_id().
Note: the intent of the original modification (and these updates) is not to
change how new_id() functions.  What has been done is to pull out the code
which calculates a new name for an ID in the case of duplicate, as would
happen when you copy any datablock, into a separate function.  This code is
necessary in the new Python Library module, since it otherwise is extremely
difficult to locate a new datablock appended from a library.  new_id() calls
this separate function to generate a name for the new ID if necessary, just
as it previously did.

To make the purpose of this new function clearer, I renamed it
check_for_dupid() and added more extensive comments.  I repeat, it's not
meant to be a substitute for new_id().
2007-03-29 04:55:29 +00:00
Ton Roosendaal
1ba9226903 Option "New" in editbuttons, material panel, did not create a new unique
Material, but relinked the active. Was an old confusing annoying actually.
(And not useful, when do you want 2 material indices with same material?)

Now the 'new' duplicates material, if there is an active material.
2007-03-28 19:47:59 +00:00
Ton Roosendaal
f5b919e12e Long wanted feature; decent ESC processing in composite nodes.
Works simple; just check for

		if(node->exec & NODE_BREAK)
			break;

The main process (node processor) sets such a flag, checking for esc
20 times per second. That means you can check for ESC while doing image
processing without much cpu overhead.

Currently only added in blur nodes and defocus. Needs to be added all over,
nice for others... needs careful tests too.

What we now could do is even calling ESC on editing commands or mouseclicks
in composite editor? Could give user feeling of interactive app :) Further,
finished nodes are kept in memory anyway.
2007-03-28 13:48:01 +00:00
Robert Holcomb
39ef0f4eba moved node_shader_lamp_loop to node.c and put an extern declaration in BKE_node.h to prevent multiple definition link errors. 2007-03-28 13:07:59 +00:00
Kent Mein
80237ceff9 patch to get cmake working with nodes now. Provided by Genscher.
I still have linking issues with it but it is better as is so I'm
commiting it.  Hopefully will have it fixed fully shortly.

Kent
2007-03-27 18:34:57 +00:00
Campbell Barton
66238eab7c PyAPI
curve - added curve_type() to return the curve type
BPyModule & gen_library - works with text3d now, can also make new text3d through bpy.curves.new
Added Draw.Label() so scripts can draw can using freetype.
widgetwizard - use Draw.Label
2007-03-27 11:37:54 +00:00
Ton Roosendaal
5c760e4811 Changed node type definitions to use a dynamic list.
This will allow python or plugin defined nodes to work as well.
(And fixes compile issues with MSVC in yesterdays commit for nodes)

Code provided by Nathan L.
Fixes in his code:
- free_nodesystem() was called too late (after guarded alloc was closed)
- free_nodesystem() was freeing nodes that were not malloced even
- free_nodesystem was using free, not freeN :)
- the typedefs needed to be malloced yes, to allow duplicate nodes like
  group but also for dynamic nodes.
2007-03-26 15:07:38 +00:00
Ton Roosendaal
d1315a342d Bugfix: function new_id() was allowed to be called with NULL.
Caused by Ken Hughes commit of 5 days ago

Note; dup_id() will go away, is not according to Blender spec.
2007-03-26 13:02:43 +00:00
Robert Holcomb
c1e9018118 All UI code reverted to drawnode.c 2007-03-25 23:54:39 +00:00
Robert Holcomb
066ac348e9 updated for nodes system 2007-03-24 21:06:23 +00:00
Robert Holcomb
cdd8475835 These gots to go. 2007-03-24 18:48:56 +00:00
Robert Holcomb
808a5fc05a Scons build system. MSVC 7.1 in a moment. 2007-03-24 18:41:54 +00:00
Joshua Leung
269e943d58 == Copy Location Constraint ==
I've added two new options for this constraint:
* Copy Bone Tip Location
* Apply owner's location on top of copied location ('Offset')
2007-03-24 03:00:54 +00:00
Ton Roosendaal
bc31d61c3b patch 5341 by Juho
This adds option to show camera angle instead of camera lens value.
(Complete revised patch...)
2007-03-23 13:12:11 +00:00
Ken Hughes
3a834803ef Python API
----------
Support for new bpy.libraries module, which is being proposed to replace
the Blender.Library module.
2007-03-21 02:23:28 +00:00
Ton Roosendaal
e706ce0228 The function to get a Material didn't correctly check for object types.
(bug reported by Campbell via irc)
2007-03-20 15:34:00 +00:00
Alfredo de Greef
1ebc28bead Minor modification of foreground processing code in the defocus node.
Now uses a fixed value instead of a value based on the closest object.
Should eliminate sudden jumps in blur amount from frame to frame when used
in animations.
2007-03-20 06:50:39 +00:00