Commit Graph

85 Commits

Author SHA1 Message Date
8177f343a0 - object.add_shape_key(name="Key", from_mix=True)
- ensure new shape key names are unique
- Transfer ShapeKey now can have its settings changes (redo operator)
2009-12-28 18:03:04 +00:00
d98cbf7727 simple fix [#20218] Object.is_visible() don't reflect visibility 2009-12-05 14:12:06 +00:00
91352006c4 arbitrary property and function support for rna properties (arrays and collections), this means functions can be easily added.
eg.
 scene.objects.link()
 object.constraints.new()
 mesh.verts.transform(...)
 mesh.faces.active

PropertyRNA stores an StructRNA pointer where these can be defined.
2009-11-13 16:08:03 +00:00
53250f85db object.constraints.add()/remove()/active, same for PoseChannel
modified internal api for minimal rna wrapper functions.

TODO
- missing updates for pose channels
- typecheck for pose/object constraints
2009-11-11 19:58:30 +00:00
37e4a311b0 Math Lib
* Convert all code to use new functions.
* Branch maintainers may want to skip this commit, and run this
  conversion script instead, if they use a lot of math functions
  in new code:
  http://www.pasteall.org/9052/python
2009-11-10 20:43:45 +00:00
d987003608 remove rna function convert_to_triface because it uses an internal editmesh function and only the OBJ exporter called this.
Converting to tri's on export isnt very important.
2009-09-23 01:35:45 +00:00
b4ef0c7d8d minor fixes for merge of soc-2009-kazanbas, rev23422
- Use CTX_data_main(C) over G.main
- no need to define object_type_items inline.
- rna_mesh.c - dynamic length array was commented out, not sure why this was needed. Povray and PLY scripts rely on faces having 3/4 verts rather then checking the 4th index is 0 (ok in C, not nice in py).
2009-09-22 17:50:29 +00:00
abb49829ef Manual merge of soc-2009-kazanbas branch:
* copied I/O scripts
* copied, modified rna_*_api.c and rna_*.c

I/O scripts not working yet due to slight BPY differences and RNA changes. Will fix them later.

Not merged changes:

* C unit testing integration, because it is clumsy
* scons cross-compiling, can be merged easily later
2009-09-22 16:35:07 +00:00
7c5695c801 - bpy.data.sounds was a collection of ID's rather then Sounds
- last commit, missed include for rna_object_api.c & bad args to find_basis_mball
- use enum for GHOST tablet type None/Stylus/Eraser, had duplicate definition for these in C. Only tested X11, may need to cast to an int for other OS's.
2009-09-16 15:55:00 +00:00
103e11359d - rna/python api object.create_render_mesh(...) support for getting a mesh from metaballs and curves (bevel, surface, text etc).
- povray converts curves to meshes on export, (metaballs don't need meshing).
- use 'extend' bool rather then 'seltype' enum for object_select operators for consistency.
2009-09-16 10:09:57 +00:00
816377cc02 Undo revision 23130 which was a merge with 2.5, a messy one because I did something wrong (svn status output: http://www.pasteall.org/7887).
The command: svn merge -r 23130:23129 https://svn.blender.org/svnroot/bf-blender/branches/soc-2009-kazanbas
2009-09-15 18:01:18 +00:00
ba5df38d66 use static functions where possible for some local functions. 2009-09-14 16:52:06 +00:00
3b2ad838e8 Merge with -r 22620:23107.
Next: update scripts and merge in 2.5.
2009-09-11 18:09:58 +00:00
7220792f18 Various fixes in rna_*_api.c files to remove compiler warnings. 2009-08-19 09:52:13 +00:00
6a056e4717 - converted 3ds exporter to 2.5 API
- added Object.is_visible() RNA function to determine if an object is on the visible layer of active scene
2009-08-12 16:37:05 +00:00
8fa528cef8 Added Object.find_armature() to find armature connected to object. Previously this was BPyObject.getObjectArmature() 2009-08-08 11:33:34 +00:00
2065c5cf60 Merge with 2.5 -r 21756:22173. 2009-08-03 14:06:47 +00:00
fe881aa7ad - lamp UI was missing y samples for rectangle area lamps
- returned ID types from RNA funcs didnt get their ID's assigned which crashed in some cases (still not working for members of ID types).
- ob.create_remder_mesh() wasnt assigning any materials.
2009-07-28 01:06:56 +00:00
00e219d8e9 FBX exporter:
- made an operator with props for UI. UI is still "raw"
- ran 2to3 on export_fbx.py to make it python 3-compatible

Next: testing/fixing.
2009-07-22 13:35:02 +00:00
122104b3bb FBX exporter conversion almost done.
Unit tests:
- add a check that BKE_copy_images produces NULL filepath for images having type other than IMA_TYPE_IMAGE
- also expect NULL filepath for images having empty filename

Enhanced BKE_copy_images so the tests pass.
2009-07-17 10:09:07 +00:00
aede14d4e0 - replaced Object.create_mesh body with 2.4x API's Mesh.createFromObject code to also support curves, surfaces and metaballs.
- replaced Object.dag_update with Object.make_display_list, which copies old API's Object.makeDisplayList
2009-07-16 13:19:43 +00:00
fb150e12c5 - FBX exporter conversion continued
- added (uncommented actually) PoseChannel.pose_matrix
- added Object.dag_update that calls DAG_object_flush_update. I'm not sure if it's needed, but FBX exporter uses it.
2009-07-13 11:04:18 +00:00
617851bf21 - added API functions:
- Mesh.calc_normals
 - Object.add_vertex_to_group
 - Main.add_material
 - Main.add_texture
 - Material.add_texture
- OBJ importer conversion in progress
2009-07-02 20:46:35 +00:00
6ede28a05a - started OBJ importer conversion
- added Mesh.add_uv_layer, Object.add_vertex_group
2009-07-01 18:23:11 +00:00
1557736756 OBJ exporter working (Python 3.0), but needs testing and fixing.
Current issues:
- NURBS - needs API additions
- "all scenes" export - cannot switch scene in bpy
- normal calculation, disabled
- duplis - need testing, only dupliverts tested
- matrix problem
- UI, 18 options currently don't fit into filesel panel, will do manual lay out once it's available
- probably others...

BPY:
- made operator "execute" method required to avoid crash
- added bpy.sys module which replicates old "sys" module

API:
- replaced create_*_mesh with a single create_mesh accepting type parameter
- added Mesh.create_copy to create a copy of a mesh with 0 users

Ran `dos2unix` on source/blender/python/SConscript
2009-06-28 13:29:03 +00:00
acb590e4b0 * OBJ exporter almost converted
* added MeshEdge.loose property
* changed mask used in Object.create_*_mesh to CD_MASK_MESH.
2009-06-26 12:33:07 +00:00
18e7ec8463 - added MeshFace.normal property
- continuing OBJ exporter conversion
2009-06-25 18:04:32 +00:00
3f2fef55c2 - added API functions:
* Main.remove_object
  * Scene.add_object
  * Scene.remove_object
  * Object.convert_to_triface
  * Object.create_preview_mesh
  
- a small tweak in set_mesh (blenkernel/inter/mesh.c) to make it work on objects having data == NULL
2009-06-24 19:23:34 +00:00
3fce2f2826 - added Mesh.transform
- fixed Object.create_dupli_list
- continuing OBJ exporter conversion
2009-06-23 17:52:58 +00:00
01da493a0a * Object.create_dupli_list, Object.free_dupli_list tweaking
* Defined custom "get" function for DupliObject.object

Accessing Object.dupli_list[N].object produces a crash.
2009-06-20 20:08:11 +00:00
705fbec768 * Added Main.add_object(type, name)
* Added optional params to Object.create_render_mesh(apply_matrix, custom_matrix)
  apply_matrix is a boolean, True to transform mesh by ob->obmat or custom_matrix if given
* Fix subtle error in Object.create_dupli_list
* Make RNA struct funcs static, hopefully didn't miss any

Ignore export_obj-2.5.py changes for now ;)
2009-06-20 16:32:52 +00:00
a7f914d25a - tweak Object.create_render_mesh params
- svn merge -r 20124:20998 \
https://svn.blender.org/svnroot/bf-blender/branches/blender2.5/blender/release/scripts/export_obj.py \
export_obj-2.5.py to make sure I don't miss new OBJ exporter features ;)
2009-06-20 05:52:19 +00:00
f6267e2a26 Moved struct DupliObject to DNA_object_types.h.
Object.create_dupli_list now works ok.
2009-06-19 12:46:51 +00:00
5d78f56c1f - added Object.create_dupli_list, Object.free_dupli_list
- attempted to RNA-wrap DupliObject, Object.create_dupli_list returns a 
collection of these.

Build fails probably because DupliObject is not defined in one of 
DNA_*.h headers.
2009-06-19 10:40:18 +00:00
4cd24cf058 RNA
Merging changes made by Arystanbek in the soc-2009-kazanbas branch,
plus some things modified and added by me.

* The API files now all in the makesrna module, convention is to
  call them e.g. rna_mesh_api.c for rna_mesh.c. Note for visual
  studio build maintainers, the rna_*_api.c files are compiled as
  part of "makesrna", but do not have rna_*_gen.c generated as part
  of the library. SCons/cmake/make were updated.

* Added function flags FUNC_USE_CONTEXT and FUNC_USE_REPORTS, to
  allow RNA functions to get context and error reporting parameters
  optionally. Renamed FUNC_TYPESTATIC to FUNC_NO_SELF.

* RNA collections now have a pointer to add/remove FunctionRNA's, this
  isn't actually used anywhere yet, purpose is to make an alias
  main.meshes.add() for main.add_mesh() in python.

* Fixes to make autogenerating property set/get for multidimensional
  arrays work, though a 4x4 matrix will be exposed as a length 16
  one dimensional RNA array.

* Functions and properties added:
	* Main.add_mesh()
	* Main.remove_mesh()
	* Object.matrix
	* Object.create_render_mesh()
	* WindowManager.add_fileselect()
2009-06-18 19:48:55 +00:00