Commit Graph

43 Commits

Author SHA1 Message Date
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
Michel Selten
a127b38760 * Fix compilation errors on Windows hopefully. Implemented the suggestion done
by Aphex - thanks.
* Added the doc strings to the Object module.
* Added more functionality to the Object module.
2003-06-02 20:15:50 +00:00
Willian Padovani Germano
b7bf9bf1b7 * Added submodule Blender.Material
* Added submodule Blender.Types:
    Blender Type definitions can't be static anymore.
* Some cleanup of now unused defines in Camera.h and Lamp.h
2003-05-28 04:36:18 +00:00
Michel Selten
000f92e204 * Implemented more of the Object module.
* Keep a Python Object reference for parent and track objects when available.
2003-05-21 19:54:19 +00:00
Michel Selten
0bebdabad2 * Fixed a bug in Object.getSelected(). All the objects were returned in stead
of just the selected object(s). This bug was pointed out by
  Jacek Poplawski.
* If there's already a PyObject of a certain object available, then don't
  create a new one, just return the specified object.
* Updated the Object_getData function to return correct objects. So far it can
  return objects of type Camera, Curve, Lamp and Object.
2003-05-20 19:02:09 +00:00
Michel Selten
612123e8fd * Updated the naming convention for some functions. I forgot those the last
time.
* Created the M_ObjectCheckPyObject and M_ObjectFromPyObject functions. These
  are needed for interfacing to other modules.
* The Object methods have been created. Not all of them are implemented yet.
2003-05-17 13:46:15 +00:00
Willian Padovani Germano
b9f6d66328 * Added 3 missing functions, 2 of them called by blender/src/drawtext.c:
Callbacks registered with Draw.Register in Python are called now.
    That should fix submodule Blender.Draw.
* Added a few other missing functions to BPY_interface.c
* Finished implementing Get() function for Camera, Lamp, Image and Text:
    Both the .Get(name) and .Get() cases are handled now.
* Added function Blender.ReleaseGlobalDict():
    This function should give script writers control over whether the
    global Python Interpreter Dict should be cleared after the script is
    run (default is to clear).  This is a test.
2003-05-13 01:54:28 +00:00
Michel Selten
788fa67bdf * Split Object.c (created Object.h)
* Split Blender.c (created Blender.h)
* Followed a naming convention suggested by Willian for Modules and Classes.
* Implemented New, Get and GetSelected functions for the Object module.
* Implemented most of the attributes in the Get and Set functions for the
  Object module.
* Hopefully fixed a link error on OS X.
  Declared g_blenderdict externally in modules.h and moved the real
  declaration to Blender.c
2003-04-21 20:33:06 +00:00
Michel Selten
3a0725d4aa * Moved the code to retrieve an object by name to a seperate function in
gen_utils.c (GetObjectByName).
* Blender.link, Blender.bylink and Blender.event should work. Somehow the
  only event coming through now is only REDRAW.
* Added include path to /intern/guardedalloc

Michel
2003-03-18 20:21:26 +00:00
Michel Selten
b6b9c648bc * Removed datablock.[ch]
* Object.Get("") should work.
* Many variables from module Object are implemented.
* Updated build environment to generate more warnings (-Wall)

Michel
2003-03-15 19:14:16 +00:00
Michel Selten
f08719cfc6 Swig is unfortunately not an option anymore. This means implementing all
wrapper functionality by hand.

* Removed the swig files (*.i and *_wrap.c)
* Created initial datablock functionality. Most of it has been copied from
  the old implementation.
* Created some general functions in gen_utils.[ch]
* Blender.Get(), Blender.Set() and Blender.Redraw functions should work in a
  script now.
* Started implementation on an Event function call (BPY_do_pyscript)

Michel
2003-03-08 18:10:20 +00:00
Michel Selten
4b825fddc7 Implemented enough functionality to actually execute Python from within
Blender.
* Moved api2_2x/interface.c to ./BPY_interface.c
  This will be the general api layer from which all variants of the Blender
  api. Currently only the 2.2x variant is initialised.
* Used swig (www.swig.org) to create Python wrappers for a couple of dummy
  functions.
* Started implementation of the Blender and Blender.Object modules.

Michel
2003-02-26 19:22:24 +00:00