Commit Graph

61 Commits

Author SHA1 Message Date
Joseph Gilbert
8f3a9815ba Mathutils library for the python API
- support for quaternions, euler, vector, matrix operations.
- euler supports unique rotation calculation
- new matrix memory construction and internal functions
- quaternion slerp and diff calculation
- 2d, 3d, 4d vector construction and handling
- full conversion support between types
- update to object/window to reflect to matrix type
- update to types/blender/module to reflect new module
2004-02-29 13:20:34 +00:00
Michel Selten
259acf5f66 Python bug fix for #724
* Blender.Object.setDrawMode does not work. I had accidentally switched the
  variables for setDrawMode and setDrawType. This implied that _both_
  functions did not work correctly. The functions getDrawMode and getDrawType
  use the correct variables.
2004-01-25 17:58:24 +00:00
Michel Selten
8eac9cef15 Python bug fix for #875
* Blender.Object.GetSelected() would crash when no 3d-view has been
  initialized at startup. Fixed.
2004-01-25 17:42:40 +00:00
Willian Padovani Germano
5d8c7e4537 BPython:
- local tentative fix for BLI_gethome(), which returns '.blender' appended only
    on some Windows systems.  Created bpymenu_gethome() to check and
    add '.blender' if needed.
- changed name: .Bpymenus to Bpymenus as suggested by GSR
- trivial additions:
    Object module: added methods .set/getSize
    Armature/Bone module: bone.set???() methods now accept both n
    floats or a list of n floats: fff or (fff).  All these additions were requested
    by user Carlos Lopez (Klopes).
- New doc: for module Registry.
2004-01-23 02:59:54 +00:00
Willian Padovani Germano
f3c5206b71 Scripts menus:
-- added re-eval entry to Scripts Win -> Scripts menu
-- added it also as a button at Info Win -> File Paths, Python path
-- updated bpymenus code:
    added 'Blender' tag, for version;
    made a .Bpymenus file be written only if there's actual data to save
    made file->export menu open a scriptspace only if none is available already
-- bug fixes (bugs 866 and 879, related) for linking and sharing mesh data:
http://projects.blender.org/tracker/?func=detail&atid=125&aid=866&group_id=9
http://projects.blender.org/tracker/?func=detail&atid=125&aid=879&group_id=9
2004-01-16 23:40:14 +00:00
Joseph Gilbert
fb6133264a -reimplement OB_Surf support for curves 2004-01-16 01:19:36 +00:00
Joseph Gilbert
ec4cccef61 -bug fixes for materials updating - BalaGi found these bugs
- NMesh.c added support for materials updating while converting a python NMesh to a Mesh object
- Object.c added support for materials updating in Link() and shareFrom() when two objects share a mesh linked to a material
2004-01-15 12:55:41 +00:00
Rob Haarsma
4a8f52f619 Converted the Userpreference buttons to zr's new ButBit calls.
Also added USER_*  to each define located in DNA_userdef.h.
2004-01-13 14:50:45 +00:00
Jacques Guignot
6653af7914 support for curve objects.(the code was ready, but commented out)
modified functions : New and Object_shareFrom
2003-12-13 17:15:15 +00:00
Willian Padovani Germano
e3f6c6cfdc BPython: fixing a few warnings 2003-11-13 17:24:47 +00:00
Joseph Gilbert
a4aad039aa The new Lattice module for python
- enabled all the Lattice methods in Object.c
- added Lattice types to Types.c
- add Lattice initialization to Blender.c
- updated makefile for new lattice file
- added Lattice.c/Lattice.h
2003-11-13 04:00:59 +00:00
Joseph Gilbert
1018943b3d Fixed some problems with makeParent() 2003-11-11 05:37:28 +00:00
Willian Padovani Germano
c11eb86112 BPython:
- Fixed uninitialized NMFace.mode var in NMesh.c
- Incref'ed a couple Py_None's in Object.c
- Minor update in the docs, changed required version to 2.30
2003-11-08 02:19:09 +00:00
Willian Padovani Germano
dd6a83d9c0 Exppython:
- Minor tweaks related to ipos and Added Object_setIpo and Object_clearIpo to Object.c
- Updated docs
2003-10-29 01:37:32 +00:00
Jacques Guignot
966ff6840e added getIpo() function. 2003-10-28 23:23:30 +00:00
Willian Padovani Germano
d423c0828f Exppython:
- Added "Radio" to Material modes
- Fixed bug in bone.getParent (bug report on blender.org py forum)
- Added more types to object.shareFrom (method to share obdata)
- Added nmesh.get/setMaxSmoothAngle and nmesh.get/setSubDivLevels
- Updated NMesh doc
2003-10-26 06:03:18 +00:00
Willian Padovani Germano
5f26e16c51 Exppython: fixed crash caused by linking to a scene objects with NULL obdata, caused by recent (2.28c) internal changes to avoid unneded creation of obdata. 2003-10-24 17:08:59 +00:00
Michel Selten
e33e4addeb Referenced a wrong variable. Stupid typo. 2003-10-05 11:23:49 +00:00
Michel Selten
d626f03962 * Made internals of the Python Object module more consistent with other
modules.
* .setLocation(), .setDeltaLocation() and .setEuler() now can accept 3 floats
  or a list of 3 floats.
  This finally makes the following possible:
    obj.setLocation (obj.getLocation())
    obj.loc = obj.loc
  Of course this applies to the other functions as well.
2003-10-05 11:17:14 +00:00
Willian Padovani Germano
63e7c3e077 Exppython:
- Object.c: forgot to initialize an object->data pointer to NULL in Object_New
2003-09-23 03:02:54 +00:00
Willian Padovani Germano
c0303d78b4 Exppython:
- Object: implemented getBoundBox and makeDisplayList methods
- NMesh and Object: small internal changes for nicer behavior
- Draw: added function PupMenu
- Docs: updated for the additions above
Auto build tiny fix: added the imbuf include dir to source/creator/Makefile.am
2003-09-20 03:40:16 +00:00
Willian Padovani Germano
775f006bf1 Exppython:
- Window: implemented .SetCursorPos, .GetViewMatrix, .GetViewVector
- Lamp: .setDist was not in the methods table:
    Fix by new bpython developer Stephen Swaney
- Scene: .frameSettings was crashing Blender (pointed by jms)
- Added site dirs to sys.path (patch by Stephen Swaney)
- NMesh: small internal change (added pointer to parent object)
- Object: function NMesh_FromPyObject has a new arg: pointer to obj
- Docs: added docs for implemented functions, plus some more info
2003-09-18 00:54:43 +00:00
Michel Selten
da773eee18 * Fix bug in Object.getEuler() and Object.setEuler() methods
I must have been looking outside when writing those functions :) They
  accessed the dloc values instead of the loc values. Doh
* Minor cleanup in Object.h
2003-09-17 18:15:51 +00:00
Jacques Guignot
bb824b08b7 function PyArgsParse changed for PyArgsParseTuple by Stephen ( not so that sure...) 2003-09-02 20:13:43 +00:00
Michel Selten
b64b5d7b63 * Fix crash when linking something illegal to an Object.
Pointed out and fixed by Stephen Swaney
2003-08-27 18:10:59 +00:00
Michel Selten
7163867395 * Fix crash in the getParent() and getTracked() methods of the Python API.
This crash was reported by Jean-Michel Soler (jms).
  Problem was that I was trying to be a little too intelligent. I kept a
  reference to created PyObjects which at some point apparently fails. Keeping
  the object references is not necessary. Now we just create a new PyObject
  when necessary and let Python handle the reference counts.
2003-08-10 10:03:37 +00:00
Michel Selten
35c4c3222c * Linking a Mesh object to the base object was not possible. Fixed.
* Clean up of some comments.
2003-07-30 21:02:55 +00:00
Michel Selten
8a558f2e45 * Fixed crash in Object.getTracked() method
It tried to create a new Object from the tracked variable, when the variable
  was NULL. Ouch.
2003-07-30 18:47:05 +00:00
Michel Selten
916f527253 * Fixed problems in with script linking.
I had to update many files to get this to work.
2003-07-27 15:56:32 +00:00
Jacques Guignot
7b324bef33 bug fixes in functions getLocation and similar.
added buildParts() methods, which forces the computation of the partivcle system.
2003-07-25 19:52:51 +00:00
Michel Selten
43f8138974 * Fix an ugly crash when retrieving an object and trying to get the ipo from
it. Ouch, I really need to remove those small parts of duplicate code for
  2.29 - too much maintanance which eventually goes wrong.
2003-07-22 18:42:57 +00:00
Jacques Guignot
68c3a6dccd removed the patch for ipo attr, which had side effects 2003-07-22 13:56:41 +00:00
Jacques Guignot
9a5cf3cb66 modified the function getattr, which crashed blender when someone tried to access a NULL field. This function returns now PyNone. 2003-07-21 21:58:13 +00:00
Michel Selten
f999426daa * Object_getInverseMatrix now returns a correct matrix.
The problem was that the memory was allocated at the stack, but after the
  Python object was created, the pointer to the memory goes invalid.

  Thanks to Kester Maddoc for providing a patch - almost 2 weeks ago. Ouch,
  I should read my mail a little bit better.
2003-07-10 20:00:51 +00:00
Jacques Guignot
f83cc2f8c5 anged CurveCreatePyObject to Curce_CreatePyObject 2003-07-10 08:27:34 +00:00
Jacques Guignot
6fe633aef3 added what needed to link a curve to an object (modification of Object_link
added 2 functions Curve_CheckPyObject and Curve_FromPyObject
that I had forgotten
2003-07-09 12:25:27 +00:00
Michel Selten
da913434db * Forgot to update the Object.name variable functionality. Had a bug in it to
return the first 2 identifying characters too - which it shouldn't.
2003-07-08 20:06:00 +00:00
Michel Selten
828347f698 * removed some debugging prints. Accidentally committed them last time.
* nicely format the matrix object when printing.
2003-07-06 20:34:59 +00:00
Michel Selten
62ffb7a5f6 * Fixed:
- Object_getMatrix()    - prints correct values now
    - Object_getName()      - removes the two identifying chars from the front
    - Object_setName()      - calls the internal function to correctly set the
                              name of the object.
* Removed the Object_print function. It causes a crash on Windows.
* Updated the Object_repr function to display the Object nicely.
* Object.Get() now returns a list of Objects when no argument has passed to
  it.
* Changed the function declaration for newMatrixObject function
  Easier to read now.
2003-07-06 19:58:27 +00:00
Michel Selten
34e349b4ce * The Object.get and Object.getSelected will become obsolete in the future.
Added a warning about this - and to use the alternative function.
2003-06-29 19:57:41 +00:00
Michel Selten
3284916aeb * Added some internal functions to the Material module
* Updated the Object module with some more functions. Only 1 function left to
  implement.
* Removed the getDeformData function declaration.
2003-06-29 16:49:21 +00:00
Michel Selten
0ff572954e * Added functionality to the Object module for getting and setting the name of
the object.
* Added the GetSelected function. (Same as getSelected).
* Added a start for the Object.py API documentation.
* Some minor bug-fixes to the Object module.
* Added the functionality to get the IPO of the Object.
2003-06-28 15:10:23 +00:00
Willian Padovani Germano
eaf1cdd383 - More renaming all around to follow our conventions
- Implemented partially Blender.Sys
- Worked on issues related to sys, path
- Took away most "debug" printfs
2003-06-28 07:38:21 +00:00
Michel Selten
61e41f6817 * Added matrix module
* Moved the function EXPP_tuple_repr from vector.c to gen_utils.[ch]
* Matrix functionality should work now in Object module.
* Fixed compilation warning about implicit declaration of M_World_Init.
  Added the declaration to modules.h
2003-06-22 20:14:11 +00:00
Michel Selten
d253eb4b75 * Fixes segfault caused in the Object.getParent function.
Found by Jonathan Thambidurai
* Fixes a scriptlink problem when a script is run using ALT-p.
  Found by Yann Vernier (LoneTech)
* Prints unhandled exceptions. Should fix some memory leaks too.
  Fixed by Yann Verniet (LoneTech)
2003-06-22 18:34:36 +00:00
Willian Padovani Germano
6cc45538ef * Small changes in many files:
-  Trying to fix linking problems in OSX;
-  Making module .Get functions behave like the ones in Blender 2.25 - 2.27
   (Guignot pointed the incompatibility);
-  Included more types to Blender.Types;
-  Found by luck and corrected two bugs that were making Blender crash;
-  Added/updated some simple functions.
2003-06-12 04:51:50 +00:00
Willian Padovani Germano
864e5640f7 * Applied a small fix to a bug reported by Guignot:
When a script that used setAttr for Camera Data objs (the bug also
    affected some other modules) was executed multiple times, Blender
    would crash after, let's say, the first 5 or 6 tries.  Problem, as
    Guignot pointed, was with reference counting.  Should be ok now, all
    affected modules were fixed.
* The Scene module is now "complete" (= 2.25).
* Made some necessary updates to Object and NMesh.
2003-06-09 04:01:48 +00:00
Willian Padovani Germano
a9ced6d86a * Added two modules:
Guignot contributed the Ipo and Metaball modules.  Metaball wasn't
   available in the 2.25 API, it's a new addition.
* Minor changes in other files.
2003-06-05 18:03:46 +00:00
Willian Padovani Germano
d29a8c0a3c *Minor updates:
changed some function names and cleaned the Camera header file
2003-06-05 16:21:44 +00:00
Michel Selten
f289109228 * Made three functions static in the Object module.
* Updated the method struct for the Object module. It now terminates with a
  {0}.
2003-06-04 20:18:29 +00:00