Commit Graph

662 Commits

Author SHA1 Message Date
Ken Hughes
eafdcdd4ac -- Bugfix #3335: mesh.remDouble() accidentally performed a mesh fill also
(missing break statement): thanks, Cam!
2005-11-03 00:58:41 +00:00
Ken Hughes
e01e5a4cbf -- Bugfix 3333: BPy method ob.getEuler() was returning PyObject which wrapped
stack-allocated data (thanks, pontus).
2005-11-02 23:28:36 +00:00
15707394d1 Adding Key.ipo as access to ipo data both get and set 2005-10-31 15:53:21 +00:00
Ken Hughes
54659d4a7d -- further clean-up of mesh error handling for update and PutRaw(); add
specific messages for different types of exception errors
2005-10-31 15:08:01 +00:00
Ken Hughes
7040e6c157 -- patch submitted by Johnny Matthews which lets a user get an Ipo curve by
its adrcode in addition to its string name (shape keys don't have fixed
   or unique string names, and they are stored in the key, not the Ipo).
   This will make it easier to later use constants from dictionaries to
   access a curve.
2005-10-31 14:05:47 +00:00
4181b6ec74 Removed key.getChannelIpo() doc. 2005-10-31 02:52:17 +00:00
43ec1ee71a Removed key.getChannelIpo() since it is not proper implementation anymore. 2005-10-31 02:52:14 +00:00
Ken Hughes
227e6b08b2 -- testing a patch which lets Python initialize the site path for Blender
(old code is just "#ifdef"-ed out for now.)

Please give this a try on all platforms and give us feedback on what you
see for your sys.path setting in Blender (run these two lines in text window)

	import sys
	print sys.path
2005-10-30 18:27:24 +00:00
Ken Hughes
4d2de0293e -- fix compiler warning about return "from incompatible pointer type" when
returning Python exceptions.  EXPP_ReturnPyObjError() always returns a
   NULL because Python expects error conditions to return a NULL pointer
   instead of an object.  Since the pointer is cast to a PyObject *, it's
   ugly to use for propagating the errors back in this case, so this fix just
   uses PyErr_SetString() to set the error and return NULL (see the body
   of EXPP_ReturnPyObjError() ).
2005-10-30 14:34:48 +00:00
Ken Hughes
cb9988332a - fix issues in with Mesh_fromNMesh pointed out by Ton earlier; errors from
Python routines should properly be propagated back to give an error as
  intended.
2005-10-30 03:05:54 +00:00
926d5ebdab Error in creating Python dict for new Mesh API.
It was calling PyModule_AddObject() with unassigned pointer. Crashed on
exit here (python 2.3.2). Weird thing was that python 2.3.5 didnt complain

CVSr ----------------------------------------------------------------------
2005-10-28 13:51:08 +00:00
4069604736 Fixed gcc warnings for unused var and unitialiazed vars.
NOTE: I had to fix NMesh.c, Mesh_fromNMesh(), that is a real bad
function... it was returning a Py object as a Mesh (on error).
This is still not really solved (NULL return is not handled).
2005-10-28 10:09:46 +00:00
Ken Hughes
b729020276 - change description of AssignModes from "blah blah" to something meaningful. 2005-10-27 22:07:43 +00:00
Ken Hughes
a9a545d784 Lots of BPy Mesh additions:
- added faces.uvSel attribute: can get/set selection status of UV vertices in
  UV Editor window
- make mesh.faceUV, mesh.vertexUV and mesh.vertexColor writable: users
  can now enable/disable UV faces, vertex colors, "sticky" vertices
- fixed bug with mesh tool methods: before it would only work if an object
  linked to the mesh was selected
- added mesh.quadToTriangle() and mesh.triangleToQuad() methods
- added selected() method to verts, edges, faces; returns list of indices
  of selected items
- mesh.getFromObject() now gets derived mesh data
- ported vertex group methods from NMesh (required change to Object.c)
- ported module dictionaries from NMesh
2005-10-27 19:37:37 +00:00
Ken Hughes
3dbe0f0074 - Bugfix #3271: saveRenderedImage() was corrupting memory while trying to
build the filename (thanks for good bug report, Pablo)
2005-10-27 17:09:20 +00:00
94915fde5f Python API Additions
New
Ipo Drivers access in IpoCurve
key.getChannelIpo(index) returns the ipocurve of a given shape index

Docs included for usage :)
2005-10-26 16:30:50 +00:00
557f951ebc getMarked return change to dict
.
2005-10-25 18:12:27 +00:00
Ken Hughes
edd998c042 -Bugfix #3254: Ipo.addCurve() didn't check if curve already existed before
creating (reported by Toni)
2005-10-25 04:46:49 +00:00
Ken Hughes
233ee5adb7 - documentation updates:
-- add Key module to index page
  -- include cross references for Object.colbits in material descriptions
     within Object, NMesh and Mesh modules
2005-10-21 17:20:54 +00:00
Ken Hughes
9035f0cd25 - Bugfix #3227: throw exception in NMesh if face data doesn't contain 3 or
4 vertices
2005-10-21 13:52:44 +00:00
Ken Hughes
1f1eb8393d - fix bug calculating number of edges to create in mesh.edges.extend()
(thanks to guitargeek for catching)
2005-10-20 15:10:43 +00:00
Ken Hughes
7d325f1ed4 - New additions to Mesh module
- new methods from NMesh (transform, getFromObject, findEdges)
  - new methods for deleting groups of verts, edges and faces
  - new methods for accessing mesh editing tools: fill, flipNormals,
    recalcNormals, remDoubles, smooth, subdivide, toSphere
- Added PVertType to Types module (not my favorite name; any suggestions?)
2005-10-19 21:24:18 +00:00
Ken Hughes
5166a1ee92 - Bugfix #3202: ipo.addCurve() created curve but didn't add to the Ipo
(thanks, lguillaume).  I think we need much more testing of the Ipo
  module following Ton's refactoring.
2005-10-17 03:48:02 +00:00
Ken Hughes
0ea46ec202 - Bugfix #3194: calling curve.appendNurb() with any number of float param
other than 4 or 5 caused segfault (thanks for catching, Cam)
2005-10-16 16:39:11 +00:00
Ken Hughes
6418c07905 - Bugfix #3127: gives Python ability to do "reload()" on Blender Text scripts
(not really a bug, just adding a missing capability)
2005-10-14 17:26:57 +00:00
Ken Hughes
0bafc02ecc - perform typechecking before calling EXPP_check_sequence_consistency
- change experimental methods for Mesh Tools "Subdivide" and "Smooth" to
  object methods.  if compiled, you can use mesh.subdivide() and mesh.smooth()
2005-10-13 20:47:15 +00:00
Ken Hughes
3c568fd3bb - swapped MFace.flag and MFace.mode code; they were reversed (thanks, Cam)
- fixed bug in MFace_getFlags(): was accessing wrong field
2005-10-11 23:18:53 +00:00
5c31e9f2b5 Scripts updated:
- Discombobulator by Evan R and DirectX8 Exporter by Ben Omari.

BPython:
- Crashed Blender while testing discombobulator: obj.setMaterials() was not checking if the passed obj had valid obj->data. If the object had been created and not linked yet to a mesh, a crash would happen when trying to sync ob and me material lists. Now an error is returned. Also made obj.setMaterials accept an empty list, since obj.getMaterials can return that.

Thanks to the script authors for the updated versions and special thanks to Tom (LetterRip) for collecting info about updated and new scripts, sending me updates I had missed, etc.
2005-10-11 19:05:56 +00:00
Ken Hughes
3035625992 - force setResolu() to update all NURBS belonging to a curve 2005-10-11 15:51:27 +00:00
Stephen Swaney
cf620b95d5 Updates and corrections to the BPy doc. Patch #2975
A large chunk of documentation goodness from Campbell Barton (ideasman).
Thanks!

Note that any mispellings, errors, or inconsistencies are due to
my ham-fisted editing.
2005-10-11 15:11:39 +00:00
Ken Hughes
a84a75cfc3 -Bugfix #3174: incorrectly counting number of face vertices 2005-10-11 14:35:43 +00:00
Ken Hughes
0ff2691c5d - Fix compiler errors under MSVC free toolkit (thanks lguillaume) 2005-10-11 13:36:07 +00:00
Ken Hughes
5380db502e - added Mesh.MVert(); can now create 'thick' vertices which don't wrap mesh
- implemented slice operations (get/set) for vertex list; allows script
  writers to manipulate lists of vertices (using 'thick' vertices)
- fixed problem in mesh.faces.extend() which allowed the creation of
  "Eeekadoodle" faces
- added mesh.update() method; (possibly) temporary fix to allow updating DAG
2005-10-11 04:09:08 +00:00
b970eadedf Scripts:
- updating some bundled scripts, thanks to authors Jean-Michel Soler, Campbell Barton and Anthony D'Agostino.

BPython:
- removing wrong fix from BGL.c's glDrawPixels.

note: applied guitargeek's setName patch to Blender.Key, but saw that he updated it with more functionality and assigned to stivs, so I won't commit this old version.
2005-10-11 02:32:58 +00:00
28e585b058 -Another fix for mathutils.anglebetweenvecs()
* test dot before clamping
2005-10-10 19:50:53 +00:00
4bd9775936 Stupid me! Committed in wrong console with wrong dir... here's the rest of
all files for the Ipo/Action/NLA makeover...
2005-10-10 18:05:30 +00:00
9b8868532a -mathutils fix
* cos takes -1 to +1
2005-10-10 17:57:53 +00:00
ef06c33dd5 Patch for mathutils
* fixed another issue with anglebetweenvecs
2005-10-10 15:28:59 +00:00
af8b623002 o some warning fixes (compare of int to NULL, missing prototype) 2005-10-09 16:57:49 +00:00
4af7d8db30 -fix for AngleBetweenVecs
* correctly finds zero length vectors now
2005-10-07 15:24:32 +00:00
Ken Hughes
5f6dbf846b remove non-standard __FUNCTION__ use 2005-10-04 20:27:25 +00:00
Ken Hughes
ac668ea561 Added Mesh.New() method; can now create new meshes within the module
Changed Object.link() to allow link objects with both BPython-type meshes
Changed Object.getData() to allow retrieving both types of BPython-type meshes

Added new mesh types to Types module
2005-10-04 15:17:27 +00:00
Ken Hughes
b777b23e07 Bugfixes for #3102, #3104
- Fix incorrect usage of PySequence_Fast_GET_ITEM()
- make EXPP_setFloatRange() convert its argument to float instead of short
2005-10-03 22:06:16 +00:00
Ken Hughes
33fcdf2ada Bugfix #2650.
Calling ipo.delCurve() with a curve that's not been displayed in the
Ipo curve editor caused a segfault.
2005-10-03 21:05:41 +00:00
6cb422b886 Update for thin mesh
*warnings fixes
*projectfile update
2005-10-03 20:48:43 +00:00
bfea10e659 Small code cleanups by Stephane SOPPER...
remove extra ;   and move a variable declaration to top of function.

Kent
2005-10-03 20:24:10 +00:00
Ken Hughes
f2af563f92 Added new BPython thin mesh module 2005-10-03 19:36:15 +00:00
080b7f0902 BPython bug fixes:
- #2781, reported by Ed Blake: crash on undo when there were active space handlers. Space Handler script links belong to screen areas, which do not get saved on undo. Thanks Ton for pointing out the function that restores ui pointers gone bad.

- Applied patch #2822 by Ken Hughes for bug #2647 ("Setting a Face UV"), reported by Campbell Barton.

- #3022, reported by Timothy Wakeham: "Blender.BGL.glDrawPixels crashes when drawing more pixels then buffer size". Made glDrawPixels check buffer dimensions.

- #2882, reported by Campbell: crash in nmesh.getMaterials(arg == 0 or 1) when nmesh came from GetRawFromMesh(). Raw nmeshes are not linked to Blender meshes, so the method doesn't support these options (getting mat info from the actual mesh) for it.

- #2817, reported by Tod Koeckeritz: Dir_Depth var was not being decremented in BPY_Menus.c, causing dir depth limits to be reached prematurely.

- #2954, reported by Daniel Holtz: "Python scripts crash hard with valid windows paths". Blender.Load() was not meant for background mode, now it's been update to support it, using BKE_read_file instead of BIF_read_file in this case. Also found another issue with command line scripts using Blender.Load() that could crash Blender: trying to free the Text when it wasn't available anymore (loading a new .blend already removed it). There are still issues with one case, though, causing a crash on start or "Memoryblock winopen: double free" at end, when running a script that is already a Blender Text (only if the script calls Blender.Load, of course). Will investigate.

- #2897: reported by Timothy Wakeham: object.setMaterials was asking the length of a Python list w/o confirming first if the passed obj was really a list.

Thanks all for the help and for being patient (long delay, again).
2005-10-03 19:12:11 +00:00
Ken Hughes
fde63008a5 Documentation for new Python thinmesh module 2005-10-03 18:23:04 +00:00
9459f7c1be added getting names of shapes/KeyBlocks to bpy api so mikasaari can continue with his lipsync script (where names of phonemes are as names of shapes/keyblocks). 2005-10-03 14:28:08 +00:00