Commit Graph

340 Commits

Author SHA1 Message Date
Ken Hughes
d7a21ed220 ===Python API===
First pass at sceneRender.c / Scene.Render API clean-up.  Mainly implementing
attribute via tp_getset, but a few new features too.
2006-05-29 05:01:07 +00:00
Ken Hughes
7b1d6021a4 ===Python API===
Fix typo in Mesh.py epydoc.
2006-05-29 03:52:38 +00:00
Ken Hughes
8a8400ff28 ===Python API===
Added to Mesh API me.sel and me.hide, which set/clear the selection and
hidden values for all verts/edges/faces in a mesh.
2006-05-28 00:39:13 +00:00
Ken Hughes
6ebdfbfc85 ===Python API===
Fixed epydoc summaries for mesh.vert.index and mesh.vert.uvco so they say
something useful other than "(MVert Only)".
2006-05-27 23:31:13 +00:00
Ken Hughes
0fab573205 ===Python API===
Bugfix: epydocs for World API incorrectly described settings for getMode(),
setMode() methods.
2006-05-27 16:40:00 +00:00
1b577b7f0d *python documention & bug fix
- added documentation to Render - saveRenderedImage has an option to save the zbuffer along with the image
(off by default)
- fixed a really annoying runtime error of uninitialized data being passed to a method in pipeline.c during a render
2006-05-25 21:10:28 +00:00
Ken Hughes
8fb3373a78 ===Python API===
Ok, now let's try making the Mesh Primitives documentation accessible.
2006-05-25 17:00:17 +00:00
Ken Hughes
48033e00c4 ===Python API===
Fulfilling a very old feature request: a new Mesh Primitives module is
introduced, which gives script writers access to the Blender mesh datablocks
created from the "Add->Mesh" menu.  You can now do this:

  from Blender import *

  me = Mesh.Primitives.UVsphere(10,20,3) # 10 segments, 20 rings, diameter 3
  ob = Object.New('Mesh','mySphere')
  ob.link(me)
  sc = Scene.GetCurrent()
  sc.link(ob)
2006-05-25 16:45:24 +00:00
Stephen Swaney
8aeaf82a67 set locale to POSIX so regex works on platforms that set funny
locales.  needed to make "ls [A-Z]*.py" work properly.
Setting LC_ALL=C may be a better choice than LC_ALL=POSIX.
We shall see.
2006-05-23 02:27:22 +00:00
Ken Hughes
677cf7f133 ===Python API===
Adding support for Action Strips to the API.  A new attribute "actionStrips"
has been added to the Object API to access them.
2006-05-22 14:19:52 +00:00
58648f0ed2 python documentation update 2006-05-21 21:04:21 +00:00
Ken Hughes
f3ae4d0f4d ===Python API===
Something to try making import/export script writers happy; Mesh.New() will
not create a new Blender mesh datablock unless the mesh is linked to an
object.
2006-05-20 16:52:11 +00:00
befd007511 === Python API ===
Blender.Draw.ColorPicker

	Enables scripters to use a color picker in there scripts.

See this file for a trivial demo: http://blenderartists.org/~theeth/colorpicker.blend
2006-05-20 15:44:14 +00:00
Chris Want
a0fdbf1c18 Added Blender.Get('rt') so that the pythoner can access the value
of the rt button for setting debugging levels.
2006-05-17 16:42:04 +00:00
Ken Hughes
18b622ca6b ===Python API===
Change code for rigid body access to use attributes instead of methods; also
add documentation to epydoc.
2006-05-17 16:08:54 +00:00
bb69543fa9 *added new Object method Object.evaluatePose(frame)
- the new methods will advance an object's pose correctly to any frame

Example:
myobj = Blender.Object.Get('obert')
for x in range(10):
  myobj.evaluatePose(x)
  pose = myobj.getPose()
  print 'Data at Frame %d' % x
  for bone in pose.bones.values():
    print bone.head, bone.tail
    print bone.head, bone.tail
2006-05-16 20:32:21 +00:00
16f4d0c0b6 *documentation update 2006-05-14 18:29:32 +00:00
Ken Hughes
d9045c860b ===Python API===
Make me.faces.sel and me.edges.sel behave like EM_select_face() and
EM_select_edge() in source/blender/src/editmesh_lib.c.

Script users should note that if they change ANY of the selection states
(vertex, edge, face) and then call a mesh "tool" method (like me.remDoubles)
that the selection states of the mesh MAY change, since these tools use the
edit mode (which updates select states).
2006-05-14 14:12:45 +00:00
Ken Hughes
b69cde1eb7 ===Python API===
Fixing some nmesh typos in Mesh docfile (thanks, Hos).
2006-05-12 20:47:39 +00:00
Ken Hughes
24c08a722e ===Python API===
* use CONSTRAINT_LOCAL instead of SELECT in "Copy Rotate" constraint
* remove "LOCAL" key for now from "Copy Size" constraint; not supported
  right now in Blender UI
2006-05-12 13:10:55 +00:00
Ken Hughes
d6bad3e236 ===Python API===
Added NULL constraint (and fixed bug that didn't allow appending FLOOR
constraint), and added support for Constraint.Settings.LOCAL key support in
COPYLOC, COPYROT and COPYSIZE constraints when target object is an armature.
2006-05-12 04:34:02 +00:00
831a1fa91d Added MVert.hide property because hidden verts were hanging BPyMesh_Redux 2006-05-11 20:35:43 +00:00
a3783d32e0 Added some shortcuts to Mesh
MFace.area
 MFace.cent
 MEdge.length

Updated some scripts that used these.
2006-05-11 10:06:15 +00:00
Ken Hughes
4b310f2b8f ===Python API===
Correct error in Constraint example code.
2006-05-09 01:34:59 +00:00
Ken Hughes
cd3af13a1b ===Python API===
New Constraint API.  Constraints are accessible through a "constraints"
attribute in poses and objects.  Would be REALLY NICE for armature users to
pound on this code.
2006-05-07 14:57:58 +00:00
53e777aae1 added optional 'worldspace' arg to getLocation/getSize/getEuler
getSize is never flipped, but added a note in the docs.
correction to getEuler, its not wrapped.

also removed all // comments to shut GCC up.
2006-05-07 08:12:18 +00:00
e9718958ee Applied pack unpack from Pablo Martin (caedes),
http://projects.blender.org/tracker/?func=detail&atid=127&aid=3246&group_id=9
adds

Blender.c:
Blender.UnpackModes (dict with the unpack modes)
Blender.UnpackAll(mode)
Blender.PackAll()
Blender.CountPackedFiles()

Image.c:
image.packed (this was working)
image.pack()
image.unpack()

Sound.c:
sound.packed
sound.pack()
sound.unpack()
2006-05-06 06:17:46 +00:00
9681a329c1 added a python menu slot for weight pain.
Also needed to seperate
  view3d_paintmenu
into
  view3d_vpaintmenu
  view3d_tpaintmenu
  view3d_wpaintmenu

The view3d_paintmenu and do_view3d_paintmenu were getting messy and had a lot of if's in it.
2006-05-05 06:57:33 +00:00
Ken Hughes
9874d5c76f ===Python API===
Added activeGroup attribute to Mesh API, to get/set active vertex group for
meshes.
2006-05-02 17:44:44 +00:00
Ken Hughes
30f4f3e2c4 ===Python API===
Remove references in epydoc to deleted NMesh modes SUBSURF and OPTIMAL.
2006-05-01 21:15:49 +00:00
Ken Hughes
3b84767824 ===Python API===
Remove "EXPP_MOD_" from descriptions in Settings dictionary.
2006-04-29 14:24:30 +00:00
Ken Hughes
139c190605 ===Python API===
Added render.getRenderWinSize() method, to complement render.setRenderWinSize()
2006-04-27 20:24:27 +00:00
176a4c8507 Added scalePart to mathutils matrix type object.
and made it so toEuler converts a 4x4 matrix to a 3x3 rather then raising an error.

Its not straight fwd to get an objects worldspace loc/size/rot from its 4x4 matrix.
Example from updated docs.
      import Blender
      scn = Blender.Scene.GetCurrent()
      ob = scn.getActiveObject()
      if ob:
        mat= ob.mat # Same as martixWorld
        print 'Location", mat.translationPart() # 3D Vector
        print 'Size", mat.scalePart() # 3D Vector
        print 'Rotation", mat.toEuler() # Euler object
2006-04-27 12:32:44 +00:00
Ken Hughes
74acf8224d ===Python API===
Fix some small typos in Pose epydocs.
2006-04-25 22:00:18 +00:00
ab5c87cbf4 Re arranged how modifiers are used.
All settings through Blender.Modifier.Settings
see the epydocs
Also added some error checking to fix some possible segfaults.
Added more epydocs

Modifiers API should be stable enough to use now, though give it a bit of time for testing.
2006-04-25 13:01:19 +00:00
26c8d8f983 For some reason the render docs didn't mention the fact that you the RenderData stuct has the 'currentFrame' method for proper frame access. 2006-04-24 16:17:03 +00:00
Ken Hughes
6f94c5ef5e ===Python API===
More Modifier API changes:
 * add Blender.Modifier.Settings dict with constants for modifier types
 * add mod.type attribute, which returns type of the Modifier
 * add some internal consistency checks in ModSeq_remove
2006-04-23 17:01:04 +00:00
b3bd7c869a added remove to the modifier seq (when pymodifier->md is NULL then its been removed)
added name to the docs
2006-04-23 08:01:02 +00:00
Ken Hughes
8001a8b409 ===Python API===
Initial commit for new Modifier API.  Probably does about 70-75% of what it
should, but it's a start.
2006-04-23 02:34:50 +00:00
Ken Hughes
1e1e908816 Miscellaneous fixes to documentation. 2006-04-21 20:31:27 +00:00
Ken Hughes
4aa28f13f4 ===Python API===
New Ipo and IpoCurve API.  Ipo and IpoCurve objects support the [] operator,
for accessing the curves of a particular Ipo and for accessing the value
of an IpoCurve at a specific time.  Both modules were also "tp_getset"-ified.
Also, code for an alternative method (Antont wanted this) of accessing curves
via Ipo attributes is included for now, for people to try and see if it's
actually preferable to the Ipo [] operator.

These are all new additions; nothing was intentionally removed from the API.
If you find the something in the existing API has changed, let me know.
2006-04-21 20:27:52 +00:00
1632a2f888 Added Group to Blender.Types, tested and working.
Added Group Epydocs, with 2 examples.
also added http://en.wikibooks.org/wiki/Blender_3D:_Blending_Into_Python
  to the blender links main page.
2006-04-20 14:26:24 +00:00
2b46b624f8 Error in accessing the listbase needed to use BLI_countlist(&lb) rather then BLI_countlist(lb)
fixed, thanks jms for the hint.
2006-04-18 15:37:32 +00:00
Stephen Swaney
619d313f01 Fix typo in doc. CurNurb.setType() was getType() which hid the
real getType() definition and made getType() into the setter.   All that
confusion from a single character!
2006-04-13 01:41:42 +00:00
Ken Hughes
7fd0e22f1e Bugfix #4055: the "sel" attributes for faces/edges/verts were basically
oblivious of each other, so setting/clearing the face edit mode select status
did not set/clear the corresponding vertex select statuses.  This patch makes
a change of any select status recalculate the selection state of all edges an
faces.  One unresolved issue is what effect this should have on the recent
edge mesh's stored selection.  Currently changing the selection state will
delete store selection info, but it may be desirable to emulate the stored
selection (but I need to discuss how this should work in more depth with
Geoffrey Bantle).

As an added bonus (while I was messing with this), I added a "sel" attribute
to edges so they are the same as faces and vert.
2006-04-07 02:49:15 +00:00
9d30a3a5ec Added matt's empty drawsize property to python. 2006-03-31 09:50:39 +00:00
9053425e72 removed 2 warnings from Image.py epydocs 2006-03-27 08:34:06 +00:00
915cd5b80b Added python image pack/unpack per image. 2006-03-26 09:25:30 +00:00
7417d07482 Attempted to unify and document Dupli* stuff.
DupGroup
DupObjects
enableDupVerts
enableDupFrames
enableDupGroup
enableDupRot
enableDupNoSpeed

see the epydocs for documentation at http://members.iinet.net.au/~cpbarton/ideasman/BPY_API/Object.Object-class.html - will update in a tick.
2006-03-24 08:36:39 +00:00
abab9fc3de Added object.dupliGroup so objects can access the groups they instance.
This is very confusing.
Since in object has
ob.setDupliGroup() # Enable/Disable Dupligroup
ob.getDupliGroup() # see if its enabled.
ob.dupliGroup # the group data this object is instancing.

Not yet added
ob.groups # Groups that use this object.
2006-03-18 17:24:59 +00:00