blender.git
14 years agoScons update for today's earlier boolean commit.
Ken Hughes [Fri, 8 Sep 2006 02:36:44 +0000 (02:36 +0000)]
Scons update for today's earlier boolean commit.

14 years agoFix to enable copying of the vertex group field for the Curve, Lattice,
Ben Batt [Fri, 8 Sep 2006 01:05:57 +0000 (01:05 +0000)]
Fix to enable copying of the vertex group field for the Curve, Lattice,
Armature and Hook modifiers, and the flag field for the Mirror modifier. These
modifiers should all be copied correctly now.

This fix also means that converting modifiers to mesh with Alt-C now works
correctly (the convertmenu function copies the modifers before applying them,
so it wasn't always giving correct results for the above modifiers before).

The convertmenu function has also been changed to use DM_to_mesh instead of
converting to DispListMesh and using displistmesh_to_mesh, which means that
extra mesh data such as dverts is preserved.

14 years agoUpdated boolop Makefile so that it can find various headers it needs now.
Kent Mein [Thu, 7 Sep 2006 18:09:55 +0000 (18:09 +0000)]
Updated boolop Makefile so that it can find various headers it needs now.

Kent

14 years ago===Tools===
Ken Hughes [Thu, 7 Sep 2006 17:22:57 +0000 (17:22 +0000)]
===Tools===
Experimental boolean tool optimization: for very large meshes a significant
amount of time is spend performing linear searches of edges.  This patch
implements a "hash" table (really more of a bucket table) to narrow the
search space.

If someone should need to disable this, just remove the "#define HASH" at
the beginning of BOP_Mesh.h

14 years agoremoved inverted and normalized from py scripts
Campbell Barton [Thu, 7 Sep 2006 14:15:10 +0000 (14:15 +0000)]
removed inverted and normalized from py scripts

14 years ago- Bugfix: fake user button in the texture paint panel toggled the mesh
Brecht Van Lommel [Thu, 7 Sep 2006 09:17:06 +0000 (09:17 +0000)]
- Bugfix: fake user button in the texture paint panel toggled the mesh
  datablock fake user.

14 years agoFix for bug #4966:
Brecht Van Lommel [Thu, 7 Sep 2006 08:15:15 +0000 (08:15 +0000)]
Fix for bug #4966:
Texture painting handled non-planar quads incorrectly in some cases.

14 years agoTwo bugfixes.
Ben Batt [Thu, 7 Sep 2006 06:44:25 +0000 (06:44 +0000)]
Two bugfixes.

My commit to fix weightpaint display (revision 1.125 of DerivedMesh.c) broke
normal recalculation for meshes which have only deform modifiers applied.
This commit fixes that by adding calls to CDDM_calc_normals in the appropriate
places.

The DM_from_template and DM_init functions checked for numVerts > 0 before
initialising the DerivedMesh's custom data layers. This was something of a
hack intended to allow DerivedMesh creation functions to initialise default
function pointers without initialising custom data layers (by passing a 0 for
the numVerts parameter). It is unneeded now that DM_init_funcs is present, and
causes memory deallocation warnings later on when the number of vertices
really is 0, so it has been removed.

14 years agoAdded support for threadsafe MEM_mallocN/MEM_freeN in the guardedalloc
Brecht Van Lommel [Wed, 6 Sep 2006 19:13:23 +0000 (19:13 +0000)]
Added support for threadsafe MEM_mallocN/MEM_freeN in the guardedalloc
module itself, replacing the special MEM_mallocT/MEM_freeT functions.
Mutex locking is only enabled when threads are running.

There was no good reason to have these separate, it just led to ugly
hacks when calling functions with non-threadsafe malloc from threads.

14 years ago- Fix a display glitch with float image painting and undo.
Brecht Van Lommel [Wed, 6 Sep 2006 18:54:06 +0000 (18:54 +0000)]
- Fix a display glitch with float image painting and undo.
- Fix a crash with float images texture mapped onto meshes, it didn't
  always do conversion from float to byte before uploading to OpenGL.

14 years agoFix for new orco-tangent render option: then also 'orco' texture
Ton Roosendaal [Wed, 6 Sep 2006 17:32:53 +0000 (17:32 +0000)]
Fix for new orco-tangent render option: then also 'orco' texture
coordinates should be calculated... it wouldn't work unless you assign
a texture to a Material using 'orco' map.

14 years agoAdded tangent_v and tangent space modes to python material modes.
Campbell Barton [Wed, 6 Sep 2006 13:15:05 +0000 (13:15 +0000)]
Added tangent_v and tangent space modes to python material modes.
removed polyfill from Mathutils docs

14 years agoNew feature: imporant missing option for use of Libraries: access to to the
Ton Roosendaal [Wed, 6 Sep 2006 09:51:30 +0000 (09:51 +0000)]
New feature: imporant missing option for use of Libraries: access to to the
file path where library is read from.

In Outliner, choose new view mode "Libraries". A ctrl+click on the library
name then allows to change the file name or path. Note that when you change
the file name, nothing is being re-read or re-linked. Only after saving the
.blend file and reading it back the new library is used.

This feature allows to cleanup library usage. You can make files relative,
or reorganize a project. Just keep in mind that you cannot use this feature
to fix .blend files that link to non-existing other files. That because the
lost data is actually not read at all, so cannot be saved either.

Currently, library errors are only printed in the console... quite
important to keep track of when using Libraries.

Implementation note: this Outliner view mode can become expanded to a full
"Database view", showing something similar as SHIFT+F4 databrowse does now.

14 years agoNew stuff!
Ton Roosendaal [Tue, 5 Sep 2006 13:28:59 +0000 (13:28 +0000)]
New stuff!

- Tangent vectors now can also be derived from orcos (No UV needed)
- Normalmaps now properly support tangent space as well
  (Patch provided by Alfredo de Greef)

Full log is here:
http://www.blender3d.org/cms/New_Render_features.774.0.html

14 years agoRedesigned the EdgeSplit modifier's splitting algorithm to be better
Ben Batt [Tue, 5 Sep 2006 13:15:55 +0000 (13:15 +0000)]
Redesigned the EdgeSplit modifier's splitting algorithm to be better
structured and more maintainable. The old algorithm could leave the mesh in an
inconsistent state during recursive calls, making it quite fragile. The new
algorithm keeps the mesh in a consistent state, and should be more robust.

This commit fixes the issues EdgeSplit was having with non-manifold meshes
(bug #4946, also reported by several other people). EdgeSplit now works
correctly with all the test files I have.

This commit also fixes the BLI_ghash_remove function to correctly decrement
gh->nentries (the number of entries in the hashtable) on a successful removal.

14 years ago - bug fix: vertex and polygon layers needn't to exist in some situations
Jiri Hnidek [Tue, 5 Sep 2006 09:28:46 +0000 (09:28 +0000)]
 - bug fix: vertex and polygon layers needn't to exist in some situations

14 years agoAlignment of button "Auto tex space" broke with commit for vertex groups.
Ton Roosendaal [Tue, 5 Sep 2006 08:38:30 +0000 (08:38 +0000)]
Alignment of button "Auto tex space" broke with commit for vertex groups.

14 years ago* add missing WITH_BF_VERSE to config files for completeness. Reported by Emanuel...
Nathan Letwory [Tue, 5 Sep 2006 08:36:42 +0000 (08:36 +0000)]
* add missing WITH_BF_VERSE to config files for completeness. Reported by Emanuel Greisen.

14 years agoresolved invalid bounding box from the object by freeing a new meshes bounding box.
Campbell Barton [Tue, 5 Sep 2006 06:45:39 +0000 (06:45 +0000)]
resolved invalid bounding box from the object by freeing a new meshes bounding box.

added back bound box constraint to obj import (many OBJs have values outside the defulat clipping range)

BPyRender.py was missing a flag assignment.

14 years agofixed bug in contact manifold generation, concave and compound objects require point...
Erwin Coumans [Tue, 5 Sep 2006 04:16:35 +0000 (04:16 +0000)]
fixed bug in contact manifold generation, concave and compound objects require point with deepest penetration.

14 years ago==blender2cal3d update==
Tom Musgrove [Mon, 4 Sep 2006 21:33:02 +0000 (21:33 +0000)]
==blender2cal3d update==

unneeded line in the script was keeping it from showing up in the menus

14 years agoBug #4949
Ton Roosendaal [Mon, 4 Sep 2006 14:43:31 +0000 (14:43 +0000)]
Bug #4949

RVK sliders only worked up to 64 shape keys, above that internal memory
screwed up because it used a static array.
Should really be coded nicer once, until then I've moved the max to 256
and secured code that it doesn't draw sliders beyond 256.

14 years agoBug #4958
Ton Roosendaal [Mon, 4 Sep 2006 13:05:20 +0000 (13:05 +0000)]
Bug #4958

Ipo Window, Shape keys, the colored 'select buttons' were off 1.

14 years agoBug #4959
Ton Roosendaal [Mon, 4 Sep 2006 12:48:25 +0000 (12:48 +0000)]
Bug #4959

Ipo Window: hotkey for "Join" should be Cltr+J, no J.

14 years agoremoving old obj importer
Campbell Barton [Mon, 4 Sep 2006 04:25:24 +0000 (04:25 +0000)]
removing old obj importer

14 years agorewrite of the obj importer,
Campbell Barton [Mon, 4 Sep 2006 04:23:55 +0000 (04:23 +0000)]
rewrite of the obj importer,
The original obj importer was ok but it gradually got slower
as it had to support quirks of rare files.

This importer supports these quirks without bad workarounds and ~250 less lines.

* Moved from NMesh to Mesh
* Import smooth groups as hard edges
* Import Lines from sketchup (Thanks Wavk)
* Uses less memory
* faster (On a 70meg poser test model, benchmarked from 130sec to 41.2sec)

Not yet supported from the old importer-
* Scaling down to a bounding area
* Importing multiple obj's at once
* Using existing materials in the .blend
* Importing as a group instance.

14 years agoAnimation department feature request: support for vertex groups in Lattices
Ton Roosendaal [Sun, 3 Sep 2006 12:16:14 +0000 (12:16 +0000)]
Animation department feature request: support for vertex groups in Lattices

In a quick glance: (temp image)
http://www.blender.org/bf/rt.png

Main reason is that Lattices are useful a lot for Armature deformation.
Lattices just provide much more precise and interesting control. However,
with only bone envelopes it's very hard to use.

Working with Lattice vertex groups is nearly identical to Mesh:
- on CTRL+P 'make parent' you can choose the deform option now
- In editmode, the buttons to control vertex groups are available
- In outliner you can select vertexgroups too
- Deforming Lattices with Armatures has all options as for Mesh now.

Note:
- No WeightPaint has been added yet. To compensate, the editmode
  drawing for a Lattice with vertex group shows weight values for the active
  vertex group.
- Lattice editmode doesn't undo/redo weight editing yet.
- Softbody for Lattice still uses own vertex weights

Implementation notes:
- derivedmesh weight_to_rgb() is now exported to drawobject.c
- been doing cleanups in code (order of includes, var declarations, etc)
- weightpaint button handling now is generic

I've checked on Brecht's proposal for Custom Element data;
http://mediawiki.blender.org/index.php/BlenderDev/CustomElementData
It could have been used, but that would mean the existing code for
vertexgroup handling and armature deform couldn't be re-used. I guess this
is really a later todo.

14 years ago'Better' cleaning for bullet (trickier to clean than most, since it is two
Chris Want [Fri, 1 Sep 2006 22:00:29 +0000 (22:00 +0000)]
'Better' cleaning for bullet (trickier to clean than most, since it is two
libraries split among many subdirectories).

14 years ago* add debug flag so debug symbols are actually created when doing a 'scons BF_DEBUG=1'
Nathan Letwory [Fri, 1 Sep 2006 13:04:33 +0000 (13:04 +0000)]
* add debug flag so debug symbols are actually created when doing a 'scons BF_DEBUG=1'

14 years ago* change Python version from 2.3 to 2.4, since it is a requirement for Blender anyway...
Nathan Letwory [Fri, 1 Sep 2006 07:06:55 +0000 (07:06 +0000)]
* change Python version from 2.3 to 2.4, since it is a requirement for Blender anyway. Thanks to kalabalik for pointing out.

14 years agoAnother struct in struct declartion in SDNA, also causing crashes.
Brecht Van Lommel [Thu, 31 Aug 2006 18:03:42 +0000 (18:03 +0000)]
Another struct in struct declartion in SDNA, also causing crashes.
Bug found and solved by Jens, thanks.

14 years agoAdds groupTarget get/setters to the NLA API. Takes an object and returns an
Roland Hess [Thu, 31 Aug 2006 16:30:14 +0000 (16:30 +0000)]
Adds groupTarget get/setters to the NLA API. Takes an object and returns an
object. groupTarget tells the animation system which object within a
dupligroup should be used for NLA. Equivalent to filling in the "target"
field in the NLA N-key panel.

Set groupTarget to None to remove the target.

Also, cleaned up some bad copy and pastes in existing NLA docs.

Also, cleaned up some bad copy and pastes in existing NLA docs.

14 years agoRender feature request:
Ton Roosendaal [Thu, 31 Aug 2006 10:36:45 +0000 (10:36 +0000)]
Render feature request:

Auto-clip Lamp Buffer

Setting a good range for clipping start/end for Lamp buffers is important
for good quality shadow (depth details). That can be quite a hassle, when
many lamps or animated objects are involved.

This option allows to have the clipping range calculated based on the
visible vertices in the spotbundle. For clip start and clip end it can
be set individually. Typically the clip start defines quality most.

The shadow buffer 'bias' value is corrected for this automatic clipping
too, to ensure that ranges that differ give same biasing appearance.
(If this wasn't done, you would see lighted areas become darker or
lighter, or even artefacts, when the range changes suddenly

NOTE: since it only checks for vertices, be aware that large planes can
give errors.

Implementation note: zbuffer values are non-linear (1/z) because that
allows linear interpolation while filling scanlines. That's the main
reason for the precision to be highest close to the eye (or lamp).
It's even a useful feature, since you want details to be precise
when they're closeby.
Since these values are also in the -1 to 1 range, using floats here
wouldn't solve problems a lot. Maybe trying a 64 bits Z once might
be an interesting coding job.

14 years agoadded .sel to pose bones as well as read only .parent property
Campbell Barton [Thu, 31 Aug 2006 09:26:49 +0000 (09:26 +0000)]
added .sel to pose bones as well as read only .parent property

14 years agoadded the option to draw sharp edges.
Campbell Barton [Thu, 31 Aug 2006 06:03:24 +0000 (06:03 +0000)]
added the option to draw sharp edges.
had to make some room in the "Mesh Tools 1" panel,
removed "Center" - its alredy in the "Mesh Tools" panel, and grouped the "Normal" draw buttons.
At the moment mixing modes dosnt work, we will need to review this to see if its worth attempting.

14 years agoupdated aabb calculation
Erwin Coumans [Wed, 30 Aug 2006 22:35:03 +0000 (22:35 +0000)]
updated aabb calculation

14 years ago===Python API===
Ken Hughes [Wed, 30 Aug 2006 21:45:27 +0000 (21:45 +0000)]
===Python API===
Fix uninitialized pointer bug in ActionStrips.remove(), caused by too zealous
code optimization and insufficnet gcc warning flags.  Thanks to Roland for
catching it.

14 years agoAdds toggle to Object API for enabling NLA animation versus active Action
Roland Hess [Wed, 30 Aug 2006 15:22:19 +0000 (15:22 +0000)]
Adds toggle to Object API for enabling NLA animation versus active Action
animation. Object.enableNLAOverride=True sets to use NLA;
Object.enableNLAOverride=False sets to use active Action;
status=Object.enableNLAOverride shows current status

14 years agoFix for a bug where the Array modifier would freeze if it was set to "Fit To
Ben Batt [Wed, 30 Aug 2006 11:10:04 +0000 (11:10 +0000)]
Fix for a bug where the Array modifier would freeze if it was set to "Fit To
Curve Length" or "Fixed Count" and the base mesh was scaled to 0 in edit mode
(could also happen while entering a numerical scale value like 0.25).

The problem was that the dist value could be almost 0, leading to a
ridiculously large duplicate count which would then cause memory allocation
to fail and the array modifier to get stuck in an almost infinite loop trying
to calculate the offset of the final copy. This commit fixes the problem
by checking that dist is greater than FLT_EPSILON before continuing.

14 years ago - bug fix: mesh object is created corectly after unsubscribing from
Jiri Hnidek [Wed, 30 Aug 2006 10:55:46 +0000 (10:55 +0000)]
 - bug fix: mesh object is created corectly after unsubscribing from
   geometry node
 - merged patch from Ben Batt, subsurf modifier still doesn't work ...
    I will add list of edges to VGeomData structure
 - added some missing derivedmesh methods after merging of ben's gsoc
   projects

14 years agoFix for Brecht's commit to include the active Brush in ToolSettings, seems
Ton Roosendaal [Wed, 30 Aug 2006 10:43:51 +0000 (10:43 +0000)]
Fix for Brecht's commit to include the active Brush in ToolSettings, seems
to cause crashes on loading files.

Struct toolsettings was defined with a struct definition inside of a struct
definition... something I'm pretty sure our SNDA doesn't have support for.

14 years agoFixed a bug where applying a modifier to a Curve or Surface object did not
Ben Batt [Wed, 30 Aug 2006 09:23:36 +0000 (09:23 +0000)]
Fixed a bug where applying a modifier to a Curve or Surface object did not
remove the modifier.

14 years agomsvc6 still builds :)
Jens Ole Wund [Wed, 30 Aug 2006 07:43:54 +0000 (07:43 +0000)]
msvc6 still builds :)

14 years agoFix for bug #4912: Interface freeze with scaling object with subsurf + array
Ben Batt [Wed, 30 Aug 2006 07:35:19 +0000 (07:35 +0000)]
Fix for bug #4912: Interface freeze with scaling object with subsurf + array
modifier.

The bug was caused by an endless loop in the Array modifier's calc_mapping
function. The loop worked under the assumption that there could not be sets
of vertices such that (for example) vertex A merges with vertex B and vertex
B merges with vertex A. As it turns out, this situation is possible, so the
loop got stuck going from A to B to A to B ad infinitum.

This commit fixes the problem by limiting the number of loop iterations with
the copy number for which the mapping is being calculated. This should also
give more correct results in general.

14 years agoMy modifier stack commit broke weightpaint display for meshes with TFace
Ben Batt [Wed, 30 Aug 2006 03:05:30 +0000 (03:05 +0000)]
My modifier stack commit broke weightpaint display for meshes with TFace
data, due to the temporary "Weight-coloured" TFace data being replaced by
the original before displaying. This commit fixes that by changing the type
of DerivedMesh calculated by mesh_calc_modifiers when no non-deforming
modifiers are applied from MeshDerivedMesh (which depends on the original
Mesh) to CDDerivedMesh (which doesn't depend on the original Mesh).

14 years agoGot a license from Intel for VTune, thanks! First performance analysis showed unexpec...
Erwin Coumans [Tue, 29 Aug 2006 23:27:27 +0000 (23:27 +0000)]
Got a license from Intel for VTune, thanks! First performance analysis showed unexpected slowdown due to island management. Added path-compression to UnionFind, and iterate just over island-id's, rather then all objects, when filling islands.

14 years agoPossible bugfix: change on Aug 20th added this code to filesel.c:
Ken Hughes [Tue, 29 Aug 2006 23:24:57 +0000 (23:24 +0000)]
Possible bugfix: change on Aug 20th added this code to filesel.c:

  if (!G.relbase_valid) {
    okee("You have to save the .blend file before using relative paths! Using absolute path instead.");
    sfile->flag & ~FILE_STRINGCODE;
  }

I assume the code should read:

    sfile->flag &= ~FILE_STRINGCODE;

Andrea: please double-check.

14 years agoSilly mistake, made adding edges raise an exception.
Campbell Barton [Tue, 29 Aug 2006 23:05:13 +0000 (23:05 +0000)]
Silly mistake, made adding edges raise an exception.

14 years agoCritical typo identified by a co-worker of Klowner (reported on IRC)
Chris Burt [Tue, 29 Aug 2006 22:16:34 +0000 (22:16 +0000)]
Critical typo identified by a co-worker of Klowner (reported on IRC)

14 years agoPatch #4199 (by David Millán, rewritte though)
Ton Roosendaal [Tue, 29 Aug 2006 14:32:06 +0000 (14:32 +0000)]
Patch #4199 (by David Millán, rewritte though)

Compositor: Rotate Node
It only delivers RGBA buffers for now. Also Image size is unaltered, so
parts get cropped away. Doesn't work with translation Node before this
node yet.

14 years agoDisabled some unused debugging functions that were causing unnecessary
Ben Batt [Tue, 29 Aug 2006 12:49:49 +0000 (12:49 +0000)]
Disabled some unused debugging functions that were causing unnecessary
compile warnings.

14 years agoRecoded version of patch #4273, submitted by Daniel Genrich
Ton Roosendaal [Tue, 29 Aug 2006 10:27:48 +0000 (10:27 +0000)]
Recoded version of patch #4273, submitted by Daniel Genrich

This provides a weight-paint option that only paints on vertices that have
already the weight-group assigned before. The default adds weights on all
vertices painted on.

Fixes in patch include:
- much less code
- also support for 'filter' mode
- proper code styling

14 years agoadded sharp edge to python edge flags
Campbell Barton [Tue, 29 Aug 2006 10:04:10 +0000 (10:04 +0000)]
added sharp edge to python edge flags

14 years agoImproved tri to quad converting.
Campbell Barton [Tue, 29 Aug 2006 09:43:38 +0000 (09:43 +0000)]
Improved tri to quad converting.
added include to poseobject.c

14 years agoCommented out user incrementing while linking to a scene while testing that I forgot...
Campbell Barton [Tue, 29 Aug 2006 06:04:10 +0000 (06:04 +0000)]
Commented out user incrementing while linking to a scene while testing that I forgot to remove.
also shut GCC // comments to /**/

14 years agoChanged the Displace modifier to calculate the intensity of a texture from
Ben Batt [Tue, 29 Aug 2006 00:50:00 +0000 (00:50 +0000)]
Changed the Displace modifier to calculate the intensity of a texture from
RGB values if they are returned by the texture function. This fixes an issue
reported by several people where Image textures gave no displacement unless
CalcAlpha was turned on.

14 years agoAdded a VGroup input to the Armature modifier. This allows the user to specify
Ben Batt [Mon, 28 Aug 2006 21:56:58 +0000 (21:56 +0000)]
Added a VGroup input to the Armature modifier. This allows the user to specify
a vertex group which will modulate the influence of all bones in the armature.

This commit also tidies up the height of the modifier panels; they should all
have the same size margin now.

14 years agoAdded a BKE_bad_level_calls.h stub for NewBooleanDerivedMesh(). This fixes the
Ben Batt [Mon, 28 Aug 2006 16:22:55 +0000 (16:22 +0000)]
Added a BKE_bad_level_calls.h stub for NewBooleanDerivedMesh(). This fixes the
"undefined reference to NewBooleanDerivedMesh" error when building with make
(reported on IRC by Desoto, confirmed by Genscher2).

14 years agoold patch for palifimos guys, extra options to selects which constraints to copy...
Campbell Barton [Mon, 28 Aug 2006 13:53:45 +0000 (13:53 +0000)]
old patch for palifimos guys, extra options to selects which constraints to copy with the pose bones.

14 years agobugfix #4812
Ton Roosendaal [Mon, 28 Aug 2006 09:30:33 +0000 (09:30 +0000)]
bugfix #4812

Quicktime reading for Macs: code that converted ARGB to RGBA was endian
sensitive. Didn't work for Mac intel systems.

14 years agoPatch #4043 Bullet scons fix (Joseph Eagar, aka joeedh)
Nathan Letwory [Mon, 28 Aug 2006 08:52:39 +0000 (08:52 +0000)]
Patch #4043 Bullet scons fix (Joseph Eagar, aka joeedh)

* This is a simplified SConscript for Bullet building. It should keep itself better
 up-to-date since it uses env.Glob(). Tested to work on Linux and Windows (both mingw and vc)

/Nathan

14 years agoupgraded Bullet rigidbody physics to latest version 1.9
Erwin Coumans [Mon, 28 Aug 2006 06:44:29 +0000 (06:44 +0000)]
upgraded Bullet rigidbody physics to latest version 1.9

14 years ago===Python API===
Ken Hughes [Mon, 28 Aug 2006 04:44:16 +0000 (04:44 +0000)]
===Python API===
New API for accessing surface data (SurbNurb type).  Right now it's hooked in
through the Curve API, since Curve.Get() doesn't differentiate between curves
and surfaces.  If the curve object is 2D (pntsv > 1), the SurfNurb object is
created.

It is similar to the CurNurb type but not identical.  There are only
attributes and no methods yet, and the only methods which will be added are
the non-getStuff/setStuff kind.  Read the documentation to see how it works
(sorry, no examples yet).

This is a work in progress.  Don't be surprised if the API changes some more.

14 years agofixed a crash in selecting edges based on face angle with some hidden edges.
Campbell Barton [Mon, 28 Aug 2006 03:14:54 +0000 (03:14 +0000)]
fixed a crash in selecting edges based on face angle with some hidden edges.

14 years agoIntegration of the Google Summer of Code Modifier Stack Upgrade project. The
Ben Batt [Mon, 28 Aug 2006 01:12:36 +0000 (01:12 +0000)]
Integration of the Google Summer of Code Modifier Stack Upgrade project. The
main features are:
* Modifiers can now be in any order in the modifier stack
* DerivedMesh now has a standard framework for custom element data to be passed
  through the stack with mesh data (being copied and interpolated as
  appropriate), so modifiers can access whatever data they need
* The modifier stack code has been refactored and a number of bugs have been
  removed
* The EdgeSplit modifier has been added:
  http://mediawiki.blender.org/index.php/BlenderDev/EdgeSplitModifier
* The DerivedMesh modifier has been added:
  http://mediawiki.blender.org/index.php/BlenderDev/DisplaceModifier
* The UVProject modifier has been added:
  http://mediawiki.blender.org/index.php/BlenderDev/UVProjectModifier

For more info, see:
http://mediawiki.blender.org/index.php/User:Artificer/ModifierStackUpgrade
(currently undergoing reorganisation)

14 years agoAdded scn.objects.new(obbdata) as a way of adding object data to a scene and createin...
Campbell Barton [Sun, 27 Aug 2006 16:27:34 +0000 (16:27 +0000)]
Added scn.objects.new(obbdata) as a way of adding object data to a scene and createing the object data at once.
This functionality will probably be moved later on after discussion.

14 years agoTexturepaint now supports all the imagepaint brush settings, with the
Brecht Van Lommel [Sun, 27 Aug 2006 13:29:00 +0000 (13:29 +0000)]
Texturepaint now supports all the imagepaint brush settings, with the
exception of the clone tool.

One level undo for image- and texturepaint, only storing those tiles
that changed.

Test to improve texturepaint performance using glTexSubImage2D, only
enabled with 2^n sized textures and mipmapping off. Painting a 2048x2048
texture is then pretty smooth here, as long as the geometry is not too
complex.

14 years agoBugfix: selection in the sequencer with RMB emulation on Mac OS X
Brecht Van Lommel [Sun, 27 Aug 2006 13:03:23 +0000 (13:03 +0000)]
Bugfix: selection in the sequencer with RMB emulation on Mac OS X
always worked as if shift was pressed.

14 years agoBugfix #4935
Ton Roosendaal [Sun, 27 Aug 2006 12:27:21 +0000 (12:27 +0000)]
Bugfix #4935

July 10 commit accidentally included a testing line for a selection debug
session in IRC... that line saved a /tmp/rt.png file on each border select
in EditMode with 'visible selection' on.

14 years agoBugfix #4923
Ton Roosendaal [Sun, 27 Aug 2006 11:55:32 +0000 (11:55 +0000)]
Bugfix #4923

Particle distribution error when using Vertex Weights.
In the unlucky case the last face in a Mesh has no weight (zero), the code
that tries to distribute particles evenly accidentally could assign it
still a particle, because of the 'remainder' calculus.

Also only happens in cases where the remainder has a value.
So a workaround is also to increase/decrease amount of particles.

14 years agoerrorin mathutils docs, rowSize not rowsize same with colSize
Campbell Barton [Sat, 26 Aug 2006 16:01:25 +0000 (16:01 +0000)]
errorin mathutils docs, rowSize not rowsize same with colSize

14 years agoAdded a new iterator type to the scene - scene.objects should eventualy be used in...
Campbell Barton [Sat, 26 Aug 2006 09:53:26 +0000 (09:53 +0000)]
Added a new iterator type to the scene - scene.objects should eventualy be used in place of scene.getChildren() and linking objects to the scene.

14 years agoMetaball wasnt checking the length of any of the input arg lists which resulted in...
Campbell Barton [Sat, 26 Aug 2006 07:26:04 +0000 (07:26 +0000)]
Metaball wasnt checking the length of any of the input arg lists which resulted in errors in unrelated parts of the script.
Updated the doc too and added a longer example (converting an envalope armature into a meta object)

14 years agoadded tipRadius and headRadius bone properties
Campbell Barton [Sat, 26 Aug 2006 05:40:58 +0000 (05:40 +0000)]
added tipRadius and headRadius bone properties

14 years agoAdded missing settings to Modifiers (could not set on Render/Cage/Editmode :/)
Campbell Barton [Sat, 26 Aug 2006 03:18:55 +0000 (03:18 +0000)]
Added missing settings to Modifiers (could not set on Render/Cage/Editmode :/)
added GPL header to Group.c

14 years agocleanup and some speedups with assigning materials
Campbell Barton [Fri, 25 Aug 2006 18:05:05 +0000 (18:05 +0000)]
cleanup and some speedups with assigning materials

14 years ago===Python API===
Ken Hughes [Fri, 25 Aug 2006 16:01:16 +0000 (16:01 +0000)]
===Python API===
More additions for Mesh.faces.extend(); allow faces with 2 verts or duplicate
verts to remain in the input list (although they are still not added to the
mesh) so that indexList option can return None for them.  The goal is for all
faces which are discarded to still be ignored but return None.

14 years agosimplified 3ds mesh importing by storing verts and faces in a list rather then a...
Campbell Barton [Fri, 25 Aug 2006 09:10:06 +0000 (09:10 +0000)]
simplified 3ds mesh importing by storing verts and faces in a list rather then a mesh, before making the final mesh
also make use of meshes faces.extend() indexList option- which means lots of checking can be removed.

indexList is not relyable at the moment so some files wont import but this will be fixed.

14 years ago===Python API===
Ken Hughes [Thu, 24 Aug 2006 20:02:22 +0000 (20:02 +0000)]
===Python API===
New keyword parameters for Mesh.faces.extend() method:
  * ignoreDups: turns off checks for duplicate faces in the input list and
    existing mesh faces.  Intended for constructing new meshes where the
    faces are known to be unique.
  * indexList: makes the method return a list of new faces indices, which
    can be used to index new faces to add other attributes like color.  If
    duplicate faces are removed, None is placed in their list slot.

14 years ago===Python API===
Ken Hughes [Thu, 24 Aug 2006 19:28:36 +0000 (19:28 +0000)]
===Python API===
Bugfix: Mesh.faces.extend() would incorrectly add duplicate faces in some
circumstances.

14 years agoBugfix: structure declaration in the middle of code was breaking compilation.
Ken Hughes [Wed, 23 Aug 2006 00:42:48 +0000 (00:42 +0000)]
Bugfix: structure declaration in the middle of code was breaking compilation.

14 years ago===Python API===
Ken Hughes [Tue, 22 Aug 2006 18:08:57 +0000 (18:08 +0000)]
===Python API===
Fix return value problem in Mesh_getFakeUsers(): compiler warning in this case
was indicating a real bug.

14 years agoStubs for verse (maybe the verse files should be moved from src/
Chris Want [Tue, 22 Aug 2006 13:19:59 +0000 (13:19 +0000)]
Stubs for verse (maybe the verse files should be moved from src/
to blenkernel/intern/ ?)

14 years ago* Patch #4909 by Joseph Eagar (joeedh)
Nathan Letwory [Tue, 22 Aug 2006 13:04:07 +0000 (13:04 +0000)]
* Patch #4909 by Joseph Eagar (joeedh)

  - this patch adds verse support for SCons, which can be enabled by
    giving WITH_BF_VERSE=1, ie. on command-line
  - this patch also adds a custom lib dir possibility. From the patch description:

 "To set a custom ../lib dir, put LCGDIR="path to lib dir, including the platform folder name!" in your user-config.py."

* Fixed win32-vc-config.py so that it links to the proper library. Reported by Brandano.

14 years ago- modified patch #4681, for scons compiling
Nils Thuerey [Tue, 22 Aug 2006 11:18:00 +0000 (11:18 +0000)]
- modified patch #4681, for scons compiling
  of the fluidsim can now be disabled with the
flag: BF_NO_ELBEEM='true', e.g. for irix systems.
(The number of ifdefs from the original
patch was reduced, and the defines are now
only necessary when elbeem is switched off.)
- particle generation option is available again

14 years ago - bug fix of verse server and verse library backported from verse cvs
Jiri Hnidek [Tue, 22 Aug 2006 11:10:31 +0000 (11:10 +0000)]
 - bug fix of verse server and verse library backported from verse cvs

14 years agoelbeem update:
Nils Thuerey [Tue, 22 Aug 2006 10:45:19 +0000 (10:45 +0000)]
elbeem update:
- slightly improved and optimized
  handling of moving obstacles
- cleanup of debug messages and minor fixes

14 years agoadded fakeUser property to mesh (will need to add to all other library datablocks...
Campbell Barton [Tue, 22 Aug 2006 09:13:44 +0000 (09:13 +0000)]
added fakeUser property to mesh (will need to add to all other library datablocks too)
and added __copy__ to quat and euler types as well as updating the docs.

14 years ago===Python API===
Ken Hughes [Mon, 21 Aug 2006 19:11:43 +0000 (19:11 +0000)]
===Python API===
Fix various typos in Modifier, IpoCurve and Armature docs.

14 years ago===Python API===
Ken Hughes [Mon, 21 Aug 2006 14:36:11 +0000 (14:36 +0000)]
===Python API===
Bugfix: unary minus on a point object should not modify the original point
data but return a new point.

14 years ago - uncommit my personal hack of nan_compile.mk, which came to cvs with
Jiri Hnidek [Mon, 21 Aug 2006 14:22:08 +0000 (14:22 +0000)]
 - uncommit my personal hack of nan_compile.mk, which came to cvs with
   huge commit of verse ... this shouldn't be there, I'm sorry

14 years agoremoved the unpopular 'ed' functions, and added .copy() to Mathutils vector and matrix
Campbell Barton [Mon, 21 Aug 2006 13:52:32 +0000 (13:52 +0000)]
removed the unpopular 'ed' functions, and added .copy() to Mathutils vector and matrix
(inverted, normalized, transposed)

making an inverted copy of an objects matrix used to be.. (2.42)

  imat= Mathutils.Matrix(ob.matrixWorld)
  imat.invert()

# inverted.. I added but now removed

  imat= ob.matrixWorld.inverted()

# with copy (current functionality)...

  imat= ob.matrixWorld.copy().invert()

14 years ago - bug fix, bug reported by Campbel, thanks! Keep in mind, that integration
Jiri Hnidek [Mon, 21 Aug 2006 13:19:18 +0000 (13:19 +0000)]
 - bug fix, bug reported by Campbel, thanks! Keep in mind, that integration
   of verse supports only sharing of mesh geometry now, you can't share
   vertex color, vertex weight, etc.

14 years agoTwo small fixes for armature editing:
Ton Roosendaal [Mon, 21 Aug 2006 10:27:17 +0000 (10:27 +0000)]
Two small fixes for armature editing:

- CTRL+Click bones in editmode gave too small envelope distances (was 0.1
  instead of 0.25*bone->length)
- PoseMode: ALT+S in Envelope drawmode only scaled the Parent Bone(s).

14 years ago added verse library (release r6) to extern directory
Jiri Hnidek [Sun, 20 Aug 2006 16:09:03 +0000 (16:09 +0000)]
 added verse library (release r6) to extern directory

14 years agoHuge commit: VERSE
Jiri Hnidek [Sun, 20 Aug 2006 15:22:56 +0000 (15:22 +0000)]
Huge commit: VERSE
 - All code is in #ifdef ... #endif
 - Only make build system is supported and you have to add:
    export WITH_VERSE=true
   to user-def.mk file
 - Blender can share only mesh objects and bitmaps now
 - More informations can be found at wiki:
    http://mediawiki.blender.org/index.php/BlenderDev/VerseIntegrationToBlender
    http://mediawiki.blender.org/index.php/BlenderDev/VerseIntegrationToBlenderUserDoc

  I hope, that I didn't forget at anything

14 years agoFixes for:
Andrea Weikert [Sun, 20 Aug 2006 14:41:13 +0000 (14:41 +0000)]
Fixes for:
[ #4337 ] Cant refresh the C:\
[ #4710 ] Wrong paths in file selector under user prefs
[ #4353 ] Using ^ char + click on Open/Load = Blender crash

Details:

Fixes for root paths like C:\ on Windows, where Blender still used '/'.

Also contains fixes for relative paths:
- no relative paths for the default dirs (forced to absolute)
- message if using relative paths when .blend file hasn't been saved.

Lastly also added '.' for refresh in root paths. Windows
FindFirstFile/FindNextFile also return '.' and '..', but not in root paths like C:\

14 years agoFixing stuff without using brains... shouldn't do that too often! :)
Ton Roosendaal [Sun, 20 Aug 2006 12:38:06 +0000 (12:38 +0000)]
Fixing stuff without using brains... shouldn't do that too often! :)

This fixes my commit of august 13th, that cleaned up the code for
drawing optional buttons for Constraint targets.
Now, Bone target buttons are corectly drawn, when a target is Armature.

(also bug report #4907)

14 years agoCommit of 2006/08/18, in compositor, had a debug print in armature...
Ton Roosendaal [Sun, 20 Aug 2006 11:45:27 +0000 (11:45 +0000)]
Commit of 2006/08/18, in compositor, had a debug print in armature...

14 years agoBugfix #4906
Ton Roosendaal [Sun, 20 Aug 2006 11:02:31 +0000 (11:02 +0000)]
Bugfix #4906

Python API bug: Importing ipo curves did a memcpy() on a 1 item too large
data block. I wonder how IpoCurve_append() would have ever worked...