Commit Graph

19319 Commits

Author SHA1 Message Date
Chingiz Dyussenov
9cc690b0d1 Import per-face materials. 2009-07-02 12:35:46 +00:00
Campbell Barton
aefa7b626a 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.
2009-07-02 12:11:20 +00:00
Andre Susano Pinto
b14298f959 svn merge -r 21041:21301 https://svn.blender.org/svnroot/bf-blender/branches/blender2.5/blender 2009-07-02 11:28:42 +00:00
Ton Roosendaal
c7bd0d1248 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)
2009-07-02 11:23:19 +00:00
Joshua Leung
6b784a80f0 NLA SoC: F-Modifiers working on NLA Strips
* Using the Ctrl-Shift-M hotkey, F-Modifiers can be added to all the selected strips.

* F-Modifiers can also be added/tweaked from the NLA N-Key properties. The UI now uses the same code as for the graph editor ones.

The UI drawing here is currently messed up from the NLA side, since it seems combining normal layout stuff and old-style uiBlocks doesn't seem to work too well (BUT! the buttons are at least functional).
Next up, I'll need to recode the buttons panel for the Graph Editor so that all of the drawing can be migrated over to use the new layout engine.
2009-07-02 06:41:10 +00:00
Chingiz Dyussenov
f86100b358 Import:
*materials are assigned to objects.
TODO:
*import UVs
2009-07-02 05:43:14 +00:00
Joshua Leung
f3c47a66b0 NLA SoC: Separating out F-Modifier API
* F-Modifier API is now in its own file in blenkernel
* Renamed and refactored these so that they're no dependent on F-Curves, since all they really used was the fcu->modifiers list
* Added missing license blocks to a few files
2009-07-02 05:25:14 +00:00
Joshua Leung
b47605d841 NLA SoC: Separating F-Modifier UI drawing into its own file
* F-Modifier UI drawing/handling is now defined in a separate file so that it will be more suitable for inclusion into the NLA Editor's buttons.

* Started removing F-Curve dependence from the modifier drawing code, which wasn't strictly necessary

* Fixed F-Curve RNA wrapping to correctly use FPoints instead of the bulkier BPoints. Although nobody was likely to have encountered bugs here yet, this would almost certainly have contributed to some segfaults/data corruption along the track.
2009-07-02 04:47:36 +00:00
Joshua Leung
3373850e95 NLA SoC: Bugfix for Auto-Keyframing version patching
When auto-keying is enabled, the insertion mode is no-longer blank. The version patching code now takes this into account, but the conversion doesn't work for existing .b25.blend defaults files though.
2009-07-02 03:50:20 +00:00
Joshua Leung
b1a106dd49 NLA SoC: Merge from 2.5
21210 to 21300

Note to self: the next merge will be messy again, since 2 commits occurred this one was complete
2009-07-02 03:32:57 +00:00
Andre Susano Pinto
2acac0ff99 Reverted incorrect merge (missing files)
svn up -r 21247
svn merge -r 21247:21246 . (<= revert incorrect: merge -r 21041:21243)
svn up
2009-07-02 02:59:43 +00:00
Joshua Leung
78939898c7 NLA SoC: Adding some files that seem to have been missed during some merges. Hopefully all of these should really be in the repositry... 2009-07-02 02:53:18 +00:00
Joshua Leung
1588de008a NLA SoC: Separated 'Built-In Function Generator' FModifier into a separate FModifier
Started cleaning up FModifiers in preparation for allowing them to be used on NLA Strips. 

This commit separates the 'Built-in Function' mode for the Generator modifier out into its own modifier, since it was being quite frequently used (and the RNA wrapping for this used to be quite hackish). 

BACKWARDS COMPATABILITY WARNING:
Old files with FModifiers saved (i.e. old 2.5 files, but not any others) will not load correctly as a result of these changes (the wrong modifiers will be shown). I've decided that there are not likely to be many files affected by this yet, but doing this will result in a much nicer modifiers-define list in the long run.
2009-07-02 02:12:37 +00:00
Joshua Leung
ede921fdfa NLA SoC: Proper poll callbacks for Graph Editor
For now, some of these polls may be a bit too restrictive, but at least we have some unified+cleaned bases to work from now (instead of relying on the generic ED_operator_area_active).
2009-07-02 01:01:18 +00:00
Brecht Van Lommel
421f44278c 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?
2009-07-01 22:25:49 +00:00
Brecht Van Lommel
cda566d646 2.5: Fix a case of using freed memory in event handling. 2009-07-01 22:16:16 +00:00
Campbell Barton
666ce6de80 needed for building with py2 2009-07-01 20:55:32 +00:00
Elia Sarti
594c8802d7 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.
2009-07-01 19:56:50 +00:00
Arystanbek Dyussenov
6ede28a05a - started OBJ importer conversion
- added Mesh.add_uv_layer, Object.add_vertex_group
2009-07-01 18:23:11 +00:00
Chingiz Dyussenov
1bd28c878b * Export cameras and lights.
* Import materials. 
TODO:
Assign materials to objects.
2009-07-01 18:18:53 +00:00
Arystanbek Dyussenov
87a7dd3773 Merge from 2.5 r21160 through r21285 2009-07-01 13:37:52 +00:00
Campbell Barton
1a86cd6dcd 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.
2009-07-01 13:31:36 +00:00
Campbell Barton
8a35439e23 converting nurbs to a mesh ignored smoothing for Alt+C and from pythons getFromObject() 2009-07-01 13:07:28 +00:00
Andre Susano Pinto
1b557a61a5 fixed ray mirror/trans shadow on rayobject_bvh 2009-07-01 12:36:05 +00:00
Brecht Van Lommel
82055c8217 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()
2009-07-01 12:19:00 +00:00
Andre Susano Pinto
91226e6807 *Added rayobject_bvh
A bvh structure to use on the raytracer
2009-07-01 11:27:43 +00:00
Joshua Leung
66c8627820 NLA SoC: Renamed a few options for the Mirror operators since their purpose wasn't clear (in practice) 2009-07-01 01:17:58 +00:00
Nicholas Bishop
0fabb2039b 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.
2009-06-30 23:06:50 +00:00
Andre Susano Pinto
1deba75110 *Added initial code of rayobject_rtbuild
An helper class to build trees
2009-06-30 22:07:42 +00:00
Campbell Barton
5403edf8ff disabling foreach_get/set for python2.x, since it uses new buffer api. 2009-06-30 21:59:21 +00:00
Andrea Weikert
60c2599a1a 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.
2009-06-30 20:34:00 +00:00
Tom Musgrove
03e11e1e55 Reverting changes made for laptop/two button mice - will make the changes available as a patch. 2009-06-30 20:14:53 +00:00
Arystanbek Dyussenov
d8313b70f3 Exporter:
- texture/UV set binding
- extract names correctly from id.name
- output <unit name="meter" meter="1"/> in <asset>, dunno if this fits Blender
2009-06-30 19:37:28 +00:00
Shaul Kedem
a50dfe7ce4 second part of python2.6 upgrade in cmake, now it will copy the dlls too 2009-06-30 19:29:40 +00:00
Brecht Van Lommel
37864a4273 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.
2009-06-30 19:20:45 +00:00
Brecht Van Lommel
80ee09bb9a RNA
* Add Image.dirty boolean.
* Added Window struct, with editable Window.screen.
* Make Screen.scene editable.
2009-06-30 19:10:14 +00:00
Andrea Weikert
538da84de0 2.5 filebrowser
* Hide dot operator (HKEY) for theeth
2009-06-30 18:29:30 +00:00
Andre Susano Pinto
021e0cc53f *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))
2009-06-30 14:05:33 +00:00
Campbell Barton
30dcada24d 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.
2009-06-30 12:52:16 +00:00
Chingiz Dyussenov
50db74f62b Export textures mapped to diffuse, ambient, specular, emission and reflective colors.
Input is always assumed to be UV.

Texture/UV set mapping is not done yet.
2009-06-30 09:10:37 +00:00
Andrea Weikert
0c14be3b58 2.5 file browser
* adding GPL copyright header.
2009-06-30 06:27:48 +00:00
Andre Susano Pinto
e0cfafa629 Measure build time...
*as expected it's a lot faster on BVH
2009-06-30 01:17:50 +00:00
Campbell Barton
f60760e2e2 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.
2009-06-30 00:42:17 +00:00
Andrea Weikert
da32a0594b 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
2009-06-29 23:21:11 +00:00
Andrea Weikert
17d5bfd970 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.
2009-06-29 22:16:48 +00:00
Andre Susano Pinto
dd7463bd4d svn merge -r 21041:21243 https://svn.blender.org/svnroot/bf-blender/branches/blender2.5/blender 2009-06-29 21:50:53 +00:00
Tom Musgrove
84cd5a6cfb 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 2009-06-29 21:07:33 +00:00
Andrea Weikert
5e20f57431 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.
2009-06-29 20:23:40 +00:00
Andre Susano Pinto
1136656bba *forgot this file 2009-06-29 20:15:59 +00:00
Andre Susano Pinto
f5f6850f23 *make type of acceleration structure changeable at runtime
*added some counter code (test/hits) for primitives and raycasts
2009-06-29 19:48:11 +00:00