Commit Graph

13874 Commits

Author SHA1 Message Date
dd493f71be modified patch from Arystanbek, allow assigning of mathutils matrix to an rna matrix 2009-06-23 17:10:46 +00:00
cb59bf722e Move shadow option (for text) from editor/interface to blenfont.
Two new function:
 BLF_shadow: set the level (for blur) and the shadow color.
 BLF_shadow_offset: set the x and y offset for shadow.
		 (this is the current position plus offset)

By default shadow is not enable in the font, so before draw the
text you need call BLF_enable(BLF_SHADOW), also remember disable
the option in the end.
2009-06-23 16:27:35 +00:00
eb22a7b210 PyRNA API support for matrix types as Mathutils matrix (with callbacks) rather then a generic rna sequence of floats.
Any 3x3 or 4x4 rna matrix will automatically be returned as a Mathutils matrix.
This makes useful stuff like multiplying a vector location by an object matrix possible.
 ob = bpy.data.scenes[0].objects[0]
 print (ob.data.verts[0].co * ob.matrix)

Also added mathutils matrix types to the BGE GameObject.localOrientation, worldOrientation

* MT_Matrix3x3 added getValue3x3 and setValue3x3, assumed a 4x3 float array.
* KX_GameObject.cpp convenience functions NodeSetGlobalOrientation, NodeGetLocalOrientation, NodeGetLocalScaling, NodeGetLocalPosition.
* 2.5 python api now initializes modules BGL, Mathutils and Geometry
* modules py3 PyModuleDef's use PyModuleDef_HEAD_INIT, rather then {}, was making msvc fail to build.
* added macros for Vector_ReadCallback, Vector_WriteCallback etc. to check if the callback pointer is set before calling the function.
2009-06-23 13:34:45 +00:00
bf74f105bc small changes...
- allow RNA_property_enum_items to take the totitems int pointer as NULL (spares a loop on all the enum items). this change also makes enums types with no enum array crash in some places, could support these though Id rather disallow them, generating docs is a quick way to test for this.
- open recent file operator used and enum to open the recent file without an enum array, changed to an int type.
- added space_logic.py poll functions
2009-06-23 12:36:15 +00:00
502a3849bd 2.5 - Icons for Modifiers in Modifier Template
As per William's mockup - http://www.reynish.com/files/blender25/modifiers.png
2009-06-23 11:28:48 +00:00
a4b0f41a4a 2.5 Icons:
* Added lamp icons.
2009-06-23 11:16:27 +00:00
4771c2358d 2.5 Icons:
* Modifier Icons are now shown in the add modifier menu.
2009-06-23 11:00:35 +00:00
9fd605c050 2.5: Image Editor
* Menu and header more complete now.
* Clean up Game Properties panel and moved View Properties panel
  to python.
* Fix some drawing issues when combining tiles, repeat and aspect,
  some also from 2.4x, these options didn't work together 100%.
2009-06-23 00:45:41 +00:00
e2b6cea3b9 2.5: Tool Settings
* Moved proportional edit, snap, autokey mode, and a few others
  from Scene to ToolSettings.
* RNA wrapped properties in ToolSettings for the UV editor:
  proportional edit, snap settings, selection modes.
2009-06-23 00:41:55 +00:00
272fac8fd6 UI: some API functions don't require explicit context passing anymore. 2009-06-23 00:19:10 +00:00
333e231fa6 SVN maintenance. 2009-06-23 00:09:26 +00:00
8c1d19020e UI
* Make Directional Order menus the default again.
* Scale up contents panels that do not use layout system.
* Fix for enum size and uncesseray colon in some cases. 
* For item_menu_enumO, show icons if specified in RNA in
  the menu (e.g. in the add modifier menu if there were
  icons specified).
2009-06-22 23:58:16 +00:00
8579eff5c6 removing files that should not be in blender2.5, added (by mistake?) r19226 2009-06-22 22:32:00 +00:00
e7d02e5679 2.5: warning fixes
Mostly harmless ones, except for one about "gzopen64" being
undeclared. This needs some defines in BLI_storage.h to be set
before <unistd.h> is included. Might fix a crash in compressed
file reading, though I'm not sure since it's hard to repeat
the crash consistently.
2009-06-22 18:19:18 +00:00
bce3f7e019 PyAPI Mathutils Vector callbacks, referencing other PyObjects rather then thin wrapping vectors which is crash prone.
in short, vectors can work as if they are thin wrapped but not crash blender if the original data is removed.

* RNA vector's return Mathutils vector types.
* BGE vectors for GameObject's localPosition, worldPosition, localPosition, localScale, worldScale, localInertia.
* Comment USE_MATHUTILS define to disable returning vectors.

Example...

* 2.49... *
 loc = gameOb.worldPosition
 loc[1] = 0
 gameOb.worldPosition = loc

* With vectors... *
 gameOb.worldPosition[1] = 0


* But this wont crash... *
 loc = gameOb.worldPosition
 gameOb.endObject()
 loc[1] = 0 # will raise an error that the objects removed.

This breaks games which assume return values are lists.

Will add this to eulers, matrix and quaternion types later.
2009-06-22 04:26:48 +00:00
1efffc1f56 2.5/Sculpt:
Fixed the Lock X/Y/Z buttons for sculpt, should work for all brushes now.
2009-06-21 18:59:26 +00:00
03c46c1e54 2.5/Sculpt:
Some improvements to the layer brush; the displacement is now tied to brush size, like for draw and inflate.

Fixes for layer brush in subtract mode and anchor mode.
2009-06-21 17:04:17 +00:00
b9f5676caa remove support for videoscape, amiga 3D app that came before lightwave. 2009-06-21 16:58:22 +00:00
8ead648fd1 Spring Cleaning
* removed radiosity render code, DNA and RNA (left in radio render pass options), we'll get GI to replace this probably, better allow baking to vertex colors for people who used this.
* removed deprecated solid physics library, sumo integrations and qhull, a dependency
* removed ODE, was no longer being build or supported
* remove BEOS and AMIGA defines and references in Makefiles.
2009-06-21 16:18:38 +00:00
de77b4a9b3 2.5/Sculpt:
Fixed bug where anchor brush would leave messed up normals (was related to using face normals, not vertex normals.)
2009-06-21 15:59:43 +00:00
7f55c3b89c RNA read-only wrapped wmEvent so python operators invoke functions
* 2 new enums event_value_items and event_type_items in RNA_enum_types.h
* WM_key_event_string now uses an RNA enum lookup rather then its own switch statement.
* moved wmEvent from WM_types.h into DNA_windowmanager_types.h
* added RNA_enum_identifier and RNA_enum_name to get strings from an enum value.
2009-06-21 14:30:59 +00:00
1f9368b37e Particle system parenting
* Allows moving, rotating & scaling of particle simulations.
* Setting in particle render options.
* Changes viewed & rendered particles from global space to parent space.
* Doesn't effect simulations at all.
2009-06-21 11:09:16 +00:00
c549e75c16 2.5 Buttons Window:
* WIP Commit: Started wrapping the buttons header to python. Still disabled due to some display problems.
2009-06-21 10:26:39 +00:00
6b15024f4a Pointcache refresh part 1:
* Particles support larger than 1 frame changes, bigger frame changes can result in inaccurate results, but it's super fast and you get a nice feeling of how the particles behave!
* "Cache to current frame" button calculates the exact result of particles at current frame.
* Current state of cache can be protected by making it a bake.
* Cache is now in memory by default, disk cache is an option.
* Only "viewport %" number of particles are calculated and cached in viewport, baking and rendering calculate all particles.
* Info on cached frames and memory usage given in ui.
* Support for exact "autocaching" of changes and large frame changes(disabled for now until exact place in event system is decided)
* "Continue physics" is probably deprecated after this and should be removed once sb & cloth use the new cache code.

Todo:
* Make softbody & cloth use the new cache things.

Other changes:
* Some cleanup of particle buttons.
2009-06-21 10:16:52 +00:00
64274de2fe 2.5/Sculpt:
Fix for the poll used for the operator to set the brush curve to a preset. The 3 brush curve presets in the Sculpt menu are now functional.
2009-06-21 03:34:30 +00:00
984ab79629 2.5/Multires:
Bugfix for loading older files with the pre-modifier multires.
2009-06-21 02:51:42 +00:00
001dab25d4 2.5/Sculpt:
Added a clay brush. It behaves like a combination of the flatten and draw brushes.

Credit to Fredrik Hannson for the original patch (#18666)
2009-06-20 20:29:25 +00:00
823a7ce3d3 RNA: added MeshVertex.normal. 2009-06-20 15:06:18 +00:00
ad07fc19c0 Context
Python dir(context) now gives the items from the data context
too, modified context callbacks to also return a list of items
in the context.
2009-06-20 14:55:28 +00:00
980dab9028 2.5: fix for crash in BLI_dynstr_appendf, each vsnprintf call
apparently needs its own va_start/va_end.
2009-06-20 14:53:30 +00:00
a68ebbbccd RNA Fixes
* Python apis iterator didnt work, for example [f for f in mesh.faces] # failed.
* Python apis collection.items(), collections without names now return (index,value) pairs, better then returning nothing.
* bpy.ui and bpy.props modules were incorrectly named
* Mesh vertex colors red/blue needed to be swapped on getting/setting.
* Mesh vertex colors were not clamped.
2009-06-20 13:53:14 +00:00
3511d72488 game logic UI script, physics could be broken up into more panels. 2009-06-20 06:06:13 +00:00
7785ead4eb ObColor wasnt converted into an RNA string.
Updated Mathutils.Vector/Euler/Quaternion/Matrix so these are types rather then module methods, each type now has a tp_new function, matching python builtins float/int/str.
Also cleaned up float conversion and arg passing.

Changed buttons_objects.py...
 if ob in groups.objects: # no longer works
 if ob.name in groups.objects: # is the new syntax
...its more dict like and a lot faster (avoids python iterating over each item and comparing each, use a single rna lookup instead).
2009-06-20 02:44:57 +00:00
d0e8acaf29 UI
* Fix issue with panel header line not always being hidden
  for the first panel.
* Fix graying out of aligned buttons being off by one pixel,
  did not find a nice solution for it though, so just added
  -1/+1 in the code.
2009-06-19 23:11:41 +00:00
aa0aac706e 2.5
* Optimized RNA property lookups and path resolving, still can be
  much better, but now the 1000 IPO example on bf-taskforce25
  runs at reasonable speed.
* Also an optimization in the depsgraph when dealing with many
  objects, this was actually also a bottleneck here.
2009-06-19 23:05:21 +00:00
7349d775b0 2.5/Sculpt:
Made some improvements to how brush strength works.

* For the draw and inflate brushes, the brush's 3D radius is used to set the "goal" distance, towards which vertices move. A strength setting of 1.0 will move verts there immediately (with the usual exceptions of tablet pressure, texture/curve input, etc.)

* Also changed strength calculation to use the square of the strength slider, so that you don't have to be as finicky setting a low brush strength.

* For smooth brush, added an extra loop through the verts. So, a bit slower, but now verts take into account more than the immediate vertex ring.

TODO:
Still some magic numbers:
* Pinch limits the effect to moving vertices half of the way towards brush center. I see no use for a 100% pinch (it pretty much destroys the mesh.) Even half may be too high a limit, but this is hard to place an exact number on.

* Smooth has two magic numbers, the strength fudge factor and the number of smooth repetitions (currently 2.)

* The way the layer brush works is left unchanged for now.
2009-06-19 22:16:30 +00:00
c3b8db4833 BGE: allow action blending by bringing back blend_poses() as game_blend_poses, the new animation system doesnt use it but doesnt have a replacement function so it can be kept for the BGE only. 2009-06-19 16:27:01 +00:00
6c139156cf RNA:
* EditBone wrapped, using manual get/set function, and used
  in the UI code. Makes the RNA wrapping code here more
  complicated, but works.
2009-06-19 14:56:49 +00:00
42e60acce6 Animato - Conversions Bugfix
Object actions are now converted before object ipo's so that if both of them exist, the Action can still preserve its name.
2009-06-19 11:17:56 +00:00
4f9e0ec06e Update Mathutils for py3k
* removed coercing types which has been removed from py3.
* matrix uses getset's rather then getset items.
* removed deprecated functions.
2009-06-18 23:12:29 +00:00
96003b5b73 Revert a small change to kerning, Matt please let me know if now it's fine (or like before). 2009-06-18 20:45:58 +00:00
dd250f7d85 2.5
Missing { when WITH_LCMS is defined.
2009-06-18 20:13:17 +00:00
94dbb3bbdd 2.5 Python
Merging changes made by Arystanbek in the soc-2009-kazanbas branch,
plus some things modified and added by me.

* Operator exec is called execute in python now, due to conflicts
  with python exec keyword.
* Operator invoke/execute now get context argument.
* Fix crash executing operators due to bpy_import_main_set not being
  set with Main pointer.
* The bpy.props module now has the FloatProperty/IntProperty/
  StringProperty/BoolProperty functions to define RNA properties for
  operators.
* Operators now have an __operator__ property to get the actual RNA
  operator pointers, this is only temporary though.
* bpy.ops.add now allows the operator to be already registered, it
  will simply overwrite the existing one.
* Both the ui and io directories are now scanned and run on startup.
2009-06-18 19:51:22 +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
89d2559e6d 2.5
* Update cmake and makefiles to link python generic.
* Fix game engine building for cmake and makefiles.
* Fix compile error with py 3.x, due to 2.x compat fix.
2009-06-18 19:25:58 +00:00
025b6dcbc3 fix for building with py2.3 2009-06-18 17:34:39 +00:00
122b206de3 Fixing gl/glw.h compiiler error 2009-06-18 15:33:58 +00:00
2f48d0b46b Added Make for new python/generic dir.
Also included GLEW.
2009-06-18 15:31:14 +00:00
8130fb29b2 RNA:
* Make cloth settings animateable from buttons.
2009-06-18 14:29:24 +00:00
5ea992df98 UI:
* Fix context.cloth, was not being set correct.
* Fix errors with context pinning, scripts should
  not assume context.object to be there.
* Always show preview even if e.g. the material is not
  set, to keep ID buttons from jumping while you're
  using them.
2009-06-18 14:20:25 +00:00