Commit Graph

3840 Commits

Author SHA1 Message Date
Nathan Letwory
fb649d5824 * cleaning up warnings (mostly windows). A collection of other warning fixes too (undefined function, assuming int, etc.)
This compiled fine with scons/msvc and scons/mingw (gcc 4.4.0). Please test and report any problems.
2009-09-06 13:20:05 +00:00
Campbell Barton
0a3694cd6e white space commit. (2 spaces -> tab).
Was annoying to use a different editor for cmake only.
theeth says this should be ok with gsoc and merges from branches.
2009-09-06 01:51:23 +00:00
Campbell Barton
c9dd69c11a remove MTC_ functions, (don't merge)
replacements...
MTC_cross3Float -> Crossf
MTC_diff3Float -> VecSubf
MTC_dot3Float -> Inpf
MTC_Mat3CpyMat4 -> Mat3CpyMat4
MTC_Mat3MulVecd -> Mat3MulVecd
MTC_Mat3MulVecfl -> Mat3MulVecfl
MTC_Mat4CpyMat4 -> Mat4CpyMat4
MTC_Mat4Invert -> Mat4Invert
MTC_Mat4Mul3Vecfl -> Mat4Mul3Vecfl
MTC_Mat4MulMat4 -> Mat4MulMat4
MTC_Mat4MulSerie -> Mat4MulSerie
MTC_Mat4MulVec4fl -> Mat4MulVec4fl
MTC_Mat4MulVecfl -> Mat4MulVecfl
MTC_Mat4One -> Mat4One
MTC_Mat4Ortho -> Mat4Ortho
MTC_Mat4SwapMat4 -> Mat4SwapMat4
2009-09-06 00:19:15 +00:00
Nathan Letwory
9216efcba2 == SCons ==
* bring back 'player' libtype, after investigation with ideasman.
  scons/mingw works nicely, for some reason msvc fails to link still, will look further into it.
2009-09-05 01:58:02 +00:00
Nathan Letwory
fc8ba755bd * fix linking order.
NOTE: this needs changes to stubs.c, but need to check with ideasman_42 how to fix with cmake. Probably linking order issues, but stubs.c currently generates warnings for msvc (redefinition of funcs) and errors for mingw (same redefinitions). Removing the offending lines from stubs.c fixes that.
2009-09-04 23:22:46 +00:00
Nathan Letwory
20f39ec7d8 == SCons ==
* further cleaning of 'player' stuff. Now only 3 libs are remaining, of which ideally the stubs lib will be fixed at some point, fading away into the dark history of not-so-nice code. The current blenderplayer part is still a little bit hackish, I'll see if I can find a better alternative, for now it works good enough.
2009-09-04 12:56:30 +00:00
Nathan Letwory
bade641408 == SCons ==
* first working changes to get blenderplayer linking
* blenderplayer/ moved into source/ (CMakeLists.txt changed for that too)
* added externs for bprogname to gp_ghost, so that it links properly
2009-09-04 10:40:41 +00:00
Campbell Barton
6caff6b390 - rna documentation layout now matches blenders internal layout, autogenerate packages for nested modules.
bpy.data, bpy.ops.object etc.
- added basic docs for bpy.props
- omit panel, menu and operator classes (took up too much space and not useful)
- exec cant be used as an operator suffix eg- CONSOLE_OT_exec --> CONSOLE_OT_execute (same for file)
- fixed some crashes when generating docs

Updated docs here
http://www.graphicall.org/ftp/ideasman42/html/
2009-09-04 04:29:54 +00:00
Campbell Barton
02f951c3a0 allow execution mode to be given as an argument to operators from python (requested by algorith)
example. bpy.ops.tfm.rotate('INVOKE_REGION_WIN', pivot=(0,1,2), ......)

bpy_array.c - was too strict with types, 0 should be allowed as well as 0.0 in a float array.
2009-09-03 22:37:09 +00:00
Daniel Genrich
40c89b5c6e Missing header include for non-linux OS "BLI_exist()" 2009-09-03 10:34:54 +00:00
Campbell Barton
ac3f0695a2 remove Py_CmpToRich (copy of py3.0 function), instead only support == and != for PyRNA and KX_PySequence types.
mesh1 > mesh2 # will raise an error.
2009-09-03 01:52:10 +00:00
Campbell Barton
043641de72 corrections to epydocs 2009-08-31 13:03:38 +00:00
Martin Poirier
5ab556e066 bugfix: on windows, it wouldn't correctly recognize directories and import python modules on load.
BLI_exist vs BLI_exists (fun times were had by all)
2009-08-29 20:29:29 +00:00
Campbell Barton
324b3fbe74 - BGE crash fix when casting a ray to the same location as the object from python.
- Incorrect Mathutils vector docstrings.
- last rayshade commit had an incomplete comment.
2009-08-27 06:55:54 +00:00
Campbell Barton
4342235489 - Mathutils.Vector assignment wasnt working in the BGE's py api, was using getValue() rather than setValue()
- added GPL header to bpy_interface.c from 2.4x's BPY_interface.c
- warning fixes
2009-08-26 06:15:43 +00:00
Arystanbek Dyussenov
706a4c22b5 Implemented dynamic and multidimensional array support in RNA.
Example code: http://www.pasteall.org/7332/c.
New API functions: http://www.pasteall.org/7330/c.

Maximum number of dimensions is currently limited to 3, but can be increased arbitrarily if needed.

What this means for ID property access:

* MeshFace.verts - dynamic array, size 3 or 4 depending on MFace.v4
* MeshTextureFace.uv - dynamic, 2-dimensional array, size depends on MFace.v4
* Object.matrix - 2-dimensional array

What this means for functions:

* more intuitive API possibility, for example:
  Mesh.add_vertices([(x, y, z), (x, y, z), ...])
  Mesh.add_faces([(1, 2, 3), (4, 5, 6), ...])

Python part is not complete yet, e.g. it is possible to:

MeshFace.verts = (1, 2, 3) # even if Mesh.verts is (1, 2, 3, 4) and vice-versa
MeshTextureFace.uv = [(0.0, 0.0)] * 4 # only if a corresponding MFace is a quad

but the following won't work:

MeshTextureFace.uv[3] = (0.0, 0.0) # setting uv[3] modifies MTFace.uv[1][0] instead of MTFace.uv[3]
2009-08-25 17:06:36 +00:00
Campbell Barton
9261efa4d6 [#18936] Particle Related Patch
from Alberto Santos (dnakhain)

This also adds the option to duplicate a particle system with an object.

 --- description from the patch submission.

This patch includes my latest additions to the Python API developed for my Degree's Project.

It includes:
 - Particle
    - Vertex group dictionary in doc (to use with setvertexgroup/getvertexgroup)
    - Particle.New return psys (not specified in doc)
    - Draw As variable and dict
    - Strand render toggle
 - Object
   - psys variable in duplicate
 - Material
   - Strand render variables
 - Texture
   - Use colorbands
 - Lamp
   - Spot buffer type selection
2009-08-24 10:37:39 +00:00
Brecht Van Lommel
45bb3293b4 2.5: Python subclasses can now define RNA properties by making
a __props__ list in the class, same as for operators.
2009-08-22 17:30:47 +00:00
Campbell Barton
215f80361c bpy's __rna__ attribute doesnt work as it should, since the parent classes __rna__ overrides the subtypes.
For now have pyrna_struct_as_srna look in the dict first for __rna__ before using PyDict_GetItemString.
Somehow __rna__ is not calling the pyrna_struct_getattro function, python find it first.

The only relyable way to get the rna from python currently is.
bpy.types.SomeType.__dict__['__rna__']
2009-08-22 17:06:10 +00:00
Arystanbek Dyussenov
7220792f18 Various fixes in rna_*_api.c files to remove compiler warnings. 2009-08-19 09:52:13 +00:00
Arystanbek Dyussenov
7c786e28c4 Merge with 2.5 -r 22173:22620. 2009-08-19 09:04:49 +00:00
Brecht Van Lommel
4fb19159ea 2.5: RNA, defining enums, pointers and collections properties is now
possible from python, but it's still work in progress.

Pointers and collections are restricted to types derived from
IDPropertyGroup (same as for operators), because RNA knows how to
allocate/deallocate those.

Collections have .add() and .remove(number) functions that can be
used. The remove function should be fixed to take an other argument
than a number.

With the IDPropertyGroup restriction, pointers are more like nested
structs. They don't have add(), remove() yet, not sure where to put
them. Currently the pointer / nested struct is automatically allocated
in the get() function, this needs to be fixed, rule is that RNA get()
will not change any data for thread safety.

Also, it is only possible to add properties to structs after they have
been registered, which needs to be improved as well.

Example code:
http://www.pasteall.org/7201/python
2009-08-18 01:29:25 +00:00
Campbell Barton
f3caa80a49 rna reference doc generation
- rna classes,  only include props and functions that are not inherited (epydoc then gives inheritance info)
- include function arguments and return values for in cross reference
2009-08-17 17:26:54 +00:00
Campbell Barton
5555ef8a76 rna function return values in generated docs,
added prop.use_return so you can tell if a prop is a return value.
2009-08-16 15:46:09 +00:00
Campbell Barton
d800426c57 own mistake, __rna__ wasnt causing circular references. python can handle this. changing broke python operators like the pyConsole. 2009-08-16 12:29:46 +00:00
Campbell Barton
dfc7d63911 - typos in boxpack comments (incorrectly had comment that it was from NAN)
- removed unused defines STREQ, STREQ2, STREQ3 and MINSIZE
2009-08-16 08:36:08 +00:00
Campbell Barton
128cf15224 missing args for rna funciton. comment on rna leak with type registering that I haven't been able to fix yet. 2009-08-16 04:59:11 +00:00
Brecht Van Lommel
314b14301f 2.5: warning fixes
Directories intern/ and source/blender/ now compile warning
free again here with scons/gcc.
2009-08-15 16:36:25 +00:00
Thomas Dinges
13c3bdbf8b Compile fix.
Variable was in wrong place, caused errors in msvc.
Fix by Lguillaume in IRC.
2009-08-15 10:50:30 +00:00
Campbell Barton
712b67743b changes to help refcounts in rna be more predictable (still leaks when reloading on - F8) 2009-08-15 09:53:38 +00:00
Campbell Barton
12291b693c RNA Types were storing an instance of themself for class introspection and docs but makes freeing the type complicated.
now __rna__ is a PyCObject rather then a BPy_StructRNA instance, to get the rna from python use __get_rna() now.
2009-08-15 05:05:23 +00:00
Campbell Barton
eef09b9cba cmake changes
- set python to 3.1 on linux (dont use FindPackage for now)
- remove duplicate settings (disable cache for copied settings, was quite confusing)
- added an option WITH_INSTALL, when disabled scripts and language files wont be copied to the target dir (better for quick builds)
- remove .svn (was still CVS), and pyc/pyc files after copy
- copy the 'io' as well as 'ui'
2009-08-14 17:16:16 +00:00
Campbell Barton
c32fce0705 some fixes for netbsd with cmake
- CMake, use FIND_PACKAGE(Freetype) for unix/linux
- Only link with libdl.so on linux
- use statvfs rather then statfs for netbsd (size of statfs wasnt available)
- add x11 include path with ghost, glu.
2009-08-14 13:13:36 +00:00
Campbell Barton
08f0938434 - registering new python classes runs the free functions on existing classes.
- print an error if RNA Structs are freed with a python pointer set to help with debugging leaks.
- fix for unlikely eternal loop in unit conversion.
2009-08-14 12:29:55 +00:00
Campbell Barton
c77e556b23 - missing a decref for new pytypes
- remove needless strlen
2009-08-11 19:20:31 +00:00
Campbell Barton
b2a77852ff user interface units, off by default.
- currently only distances work.
- user preferences, edit section to set the units and scale.
- option to display pairs (nicer for imperial display?)
- support for evaluating multiple comma separated values eg: 2',11" ..or.. 5ft, 4mil
- comma separated expressions/values accumulate 1+1,2**3,4cm/3
- attempted fast conversion from a value to a string so button drawing isn't too slow.

* imperial long/short *
- mile, mi
- yard, yd
- foot, '
- inch, "
- thou, mil

* metric long/short *
kilometer, km
meter, m
centimeter, cm
millimeter, mm
micrometer, um
nanometer, nm
picometer, pm
2009-08-11 18:53:01 +00:00
Campbell Barton
1d63cacfe4 fixed mistake made when changing rna prop definition functions, made povray custom props fail. 2009-08-11 02:27:25 +00:00
Brecht Van Lommel
f6682ab773 RNA: subtypes and units
* Reviewed subtypes, making them more specific and adding new ones.
* Subtypes now have an associated type of units (length, area, volume,
  mass, rotation, time, velocity, acceleration). These are not used
  yet anywhere.
* Centralized code that decides the name of array items based on
  subtype (XYZ, RGB), was copied in 3 places.
* RNA_def_float etc functions still need to be update, will do this
  later together with another change.
2009-08-10 21:31:05 +00:00
Joerg Mueller
a27cc1adf0 2.5 audio cleanup:
* Removed CD Actuator
* Removed bSample and bSoundListener
* Removed SoundSystem
* Removed -noaudio parameter
2009-08-10 15:39:11 +00:00
Campbell Barton
cb9e51bf8a missing include for fluid 2009-08-10 14:15:05 +00:00
Campbell Barton
6c951fbb98 adding back button evaluation so you can do 1/60, 90*0.1 etc as well as dimension conversion 1km-10cm+4ft
Note...
- Python3.1 you don't need to add the .0 for divisions anymore (was esp annoying for button eval)
- Simple dimension input, imperial mi/yd/ft/in, metric km/m/cm/mm,  Later could display these values and have a pref for scene scale, atm it assumes 1BU == 1m.
2009-08-10 11:58:53 +00:00
Campbell Barton
7084be920a fix for build problem with audiospace and implicit declaration. 2009-08-10 04:50:48 +00:00
Guillermo S. Romero
de759dd278 Wrap message with " as the ' was giving issues. 2009-08-10 02:07:34 +00:00
Campbell Barton
7440fee85c remove python2.x support 2009-08-10 00:07:34 +00:00
Campbell Barton
2a408c864f - fix error in last commit
- added better error feedback when registering operators fails.
- added some python benchmark timers (prints on exit), times number of times py scripts run, average time and total % of time running py scripts.
2009-08-09 13:20:12 +00:00
Campbell Barton
a4755dcf2b - report errors on rna name collisions (does not check parent type yet)
- minor cleanup for Py/C api functions that define rna properties from python.
2009-08-09 10:05:33 +00:00
Campbell Barton
70f011bbce bpy_context_set and bpy_context_clear to replace a number of functions (some were not always called causing bugs).
fix for a leak when trying to run a text with a syntax error too.
2009-08-07 16:20:19 +00:00
Arystanbek Dyussenov
3c3f8c3018 bpyrna: interpret a tuple of enum items (e1, e2, ...) as a bitmask (e1 | e2 | ...). 2009-08-07 13:00:39 +00:00
Campbell Barton
a791cfc5d3 [#19206] Fix MD2 Vertex Normal Export
from Calvin Loncaric (marvinx03)

[#18965] Blender Load and Run need fully qualified specs
[#18966] getMaterials not used
from Roger Wickes (roger)
2009-08-06 22:24:14 +00:00
Campbell Barton
85d75077a6 [#19035] New Python command to set the active flag of Armature Bones
from Ivo Grigull (loolarge)

Removed redraw calls from the python function, added epydocs.
2009-08-06 22:11:33 +00:00