blender-staging.git
11 years agosvn merge -r 21301:21372 https://svn.blender.org/svnroot/bf-blender/branches/blender2...
Andre Susano Pinto [Sun, 5 Jul 2009 15:20:19 +0000 (15:20 +0000)]
svn merge -r 21301:21372 https://svn.blender.org/svnroot/bf-blender/branches/blender2.5/blender

11 years agoAdded a particle instance modifier option to use particle size.
Janne Karhu [Sun, 5 Jul 2009 12:36:20 +0000 (12:36 +0000)]
Added a particle instance modifier option to use particle size.

11 years ago*Added BIH
Andre Susano Pinto [Sun, 5 Jul 2009 00:38:53 +0000 (00:38 +0000)]
*Added BIH

11 years agoRendering animations with particle trails cached.
Janne Karhu [Sat, 4 Jul 2009 12:09:21 +0000 (12:09 +0000)]
Rendering animations with particle trails cached.

11 years ago2.5 Physic Buttons:
Thomas Dinges [Sat, 4 Jul 2009 08:50:41 +0000 (08:50 +0000)]
2.5 Physic Buttons:

* Some minor layout cleanup to the field panel.

11 years agoA bunch of fun stuff now possible because of new pointcache code:
Janne Karhu [Sat, 4 Jul 2009 03:50:12 +0000 (03:50 +0000)]
A bunch of fun stuff now possible because of new pointcache code:
* Baked normal particles can now use the "Path" visualization.
* Path "max length" & "abs length" are now history:
- New option to set path start & end times + random variation to length.
- Much more flexible (and calculated better) than previous options.
- This works with parents, children, hair & normal particles unlike old length option.
- Only known issue for now is that children from faces don't get calculated correctly when using path start time.
* New option "trails" for "halo", "line" and "billboard" visualizations:
- Draws user controllable number of particle instances along particles path backwards from current position.
- Works with children too for cool/weird visualizations that weren't possible before.
* Normal particle children's velocities are now approximated better when needed so that "line" visualization trails will look nice.
* New particle instance modifier options:
- "path"-option works better and has controllable (max)position along path (with random variation possible).
- "keep shape"-option for hair, keyed, or baked particles allows to place the instances to a single point (with random variation possible) along particle path.
- "axis" option to make rotation handling better (still not perfect, but will have to do for now).

Some fixes & cleanup done along the way:
* Random path length didn't work for non-child particles.
* Cached & unborn particles weren't reset to emit locations.
* Particle numbers weren't drawn in the correct place.
* Setting proper render & draw visualizations was lost somewhere when initializing new particle settings.
* Changing child mode wasn't working correctly.
* Some cleanup & modularization of particle child effector code and particle drawing & rendering code.
* Object & group visualizations didn't work.
* Child simplification didn't work.

11 years ago2.5 Physic Buttons:
Thomas Dinges [Fri, 3 Jul 2009 20:03:24 +0000 (20:03 +0000)]
2.5 Physic Buttons:

* Added Softbody buttons. Patch by Wahooney. Thanks.
I did some minor code cleanup.

* Collision settings now grey out, when disabled.

11 years ago2.5:
Brecht Van Lommel [Fri, 3 Jul 2009 19:56:19 +0000 (19:56 +0000)]
2.5:

* Fix crash in python with enum properties, and don't throw
  error if no matching identifier is found. This shouldn't
  happen, but it should break a python script either, which
  is not at fault.
* Fix a wrong variable initialization in fluidsim.

11 years ago2.5 Physic Buttons:
Thomas Dinges [Fri, 3 Jul 2009 19:12:59 +0000 (19:12 +0000)]
2.5 Physic Buttons:

* Added Fluid Buttons.

11 years agorayobject_octree fixed
Andre Susano Pinto [Fri, 3 Jul 2009 18:16:59 +0000 (18:16 +0000)]
rayobject_octree fixed

11 years agoFixed memory aligns for 64bits
Andre Susano Pinto [Fri, 3 Jul 2009 17:10:54 +0000 (17:10 +0000)]
Fixed memory aligns for 64bits

11 years ago2.5/Multires:
Nicholas Bishop [Fri, 3 Jul 2009 15:59:59 +0000 (15:59 +0000)]
2.5/Multires:

Missed this somehow when merging the multires branch? Have to make sure that multires displacements are up-to-date before doing a modifier apply.

11 years ago2.5/Sculpt:
Nicholas Bishop [Fri, 3 Jul 2009 15:31:23 +0000 (15:31 +0000)]
2.5/Sculpt:

Bugfix, mesh face normals not getting updated because a list was freed in the wrong place.

11 years ago2.5
Brecht Van Lommel [Fri, 3 Jul 2009 15:23:33 +0000 (15:23 +0000)]
2.5

* Lattices: properties editable, editmode operators, menus working
  again. As a bonus you can now edit u/v/w in editmode.
* Shape Keys: some code cleanup, and added more buttons. The
  value/min/max buttons don't work correct yet though.
* Fix issue with uv textures, vertex colors not being visible outside
  editmode, and a few other issue. Mesh.edit_mesh is now NULL when
  not in editmode.

11 years ago2.5 Physic Buttons:
Thomas Dinges [Fri, 3 Jul 2009 14:32:27 +0000 (14:32 +0000)]
2.5 Physic Buttons:

* Added some collision buttons. Patch by Wahooney. Thanks!

11 years ago2.5 Physic Buttons:
Thomas Dinges [Fri, 3 Jul 2009 14:11:00 +0000 (14:11 +0000)]
2.5 Physic Buttons:

Don't show panels when object is not a mesh.

11 years ago2.5
Ton Roosendaal [Fri, 3 Jul 2009 13:48:42 +0000 (13:48 +0000)]
2.5

Windows #ifdef code missed semicolon.

11 years ago2.5
Ton Roosendaal [Fri, 3 Jul 2009 13:21:09 +0000 (13:21 +0000)]
2.5

More scroller work:

- Added subtle arrow widgets to denote a scroller can zoom the view.
- Made zoom symmetric (old convention to only zoom "one side" just
  worked badly)

11 years agofix for own missing var in recent commit.
Campbell Barton [Fri, 3 Jul 2009 11:46:46 +0000 (11:46 +0000)]
fix for own missing var in recent commit.

11 years ago2.5 - Additional warning fix
Joshua Leung [Fri, 3 Jul 2009 11:24:52 +0000 (11:24 +0000)]
2.5 - Additional warning fix

11 years ago2.5 - Quick compiling fix for Ton's commit
Joshua Leung [Fri, 3 Jul 2009 11:22:32 +0000 (11:22 +0000)]
2.5 - Quick compiling fix for Ton's commit

Patch (http://www.pasteall.org/6436/diff) by skejoe. Thanks.

11 years ago2.5
Ton Roosendaal [Fri, 3 Jul 2009 10:54:39 +0000 (10:54 +0000)]
2.5

Upgrading text editor to draw new scrollbar too.

11 years ago* Fix for compiling with cmake on OS X. Hopefully this goes ok for other platforms...
Matt Ebb [Fri, 3 Jul 2009 09:23:12 +0000 (09:23 +0000)]
* Fix for compiling with cmake on OS X. Hopefully this goes ok for other platforms too.

11 years agoset the PYTHONPATH to BLI_gethome_folder("python") if it exists.
Campbell Barton [Fri, 3 Jul 2009 04:38:55 +0000 (04:38 +0000)]
set the PYTHONPATH to BLI_gethome_folder("python") if it exists.

This lets us distribute blender with our own python module directory (next to ui and io), and avoids the need for a shell script to start blender.

11 years ago*little fix
Andre Susano Pinto [Fri, 3 Jul 2009 02:56:54 +0000 (02:56 +0000)]
*little fix

11 years ago*No need of a BB if the underlying structure already has a BB
Andre Susano Pinto [Fri, 3 Jul 2009 02:26:40 +0000 (02:26 +0000)]
*No need of a BB if the underlying structure already has a BB

11 years agocmake support for building without fluidsim
Campbell Barton [Thu, 2 Jul 2009 22:22:35 +0000 (22:22 +0000)]
cmake support for building without fluidsim

11 years ago*fixed crash
Andre Susano Pinto [Thu, 2 Jul 2009 22:12:26 +0000 (22:12 +0000)]
*fixed crash

11 years ago*fixed rtbuild (there was a sorting bug introduced while adapting code from BLI_bvh)
Andre Susano Pinto [Thu, 2 Jul 2009 21:57:50 +0000 (21:57 +0000)]
*fixed rtbuild (there was a sorting bug introduced while adapting code from BLI_bvh)
This bvh should be at least as fast as BLI_kdopbvh now

11 years ago2.5: Physics Buttons
Brecht Van Lommel [Thu, 2 Jul 2009 19:41:31 +0000 (19:41 +0000)]
2.5: Physics Buttons

All kinds of changes to get it ready for UI layouts. This means RNA
and operators should be working correct, but most buttons are still
not actually there yet.

* Added near empty soft body, fluid, field and collision panels,
  tweaks to cloth panels.
* Fluid bake works, but without escape or showing any progress.
* Fluid/Softbody/Cloth/Collision can now be both added as modifiers
  or in the physics panels.
* Missing: fields & soft body for particles.
* Missing: proper updating softbodies, guess this code still needs
  updates after pointcache refactor?

11 years ago2.5
Ton Roosendaal [Thu, 2 Jul 2009 18:12:46 +0000 (18:12 +0000)]
2.5

Cleanup of scroller drawing in 2D windows.

Before:
http://download.blender.org/institute/rt11.jpg
After:
http://download.blender.org/institute/rt12.jpg

Will add 'zoom' widget circles later, as mockupped here:
http://www.reynish.com/files/blender25/fcurve_scrollbar.png

Also note the scale values are inside scroller; drawing it
on top conflicts with current frame item and markers.

Currently scroller disappear entirely when view is total.

For Joshua:
To make sliders behave nicely, the boundbox (v2d->tot) has to
be refreshed on each change. I've added it in graph drawing
now, but it could be notifier based I guess... not sure what
the correct anim api call would be. Can discuss tomorrow!

On todo:
Layout config hints so people can make scroller positions swap.

11 years ago*RTBuilder now supports splitting leafs in N leafs
Andre Susano Pinto [Thu, 2 Jul 2009 15:45:15 +0000 (15:45 +0000)]
*RTBuilder now supports splitting leafs in N leafs
something is wrong on rayobject_bvh as it looks slower than BLI_bvh and code is based on it

11 years agoout own Py_GetPath() function to replace pythons, so we can bundle python modules...
Campbell Barton [Thu, 2 Jul 2009 12:11:20 +0000 (12:11 +0000)]
out own Py_GetPath() function to replace pythons, so we can bundle python modules with blender, #if 0'd for now but having it is useful for testing.

This works by copying /usr/lib/python3.1 to a dir called "python", next to blenders "ui" and "io" dirs.

11 years agosvn merge -r 21041:21301 https://svn.blender.org/svnroot/bf-blender/branches/blender2...
Andre Susano Pinto [Thu, 2 Jul 2009 11:28:42 +0000 (11:28 +0000)]
svn merge -r 21041:21301 https://svn.blender.org/svnroot/bf-blender/branches/blender2.5/blender

11 years ago2.5
Ton Roosendaal [Thu, 2 Jul 2009 11:24:27 +0000 (11:24 +0000)]
2.5

Python definition of view3d context-depending toolbar. Feel free to edit
it into anything useful. :)

11 years ago2.5
Ton Roosendaal [Thu, 2 Jul 2009 11:23:19 +0000 (11:23 +0000)]
2.5

More toolbar functionality for workflow review.

- Split the region in two parts, bottom has the Tool Properties, the
  top part shows 2 panels, one for python defined tools, other for a
  "tool shelf" which (later) will get saved in files.
- Added a full context driven framework for this toolbar, showing
  the tools depending on 3D window 'mode'. Both python defined tools
  as the shelf respect this. So - for example - you will see different
  tools in editmode mesh, as in vertex paint mode, etc.
- First template for the python tools will be committed after this commit;
  it has placeholder tools to just show/test functioning.

NOTE: if you had saved a layout that shows tools region, open/close it
once to get the new region created for properties.

TODO:

- Moving paint properties to tool settings
- Test a layout with horizontal toolbar (without properties)
- Bring back floating panels, and put tool-properties here. (as option)

11 years agoReverted incorrect merge (missing files)
Andre Susano Pinto [Thu, 2 Jul 2009 02:59:43 +0000 (02:59 +0000)]
Reverted incorrect merge (missing files)

svn up -r 21247
svn merge -r 21247:21246 . (<= revert incorrect: merge -r 21041:21243)
svn up

11 years ago2.5: Lists for vertex groups, shape keys, uvs, vertex colors.
Brecht Van Lommel [Wed, 1 Jul 2009 22:25:49 +0000 (22:25 +0000)]
2.5: Lists for vertex groups, shape keys, uvs, vertex colors.

RNA
* Added the relevant active_*_index properties, with proper
  get/set/range, updates and notifiers.
* Context.tool_settings.
* ToolSettings.vertex_group_weight.

Operators
* MESH_OT_uv_texture_add/remove
* MESH_OT_vertex_color_add/remove
* MESH_OT_sticky_add/remove
* OBJECT_OT_vertex_group_add/remove/assign/remove_from/
  select/deselect/copy/copy_to_linked
* OBJECT_OT_shape_key_add/remove

UI
* Some updates and cleanups in list template code.

Known issue: when going in & out of editmode, uv textures and vertex
colors dissappear. I thought me->edit_mesh would be NULL when not in
edit mode but it is not?

11 years ago2.5: Fix a case of using freed memory in event handling.
Brecht Van Lommel [Wed, 1 Jul 2009 22:16:16 +0000 (22:16 +0000)]
2.5: Fix a case of using freed memory in event handling.

11 years agoneeded for building with py2
Campbell Barton [Wed, 1 Jul 2009 20:55:32 +0000 (20:55 +0000)]
needed for building with py2

11 years agoAdded support for collection parameters also for RNA_function_call_direct family...
Elia Sarti [Wed, 1 Jul 2009 19:56:50 +0000 (19:56 +0000)]
Added support for collection parameters also for RNA_function_call_direct family of functions. The syntax for passing collection parameters is similar to passing pointers where you pass first the RNA type and then the ListBase representing the collection. The format specifier is "C" instead of "O", e.g.

RNA_function_call_direct_lookup(C, reports, ptr, "do_something", "sC", "some string value", &RNA_SomeItemType, listbase);

Note that from python you could in theory pass collections of items each of a different type while using this API you can't. I don't think this should be a problem as RNA supports collections this way anyway (i.e. where items are all of the same type or inherit from the same base type).

Also a small fix for pointer parameters.

11 years agoslice support working in py3 for Vector and Matrix types.
Campbell Barton [Wed, 1 Jul 2009 13:31:36 +0000 (13:31 +0000)]
slice support working in py3 for Vector and Matrix types.
Added slice to PyRNA collections and arrays (py3 only).

eg.
some_verts = mesh.verts[0:10]
some_rna_array[4:-1] = [0,1,2,3]

Collections dont support assignment, when assigning slices, resizing the array isnt support like with python lists.

11 years agofixed ray mirror/trans shadow on rayobject_bvh
Andre Susano Pinto [Wed, 1 Jul 2009 12:36:05 +0000 (12:36 +0000)]
fixed ray mirror/trans shadow on rayobject_bvh

11 years agoRNA
Brecht Van Lommel [Wed, 1 Jul 2009 12:19:00 +0000 (12:19 +0000)]
RNA

* Mesh.add_geometry, Mesh.update and make indices editable. This
  is without checking if they are valid still, no time now to
  implement this.
* Also fix warnings in rna_ui.c, and a bug in CDDM_calc_edges.

Example code:

co = [0.0, 0.0, 0.0] + [1.0, 0.0, 0.0] + [0.0, 1.0, 0.0] + [1.0, 1.0, 0.0]
faces = [0, 1, 2, 0] + [1, 3, 2, 0]

mesh.add_geometry(4, 0, 2)

mesh.verts.foreach_set("co", co)
mesh.faces.foreach_set("verts", faces)

mesh.update()

11 years ago*Added rayobject_bvh
Andre Susano Pinto [Wed, 1 Jul 2009 11:27:43 +0000 (11:27 +0000)]
*Added rayobject_bvh
 A bvh structure to use on the raytracer

11 years ago2.5/Sculpt:
Nicholas Bishop [Tue, 30 Jun 2009 23:06:50 +0000 (23:06 +0000)]
2.5/Sculpt:

== Re-added smooth stroke ==

UI: toggle is just in the sculpt menu for now. Also changes the sculpt paint cursor slightly, draws a line between previous and current locations.

It's a different implementation than in 2.4, works like this:

The stroke interpolates between the last mouse location and the current location, weighted towards the previous location. If the stroke gets within a certain radius of the current mouse location, the stroke stops. This radius allows for sharp turns in the stroke.

Todo: there are two hard-coded parameters that should become user settable, that's the weighting between previous and current locations, and most important, the no-update radius.

Note also that this option was added as a per-brush flag, worth discussing whether that's the correct place, or whether it should be a sculpt setting like symmetry?

== Improved stroke spacing ==
The previous implementation of stroke spacing simply guaranteed that stroke dots would not occur any closer than the space setting. It now forces stroke dots to always be the specified distance apart.

Todo: Performance gets pretty awful with a small spacing setting, this needs optimization.

11 years ago*Added initial code of rayobject_rtbuild
Andre Susano Pinto [Tue, 30 Jun 2009 22:07:42 +0000 (22:07 +0000)]
*Added initial code of rayobject_rtbuild
 An helper class to build trees

11 years agodisabling foreach_get/set for python2.x, since it uses new buffer api.
Campbell Barton [Tue, 30 Jun 2009 21:59:21 +0000 (21:59 +0000)]
disabling foreach_get/set for python2.x, since it uses new buffer api.

11 years ago2.5 filebrowser
Andrea Weikert [Tue, 30 Jun 2009 20:34:00 +0000 (20:34 +0000)]
2.5 filebrowser
* show only name of the last directory for the bookmark
* small fix of projectfile: header BLI_fileops.h was moved
Note: full path should appear in tool tip later, also for renaming bookmarks later on.

11 years ago2.5 MSVC projectfiles
Andrea Weikert [Tue, 30 Jun 2009 20:31:58 +0000 (20:31 +0000)]
2.5 MSVC projectfiles
* small maintenance: editors/info_header.c removed, editors/info_ops.c added

11 years agoReverting changes made for laptop/two button mice - will make the changes available...
Tom Musgrove [Tue, 30 Jun 2009 20:14:53 +0000 (20:14 +0000)]
Reverting changes made for laptop/two button mice - will make the changes available as a patch.

11 years agosecond part of python2.6 upgrade in cmake, now it will copy the dlls too
Shaul Kedem [Tue, 30 Jun 2009 19:29:40 +0000 (19:29 +0000)]
second part of python2.6 upgrade in cmake, now it will copy the dlls too

11 years ago2.5
Brecht Van Lommel [Tue, 30 Jun 2009 19:20:45 +0000 (19:20 +0000)]
2.5

Image Window
* Unpack operator now works.
* Some small layout code tweaks.

Info Window Header
* Moved to python UI code.
* template_running_jobs, template_operator_search added.
* Ported external data operators: pack/unpack all, make
  paths relative/absolute, find/report missing files.

Also
* Report RPT_INFO too, not only warnings and errors.
* Run UI handle functions after RNA and Operators.
* Rename particle system add/remove operators, to not
  include "slot", that's only there for materials because
  that's what they are called now in RNA.

11 years agoRNA
Brecht Van Lommel [Tue, 30 Jun 2009 19:10:14 +0000 (19:10 +0000)]
RNA

* Add Image.dirty boolean.
* Added Window struct, with editable Window.screen.
* Make Screen.scene editable.

11 years ago2.5 filebrowser
Andrea Weikert [Tue, 30 Jun 2009 18:29:30 +0000 (18:29 +0000)]
2.5 filebrowser
* Hide dot operator (HKEY) for theeth

11 years ago2.5 MSVC projectfiles
Andrea Weikert [Tue, 30 Jun 2009 18:20:45 +0000 (18:20 +0000)]
2.5 MSVC projectfiles
* moving projectfiles to python 2.6 to avoid recurring issues with python migration

11 years agowindows cmake uses python26 now, make sure your lib/windows is up to date (requires...
Shaul Kedem [Tue, 30 Jun 2009 18:20:12 +0000 (18:20 +0000)]
windows cmake uses python26 now, make sure your lib/windows is up to date (requires an additional svn update, in lib/windows

11 years ago*reserved RayObject align offset 0 for private usage inside each structure
Andre Susano Pinto [Tue, 30 Jun 2009 14:05:33 +0000 (14:05 +0000)]
*reserved RayObject align offset 0 for private usage inside each structure
point is that other structures like trees can then distiguish between other nodes or rayobject primitives
withouth needing any other variable.
(Note yet used but will reduce memory by a nice factor (linear to the number of primitives))

11 years agopython access to RNA arrays.
Campbell Barton [Tue, 30 Jun 2009 12:52:16 +0000 (12:52 +0000)]
python access to RNA arrays.

coords = array.array('f', [0.0]) * len(me.verts) * 3
m.verts.foreach_get('co', coords)

the reverse works with set also.
currently works for python buffers or sequences (slower)

Quick speed test with 1,179,654 verts.

*foreach_get*
list 0.377
array 0.032
py 10.29

*foreach_set*
list 0.184
array 0.028
py 9.79

where python was done like this...
----
 i= 0
 for v in m.verts:
   co = v.co
   l[i] = co[0]; l[i+1] = co[0]; l[i+2] = co[0]
   i+=3
----

some of the error checking here needs to be cleaned up to account for different invalid bad inputs.

11 years ago2.5 file browser
Andrea Weikert [Tue, 30 Jun 2009 06:27:48 +0000 (06:27 +0000)]
2.5 file browser
* adding GPL copyright header.

11 years agoMeasure build time...
Andre Susano Pinto [Tue, 30 Jun 2009 01:17:50 +0000 (01:17 +0000)]
Measure build time...
*as expected it's a lot faster on BVH

11 years agoPython API
Campbell Barton [Tue, 30 Jun 2009 00:42:17 +0000 (00:42 +0000)]
Python API
Mathutils support for subclassing Vector, Quat, Euler and Matrix types.

Removed C docstrings, prefer to make sure our epydocs are well maintained rather then duplicate, vague doc strings.
Will convert scripts to detect missing docs from the BGE.

11 years ago2.5 file browser
Andrea Weikert [Mon, 29 Jun 2009 23:21:11 +0000 (23:21 +0000)]
2.5 file browser
* remove '.' and '..' from file browser list. sigh!
* removed delete buttons from automatically added bookmarks (Desktop and Documents)
Note: please check on non-Windows platforms

11 years ago2.5 file browser
Andrea Weikert [Mon, 29 Jun 2009 22:16:48 +0000 (22:16 +0000)]
2.5 file browser
* bookmark operators: add and delete bookmark
* first start at menus in file browser: Directory and Bookmarks
* Adding a bookmark via menu or via CTRL+B
* Remove a bookmark with the X button next to it.

11 years agosvn merge -r 21041:21243 https://svn.blender.org/svnroot/bf-blender/branches/blender2...
Andre Susano Pinto [Mon, 29 Jun 2009 21:50:53 +0000 (21:50 +0000)]
svn merge -r 21041:21243 https://svn.blender.org/svnroot/bf-blender/branches/blender2.5/blender

11 years agoThis commit adds Alt-LMB as an alternative to MMB, and CTRL-ALT-LMB as an alternative...
Tom Musgrove [Mon, 29 Jun 2009 21:07:33 +0000 (21:07 +0000)]
This commit adds Alt-LMB as an alternative to MMB, and CTRL-ALT-LMB as an alternative to CTRL-MMB so that laptop users can use 2.5

11 years ago2.5 filebrowser
Andrea Weikert [Mon, 29 Jun 2009 20:23:40 +0000 (20:23 +0000)]
2.5 filebrowser
* start of filebrowser RNA
* system files, bookmarks, etc. now nicely inside panels to allow collapsing etc.
* filebrowser header now defined in space_filebrowser.py

TODO:
* button type for bookmarks etc. not final yet, at least should get centered still. Suggestions welcome here.

11 years ago*forgot this file
Andre Susano Pinto [Mon, 29 Jun 2009 20:15:59 +0000 (20:15 +0000)]
*forgot this file

11 years ago*make type of acceleration structure changeable at runtime
Andre Susano Pinto [Mon, 29 Jun 2009 19:48:11 +0000 (19:48 +0000)]
*make type of acceleration structure changeable at runtime
*added some counter code (test/hits) for primitives and raycasts

11 years agoFix compiler warning, make for body explicit.
Guillermo S. Romero [Mon, 29 Jun 2009 19:46:28 +0000 (19:46 +0000)]
Fix compiler warning, make for body explicit.

11 years ago2.5: fix for compile error after recent search menu commit.
Brecht Van Lommel [Mon, 29 Jun 2009 19:37:09 +0000 (19:37 +0000)]
2.5: fix for compile error after recent search menu commit.

11 years agoRNA
Brecht Van Lommel [Mon, 29 Jun 2009 19:15:51 +0000 (19:15 +0000)]
RNA

Implementation of RNA side of foreach_get/foreach_set,
Campbell will do python code.

Three functions for efficiently setting some property for all
items in a collection. RNA_property_collection_raw_array gives
access to the properties as an array with length, stride, and
type specified, if this is possible, i.e. not when it uses a
ListBase, or if a manual get/set function is implemented.

Two other functions take a C array pointer and get/set it
using the a collection + property name, using efficient array
access if possible, and otherwise using slower RNA iterator.

RNA_property_collection_raw_get
RNA_property_collection_raw_set

The number of type conversion required here got a bit out of
hand, it could be more efficient still if checking for more
cases, but function is already long enough.

Example: http://www.pasteall.org/6362/c

11 years agoBGE PyAPI support for subclassing any BGE game type from python, scripters define...
Campbell Barton [Mon, 29 Jun 2009 12:06:46 +0000 (12:06 +0000)]
BGE PyAPI support for subclassing any BGE game type from python, scripters define extra functions on gameObjects.
Adding a UI to set the type on startup can be added easily.

# ----
class myPlayer(GameTypes.KX_GameObject):
  def die(self):
    # ... do stuff ...
    self.endObject()

# make an instance
player = myPlayer(gameOb) # gameOb is made invalid now.
player.die()

# ----

One limitation (which could also be an advantage), is making the subclass instance will return that subclass everywhere, you cant have 2 different subclasses of the same BGE data at once.

11 years ago2.5
Ton Roosendaal [Mon, 29 Jun 2009 11:29:52 +0000 (11:29 +0000)]
2.5

Search Menu: added feature that on opening, it shows the
current ID block, and selects it. Same can be used for other
searches, just pass on pointer to active item for the search
callback.

Also fixed arrow triangle draw for search.

11 years agoBGE Py API using python3 c/api calls. include bpy_compat.h to support py2.x
Campbell Barton [Mon, 29 Jun 2009 02:25:54 +0000 (02:25 +0000)]
BGE Py API using python3 c/api calls. include bpy_compat.h to support py2.x

11 years ago2.5
Ton Roosendaal [Sun, 28 Jun 2009 18:09:19 +0000 (18:09 +0000)]
2.5

Make include to make GE compile.

Py 2.3 doesnt compile expressions/Value.cpp btw...
Value.cpp:616: error: 'class PyObjectPlus' has no member named 'ob_type'

Probably need to wait for py 3.1 :)

11 years ago2.5
Ton Roosendaal [Sun, 28 Jun 2009 16:31:20 +0000 (16:31 +0000)]
2.5

Starting GE should initialize opengl for the 3d region.

11 years ago2.5 / RNA
Elia Sarti [Sun, 28 Jun 2009 13:41:50 +0000 (13:41 +0000)]
2.5 / RNA
Return right size for PROP_COLLECTION parameters

11 years agoPyNumberMethods needed ifdefs for python3.x and some other corrections.
Campbell Barton [Sun, 28 Jun 2009 13:27:06 +0000 (13:27 +0000)]
PyNumberMethods needed ifdefs for python3.x and some other corrections.

11 years ago2.5
Ton Roosendaal [Sun, 28 Jun 2009 12:30:50 +0000 (12:30 +0000)]
2.5

Menu usage: enabled arrow-key based browsing, especially for open and
close sublevels. Only thing missing is to prevent sublevel to open
on creating menu (like SHIFT+A now), this is design conflict in code.
(It sends fake mouse move events causing it)

Implementation note; the 'auto open sublevel' feature gets triggered
with new state var, that checks if mouse was used or not.

Also: on render in editmode, editmode result gets stored, as usual for 2.4x.

11 years agoZeroing listbase result for context data collection get when no data is found.
Elia Sarti [Sun, 28 Jun 2009 11:37:45 +0000 (11:37 +0000)]
Zeroing listbase result for context data collection get when no data is found.
Caused crash for uninitialized pointers when getting collection data for editors not supporting that member, e.g. "deselect all" operator in non-3dview editors.

11 years agoBGE Python API
Campbell Barton [Sun, 28 Jun 2009 11:22:26 +0000 (11:22 +0000)]
BGE Python API
Remove the last of the odd C++/python wrapper code from http://www.python.org/doc/PyCPP.html (~1998)

* Use python subclasses rather then having fake subclassing through get/set attributes calling parent types.
* PyObject getset arrays are created while initializing the types, converted from our own attribute arrays. This way python deals with subclasses and we dont have to define getattro or setattro functions for each type.
* GameObjects and Scenes no longer have attribute access to properties. only dictionary style access - ob['prop']
* remove each class's get/set/dir functions.
* remove isA() methods, can use PyObject_TypeCheck() in C and issubclass() in python.
* remove Parents[] array for each C++ class, was only used for isA() and wasnt correct in quite a few cases.
* remove PyTypeObject that was being passed as the last argument to each class (the parent classes too).

TODO -
* Light and VertexProxy need to be converted to using attributes.
* memory for getset arrays is never freed, not that bad since its will only allocates once.

11 years ago2.5
Ton Roosendaal [Sun, 28 Jun 2009 09:35:37 +0000 (09:35 +0000)]
2.5

Bugfixes:

- Preview Icon for render result crashed, there was still need for a scene
  pointer to be passed on.

- Added quick fix for preventing shaded drawmode to call render while
  rendering is in progress. It crashes badly.
  Rendering while UI is alive is still in probation, most UI stuff will
  probably get blocked, with exception from inspecting buttons and using
  the image window.

11 years ago2.5 MSVC 9 projectfiles
Andrea Weikert [Sun, 28 Jun 2009 07:26:16 +0000 (07:26 +0000)]
2.5 MSVC 9 projectfiles
* added missing include to KX_blenderhook project

11 years agoremoved un-needed hack, something weired was going on when debugging that made the...
Campbell Barton [Sun, 28 Jun 2009 02:47:49 +0000 (02:47 +0000)]
removed un-needed hack, something weired was going on when debugging that made the pointers to these functions change after initialization.

11 years agoBGE Fix for no redrawing.
Campbell Barton [Sun, 28 Jun 2009 02:37:07 +0000 (02:37 +0000)]
BGE Fix for no redrawing.
Was caused by un-initialized engine ticrate, do_versions was working on 2.4x but isnt in 2.5 so just add a zero check when getting from the world.

11 years agoBGE Redraw problem:
Campbell Barton [Sat, 27 Jun 2009 23:54:20 +0000 (23:54 +0000)]
BGE Redraw problem:
at the moment only files from blender 2.4x will display in 2.5x, compared area and window structs in both cases and dont see any differences.

This doesnt fix the problem but corrects a few things related to window drawing with the BGE,
also adds a hack because I noticed the window and area pointers in the KX_BlenderCanvas were offset after initialized, maybe need to use <static cast> ?

11 years agoCMake patch from Alexander Neundorf
Campbell Barton [Sat, 27 Jun 2009 22:48:39 +0000 (22:48 +0000)]
CMake patch from Alexander Neundorf

-under UNIX, it uses FIND_PACKAGE() to find the jpg, png and zlib libraries

-it removes the explictely listed search paths, which are already searched by
default, so it is not necessary to list them again explicitely

-it removes the include directories /usr/include
and /usr/local/include. /usr/include is used by default, all other
directories should be searched via find_package/find_file and then added to
the include directories.

-replaces the include() commands for the FindXXX.cmake
modules with the appropriate find_package(Foo) calls.
This doesn't change the behaviour, but gives more features.
E.g. you could now say
find_package(JPEG REQUIRED)
and cmake will abort with an error if the package is not found.
Also it makes it clearer what is going on.

Additionally the patch removes the line
 INCLUDE(${CMAKE_ROOT}/Modules/Platform/Windows-cl.cmake)
in the Windows if-branch.
Why was this there ? This file should be included anyway under Windows when
using the MS compiler.

11 years ago2.5/Sculpt:
Nicholas Bishop [Sat, 27 Jun 2009 21:14:04 +0000 (21:14 +0000)]
2.5/Sculpt:

Improved sculpting in perspective mode; starting a stroke on the background would sometimes result in the brush having a huge effect on the mesh. Fixed by waiting to start the stroke until the mouse moves over the model.

The fix is not quite perfect, because detection of the edge of the model is based on the depth buffer, so other things that change the depth buffer, like the grid and axis lines in the 3d view, can throw off the calculation.

11 years ago2.5/Sculpt:
Nicholas Bishop [Sat, 27 Jun 2009 17:10:19 +0000 (17:10 +0000)]
2.5/Sculpt:

Removed a bunch of old code that was #ifdef'd out. Mostly relates to partial visibility and partial redraw. Both of these are important features, but need better design updated for 2.5.

Also removed the old (huge/ugly!) sculpt() function that is now handled by the stroke operator code.

11 years ago2.5
Ton Roosendaal [Sat, 27 Jun 2009 16:35:42 +0000 (16:35 +0000)]
2.5

Two bugfixes:
- When making 2d windows small (zero sized) the view2d data could get
  corrupted with NaN values. Clipped values correctly to 1.
- Search menu (ctrl+alt+f) had wrong color for selected text in text
  button

11 years agoParticle ID block controls:
Janne Karhu [Sat, 27 Jun 2009 15:41:47 +0000 (15:41 +0000)]
Particle ID block controls:
* Adding/removing particle systems to an object.
* Changing of particle settings.
* Currently showing an object's particle systems in a list (like materials).

11 years agoPointcache refresh part 2
Janne Karhu [Sat, 27 Jun 2009 15:28:58 +0000 (15:28 +0000)]
Pointcache refresh part 2

* Based on what happens during simulation the cache is marked (also in cache panel, this could possibly be extended to 3d view as well) as:
- exact (not marked)
- outdated (simulation is not done completely with current settings)
- non-exact (frames were skipped during simulation)

* The parameter "cache step" effects the number of frames between saved cache frames.
- This can save a lot of memory (or disk space) if absolutely frame accurate simulation is not required.
- Speeds up the "quick caching" very much.
- Frames between cached frames are interpolated from the cached frames.
- Current default value of 10 frames works nicely with up/down-arrows (skip 10 frames forwards/backwards on timeline), but can be changed if wanted.

* The caching can work in normal or "quick" mode:
[Normal cache]
- Basic: Calculate what even happens (settings change, big frame steps etc.) and cache results, if possible try to use "cache step" when saving cache frames.
- Becomes non-exact: After larger than 1 frame steps.
- Becomes outdated: After any change effecting the simulation other than frame steps.
- Pros/cons: Freedom of doing anything and playing with particles, but exact results have to calculated from the beginning.

[Quick cache]
- Basic: Calculate simulation up to current frame automatically on changes with cache step sized jumps in simulation. With multiple "quick cached" simulations the smallest cache step is used.
- Becomes non-exact: Always from frame 1 (unless cache step = 1).
- Becomes outdated: Never.
- Pros/cons: Not very accurate, but super fast!
- Todo: Transform of any animated (non-autokeyed) object is locked! Probably needs some tinkering with anim sys overrides.

* The simulation can be run forwards or backwards even if it's cache is outdated or non-exact, the following rules apply in these situations:
- step forwards (to unknown) -> simulate from last exact frame, store result
- step backwards (to known) -> result is interpolated from existing frames, store result, clear cache forwards if current frame is after last exact frame

* "Calculate to current frame" runs the simulation from start to current frame with a frame steps of 1.
- Baking does the same, but runs the simulation all the way to the end of simulation.
- Rendering does this automatically if the simulation is outdated of non-exact, so all rendered simulations will always be updated and exact.

* Every cache panel also holds buttons to "Bake all dynamics", "Free all dynamics" and "Update all dynamics to current frame".

* Cloth simulation supports the new cache too.

11 years ago2.5
Ton Roosendaal [Sat, 27 Jun 2009 15:21:37 +0000 (15:21 +0000)]
2.5

Test commit; toolbar has 'add operator' menu in mesh editmode.
Nothing stored, freed here...

Also: removed reading .B.blend, since a much better default has
been compiled in now, prevents confusing testers who run 2.5
for the first time. :) Of course .B25.blend still works.

11 years agoUI:
Brecht Van Lommel [Sat, 27 Jun 2009 14:35:24 +0000 (14:35 +0000)]
UI:
* Fix issue with icon not being left-aligned in text field.
* Put modifier tab after data tab in buttons header.

11 years agoUI: move bone constraints panel to bone tab again.
Brecht Van Lommel [Sat, 27 Jun 2009 14:07:17 +0000 (14:07 +0000)]
UI: move bone constraints panel to bone tab again.

11 years agoRNA: move softbody flags from Object to SoftBodySettings.
Brecht Van Lommel [Sat, 27 Jun 2009 14:02:21 +0000 (14:02 +0000)]
RNA: move softbody flags from Object to SoftBodySettings.

11 years ago2.5 RNA:
Thomas Dinges [Sat, 27 Jun 2009 13:20:19 +0000 (13:20 +0000)]
2.5 RNA:

* Added more softbody properties (collision, solver) and some flags in object RNA.

11 years ago2.5
Ton Roosendaal [Sat, 27 Jun 2009 13:10:18 +0000 (13:10 +0000)]
2.5

Mesh editmode fix: Add new primitive often was on wrong location.
Viva Vazquez testing! :)

11 years ago2.5
Ton Roosendaal [Sat, 27 Jun 2009 12:41:28 +0000 (12:41 +0000)]
2.5

Bugreport; on dragging area edges, the mouse-release event was
swallowed by the panel animation handler. Thanks Pablo Vazquez
for report. :)