Commit Graph

162 Commits

Author SHA1 Message Date
a49d1c20f1 Convenience defines SEP and ALTSEP (python has these), move BLI_*_slash function into path_util.h since these are not fileops. 2010-10-27 06:41:48 +00:00
676829ccba workaround for python bug [#24400] If Script is executed with TEXT Editor, it becomes an error.
having the blend file as a part of the __file__ variable is not essential, this is fixed in python 3.2 so add an ifdef and don't use the blend file path for py older then 3.2.
2010-10-27 06:05:22 +00:00
f8ec6b8654 move matrix decomposition out of object.c into BLI_math_matrix function: mat4_to_loc_rot_size(), use this now for pchan_apply_mat4() to support negative scale, visual keying now uses compatible eulers.
also added access to this in python's mathutils.Matrix()
 loc, quat, scale = matrix.decompose()
2010-10-26 12:48:07 +00:00
3264ced377 move geometry python module into mathutils.geometry, since it provides utility functions using mathutils types. 2010-10-25 22:44:01 +00:00
c6976e7351 use explicit file paths for CMake rather then globing, This is recommended by cmake devs.
globbing vs explicit is discussed here.
http://www.cmake.org/pipermail/cmake/2008-December/025694.html

Practical implications are:
- developers need to keep CMakeLists.txt files up to date.
- Users wont get strange linking errors if they build after a file is added, since CMake detects CMakeLists.txt is modified and automatically reconfigure.
2010-10-23 04:05:55 +00:00
394caf98e3 fix for -Wunused-value 2010-10-20 12:11:09 +00:00
afc8d8b3e3 bugfix [#24306] Python : relative import error 2010-10-18 11:37:53 +00:00
4d37cf90b9 remove G.sce, use G.main->name instead.
Both stored the filename of the blend file, but G.sce stored the last opened file.
This will make blender act differently in some cases since a relative path to the last opened file will no longer resolve (which is correct IMHO since that file isnt open and the path might not even be valid anymore).

Tested linking with durian files and rendering to relative paths when no files is loaded however we may need to have some operators give an error if they are used on the default startup.blend.
2010-10-18 06:41:16 +00:00
1807beabf5 - UNUSED macro wasn't throwing an error with GCC if a var become used.
- made interface, windowmanager, readfile build without unused warnings.
- re-arranged CMake's source/blender build order so less changed libs are build later, eg: IK, avi
2010-10-16 02:40:31 +00:00
be32cf8b32 UNUSED() macro so -Wunused-parameter can be used with GCC without so many warnings.
applied to python api and exotic.c, removed some args being passed down which were not needed.

keyword args for new mathutils types were being ignored when they should raise an error.
2010-10-13 23:25:08 +00:00
874ffaca7b typo in function prefix. 2010-10-03 23:29:43 +00:00
ab8aa13b82 bugfix [#24087] Blender can not install add-ons unless running with root priviledges
now addon path is created using the same path functions and selecting where to save the startup.blend

also made some minor changes to path handling funcs.
2010-10-03 20:00:22 +00:00
96aa1f9cd5 moved mathutils Euler.rotate(angle, axis) --> Euler.rotate_axis(axis, angle)
since it can only rotate about a single axis dont confuse with vector.rotate() which takes an axis vector.
2010-09-29 08:07:58 +00:00
7a950c2876 patch from Dan Eicher with some edirts.
vec.rotate(axis, angle)
equivalent to...
  vec[:] = vec * mathutils.Quaternion(axis, angle)
2010-09-29 05:15:55 +00:00
1615c9e435 python/c utility function for debugging, see http://wiki.blender.org/index.php/Dev:Doc/Debugging/PyFromC 2010-09-19 14:02:45 +00:00
Nathan Letwory
ab5b95d148 * Update BGE for change in r32001
* Fix var declaration in bpy_interface.c
* Remove forward declarations from py_capi_utils.h: they are unnecessary and break compiles (there were probably many warnings about this during compile with GCC).
2010-09-18 19:38:27 +00:00
db7a4e530e move namespace creation function into py_capi_utils.c, to be used in more general cases, not just the blender/rna api. 2010-09-18 15:30:03 +00:00
1c4b6ff334 SVN maintenance. 2010-09-01 19:39:37 +00:00
39cb1432d8 bugfix [#23285] Exporters not available whel using special characters in path name
- ID properties now suopport non utf-8 strings for their values but not their keys.
- moved utility functions into py_capi_utils.c from bpy_utils and bpy_rna.
- import/export paths have to be printed with repr() or %r, so non utf-8 chars are escaped.
2010-09-01 14:13:48 +00:00
6a993054ad bugfix [#23586] Euler.rotate() method is broken
fix included in the report
2010-08-30 08:37:35 +00:00
f7dfb23337 bugfix [#23197] Python can't handle German umlaut characters in strings
workaround for python bug with Py_CompileString(), reported http://bugs.python.org/msg115202
2010-08-30 08:23:48 +00:00
70e99a3476 make quicky wrapper for cmake.
works like scons where using a subset of the targets name is enough.

  make_quicky.py py
...expands into
  make  bf_python bf_python_ext blender/fast

arguments like -j4 are passed on.
2010-08-24 05:24:37 +00:00
6464718083 rename some cmake build targets 2010-08-24 04:29:23 +00:00
1be4eda552 bugfix [#23454] vector*matrix not the same as vector*=matrix
- they now share the same code so it wont happen again.
- added id_data to properties so we can do...
  matrix = C.object.matrix_world
  obj = matrix.owner.id_data # get the original object back.
2010-08-23 22:10:13 +00:00
0be08725ad Py API (GSoC): Second merging commit
Rough summary of fixes/changes:
- Blender Py API: GameLogic -> bge.logic
- Blender Py API: Implemented missing KX_PYATTRIBUTE_TODOs and -DUMMYs.
- Fix for [#22924] KX_PolygonMaterial.diffuse does not return expected list[r,g,b]
- Py API: Renaming _owner attribute of mathutils classes to owner.
- Fix some minor errors in mathutils and blf.
- Enabling game engine autoplay again based on a patch by Dalai:
  * The biggest 3D view in the open scene is used, if there is none, blender opens the file normally and raises an error.
  * The 3D view are is made fullscreen.
  * Quad view, header, properties and toolbox panel are all hidden to get the maximum view.
  * If the game engine full screen setting is set, the game starts in fullscreen.
- Fix for ipo conversion on file transition in the game engine.
2010-08-16 12:14:09 +00:00
04f619d8af - PyLineSpit() - used to print the filename and line number for internal errors now works when executing class functions in a module.
- replaced PySys_GetObject("modules") with PyImport_GetModuleDict()
- use defaults for keymap import/export rather then setting the same value every time from the UI scripts.
2010-08-14 05:33:20 +00:00
556b615cf8 mathutils module methods only contained matrix constructors, move these to matrix class methods since this is acceptable in python. eg: dict.fromkeys() and groups them more logically.
mathutils.RotationMatrix -> mathutils.Matrix.Rotation
 mathutils.ScaleMatrix -> mathutils.Matrix.Scale
 mathutils.ShearMatrix -> mathutils.Matrix.Shear
 mathutils.TranslationMatrix -> mathutils.Matrix.Translation
 mathutils.OrthoProjectionMatrix -> mathutils.Matrix.OrthoProjection
2010-08-11 16:40:36 +00:00
95aa8cfa4a Update address in license block. 2010-08-10 21:22:26 +00:00
9fe2b252c4 == docs ==
Changing " **type** " into "\n\n:type: " in Mathutils, to have like "type: float" in its own line.
2010-08-08 16:22:29 +00:00
a0cece42c6 bugfix [#23148] "ImportError: __import__ not found" on changing Render FPS
The BGE was getting the namespace dict directly from __main__ which conflicts
with my recent fix to get the pickle module working which to overwrote the __main__ module on script execution.

Simple fix is to have the BGE and Blender use the same method of getting namespaces.
Renamed CreateGlobalDictionary() to bpy_namespace_dict_new() and moved into bpy_internal_import.c

pickle still wont work in the BGE since we make a copy of __main__ namespace but for speed would rather not have to replace the __main__ module many times per second.
2010-08-05 03:25:45 +00:00
c04850ec06 python mathutils change
quat * quat was returning the dot product (a float), rather then the cross product.
 Use BLI_math's mul_qt_qtqt() function.
2010-08-02 00:08:01 +00:00
e4a7087982 bugfix [#22836] Alt+MMB view alignment don't respect all axes directions
also moved rotation_between_quats_to_quat into BLI_math from python mathutils.
2010-07-26 00:11:14 +00:00
61a09d96b1 py api mathutils.Quaternion()
- getting axis, angle wasnt calling read callbacks so it didnt work with RNA.
- made setting axis and angle attributes possible.
2010-07-25 02:56:39 +00:00
026ac24922 [#22488] Reloading scripts causes crash
F8 key enabled again, useful for script UI development.

- keying set freeing wasnt freeing from all scenes and the builtin list.
- PointerProperty() cant refer to a removed python srna type (fixed in rigify and netrender).
- Added a check for freeing a type used by a PointerProperty but its very slow, makes reloading take ~10sec. Only enabled this in debug mode for now.

Netrender register() function isnt re-registering the property, probably because the module is cached by python and not re-run.
2010-07-23 01:43:30 +00:00
75410037fd - correct some spelling errors.
- remove FreeCamera struct (wasnt used)
- remove world color alpha values (not used anywhre).
2010-07-20 10:41:08 +00:00
d5d343a86b noise python module back from 2.4x, personal request from ant author Jimmy Haze
Changes:

/* 2.5 update
 * Noise.setRandomSeed --> seed_set
 * Noise.randuvec --> random_unit_vector
 * Noise.vNoise --> noise_vector
 * Noise.vTurbulence --> turbulence_vector
 * Noise.multiFractal --> multi_fractal
 * Noise.cellNoise --> cell
 * Noise.cellNoiseV --> cell_vector
 * Noise.vlNoise --> vl_vector
 * Noise.heteroTerrain --> hetero_terrain
 * Noise.hybridMFractal --> hybrid_multi_fractal
 * Noise.fBm --> fractal
 * Noise.ridgedMFractal --> ridged_multi_fractal
 *
 * Const's *
 * Noise.NoiseTypes --> types
 * Noise.DistanceMetrics --> distance_metrics
 */
2010-07-20 03:14:21 +00:00
fd31436897 spelling correction: alredy --> already 2010-07-17 18:08:14 +00:00
5daf9354d2 change some references to .B.blend, .Blog to new names 2010-07-15 11:51:43 +00:00
80f6102629 better reporting for file i/o failier, use system error message in more places: Permission Denied, No space left, File not found etc.
- blend load/save uses os message.
- image load gives os message. (remove check for slash at end of line, just let the os report an error)
- python api load image/font/text raise errors with message (was just retuning None for image and font)
- minor edits to py api errors.
2010-07-03 17:47:06 +00:00
989cca1434 Fix #21369: normals on extruded text and curve objects were flipped
for the backside, giving problems with e.g. boolean operations.
2010-06-23 13:18:50 +00:00
5ed7699e85 mathutils.RotationMatrix
Angles are in radians. Doc and example should reflect reality
2010-06-23 02:42:39 +00:00
374d3a6685 bugfix [#21748] KX_Object scaling property not "writing" vector access .:. e.g. obj.scaling[2] = 2.0
- made worldspace readonly
- mathutils 'set' callbacks can now set their own error
2010-06-14 01:41:43 +00:00
4da179749e - [#22492] [29159] commit breaks importing of script file that has a reload to self in it
broke when including the blend path in the modules filename.       

- new function BLI_path_basename(), matches pythons os.path.basename().
  replace a number of cases where BLI_split_dirfile was being used to get the filename only.
2010-06-05 21:19:59 +00:00
9cbbc9d3af rename some rna properties filename --> filepath
* filename == "foo.ext"
 * filepath == "/path/to/and/including/foo.ext"

this was alredy followed in some places not not everywhere.
2010-06-02 17:58:28 +00:00
b1a96f76dc include the blendfile name when executing python scripts, so when using libraries you can tell where the script is stored which raises an error. 2010-06-02 14:40:58 +00:00
941c10a296 optional fallback argument for vector angle function.
vec1.angle(vec2, fallback)

in my experiences most uses of this function required a try/except so better to allow a fallback value.
2010-05-30 01:42:04 +00:00
Dalai Felinto
c6bec43330 reverting previous commit from Mitchell. His commit went to the trunk instead of the branch :)
svn merge -r 29067:29066 https://svn.blender.org/svnroot/bf-blender/trunk/blender
2010-05-29 21:31:57 +00:00
9d3157eed0 Reversing the last merge because I botched it. 2010-05-29 21:22:24 +00:00
dbb914becc blf docstring fix from Moguri 2010-05-17 07:33:37 +00:00
c2ffcb8497 no functional changes
- add PySequenceMethods members (all NULL)
- spaces -> tabs
- cmake syntax warning from recent ghost commit
2010-05-16 10:09:07 +00:00