Commit Graph

66005 Commits

Author SHA1 Message Date
Diego Borghetti
e0f5764e4c Fix segfault on makesrna.
Call to RNA_def_property_update with a invalid pointer cause a segfault.
2009-08-03 18:44:01 +00:00
Chingiz Dyussenov
03632ee68d Copies textures to the directory where exported file is. 2009-08-03 18:24:29 +00:00
Andre Susano Pinto
29530beb90 NlogN building:
sort once
	select subsets and kept the order (on X, Y and Z)
2009-08-03 17:56:38 +00:00
Daniel Genrich
ee92957b36 Smoke: fix crash with collisions + flows 2009-08-03 16:39:12 +00:00
Chingiz Dyussenov
217b865fbd Merged BKE_get_image_export_path() from soc-2009-kazanbas branch with:
svn merge -r 19844:22173 https://svn.blender.org/svnroot/bf-blender/branches/soc-2009-kazanbas/source/blender/blenkernel/BKE_image.h source/blender/blenkernel/BKE_image.h
svn merge -r 19844:22173 https://svn.blender.org/svnroot/bf-blender/branches/soc-2009-kazanbas/source/blender/blenkernel/intern/image.c source/blender/blenkernel/intern/image.c
2009-08-03 15:45:43 +00:00
Tamito Kajiyama
ff110c17f7 Fixed argument checking in __init__ methods of Interface1D, Predicates,
Functions, and StrokeShader types.
2009-08-03 15:19:51 +00:00
Nathan Letwory
7185303219 * add notifications for rna updates to curve. This gives realtime updates for curves in editmode. If someone knows how to get this to work for object mode too, that'd be great. 2009-08-03 15:06:56 +00:00
Dalai Felinto
f4bc2131c0 Ignoring BGE world setting from previously files.
* That also means you can't really change them and save it before we actually do a do_version.
* Marking the old variables in DNA_world_types.h to be removed.
2009-08-03 14:56:46 +00:00
Nathan Letwory
583fc3a2ac * copy python zips from new release location 2009-08-03 14:48:39 +00:00
Chingiz Dyussenov
87e68418a2 * added armature/skinned mesh export
* meshes are now exported without modifiers applied (for skinning to work), this should become a configurable option later
* had to edit OpenCollada code to make armature/skinning import work correctly
* code layout improvements
2009-08-03 14:40:23 +00:00
Jiri Hnidek
e9c1550432 2.5 MetaBalls and UI
* Added callback function for some metaball properties:
When some properties (wiresize, threshold, update flags) of metaball are changed, then these properties are copied to all metaballs in the group (all metaballs with same base name). This is important to "share" some properties between metaballs, because polygonisation of metaball is influenced only by properties of base metaball and base metaball can be changed.
* Improved drawing of selected Metaball objects
2009-08-03 14:40:10 +00:00
Tamito Kajiyama
d4ff63fe20 * Fixed uninitialized pointers in "__init__" methods of UnaryFunction1D types.
There was a known issue for a long time that we occasionally encountered
strange "TypeError: an integer is required" and "RuntimeWarning: tp_compare
didn't return -1 or -2 for exception", as shown in the following unit test
log.  The source of the former error was PyInt_AsLong(obj) being used by
IntegrationType_from_BPy_IntegrationType(obj), where "obj" was not properly
initialized in "__init__" before the converter was called.  The TypeError
was left unattended for a while and showed up when a comparison occurred
and the TypeError was detected, which resulted in the latter warning.

> runTest (__main__.UnaryFunction1DDoubleInitTestCase) ...
> .\blender:211: RuntimeWarning: tp_compare didn't return -1 or -2 for exception
> ERROR
> 
> ======================================================================
> ERROR: runTest (__main__.UnaryFunction1DDoubleInitTestCase)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "init_tests.py", line 211, in runTest
> TypeError: an integer is required
> 
> ----------------------------------------------------------------------

* Also removed unnecessary error messages in "__init__" methods of
UnaryFunction1D types.
2009-08-03 14:38:15 +00:00
Arystanbek Dyussenov
2065c5cf60 Merge with 2.5 -r 21756:22173. 2009-08-03 14:06:47 +00:00
William Reynish
adbae1d174 Renamed Subsurf > Subdivision Surface
Multires > Multiresolution

The term 'Subsurf' was really confusing, because of the similar term Subsurface Scattering, meaning something completely different. Additionally, the prefix 'sub' (meaning 'lower' or 'under'), as well as the word 'surf' (meaning water foam / a water sport) really mean completely different things on their own, making 'subsurf' a terrible abbreviation.
2009-08-03 13:46:45 +00:00
Joshua Leung
641c8e69a8 2.5 - MetaBalls are now animateable 2009-08-03 13:09:23 +00:00
Joshua Leung
cd905eef70 2.5 - Make Proxy Tweaks
* Drivers are now copied across and relinked as appropriate
* Drawtype is also copied now (especially useful for rigs)
2009-08-03 12:11:50 +00:00
Arystanbek Dyussenov
4086ca58e2 - re-wrote image exporting function renaming it from BKE_export_image to BKE_get_image_export_path because now it doesn't copy
files but only manipulates paths. It produces both ablsolute and relative paths. COLLADA exporter can now use it.
- re-wrote unit test for it, this is now more compact and readable
- RNA API Image.get_export_path takes a boolean arg to indicate whether a relative or absolute path should be returned. Python scripts 
can now use it.
2009-08-03 12:02:40 +00:00
Joshua Leung
28909178d9 2.5 - Make proxy operator works again now
Now it uses strings instead of pointers. Maybe the properties could still get some tweaks, but they work well enough for now.
2009-08-03 11:12:17 +00:00
William Reynish
9ae77b0eff UI tweaks
-Removed shadows from most UI items. The shadow settings are unfortunately not really useful, because you can't set them for individual items. There was a lot of black text with black shadows, which really only makes the text look fuzzy. For shadows to improve clarity, they should be the opposite color of the text label, not the same color.

-Tweaked material layout, with clearer grouping in Ray Mirror and Ray Transparency panels.

-Added icons in the texture type menu to signify which textures are procedural and which ones are images, and plugins.
2009-08-03 10:54:02 +00:00
Matt Ebb
acd4b4732b * Fix makefiles once more, change tabs to spaces 2009-08-03 05:21:13 +00:00
Matt Ebb
851fac055c * unzip osx python modules on make release, too 2009-08-03 04:55:32 +00:00
Guillermo S. Romero
4ee4dc355c Fix access to MEM_CacheLimiterC-Api.h. 2009-08-03 01:24:55 +00:00
Matt Ebb
8d3b3780d0 * small fix for python versions 2009-08-03 00:58:50 +00:00
Campbell Barton
1517ef9d9e changed makefile defaults to point to py3.1 for linux/bsd/openbsd/windows (probably nobody uses makefiles on win32 anymore) 2009-08-03 00:44:42 +00:00
Campbell Barton
95e08f6bff * remove unused member of KX_Scene - m_objecttree
* implicit declaration of getenv in glutil.c
2009-08-02 23:53:53 +00:00
Joshua Leung
9a8b01218f 2.5 - Bones with "Euler" rotations can now have their rotation keyframed properly using built-in keyingsets (i.e. the IKEY menu in 3D-View) 2009-08-02 23:31:18 +00:00
Daniel Genrich
262a76812e Smoke:
a) fixing domain boundaries
b) fixing flow gui (no more velocity there - taken from particles)
c) Outflow available (deletes smoke from scene)
d) deactivating other noise options for now
e) base for render/preview settings 
f) fixing collisions to be working again
2009-08-02 23:30:44 +00:00
Peter Schlaile
eff8e107fe == Sequencer ==
This brings back sequencer rendering, moving do_render_seq() into the
pipeline where it belongs.

Things to fix: SCENE-strip rendering and memory cleanup for
SCENE-strips.

Otherwise: enjoy :)
2009-08-02 23:02:59 +00:00
Joshua Leung
e05474d52f Graph Editor Bugfixes:
* Tools such as set handle type, etc. were not being called correctly from the menus. There were missing operator-context calls to make sure that the invoke methods would get skipped.

* Hack for loading old files - buttons region for Graph Editor now gets added. Dunno why this didn't work automatically as for NLA despite the two having the same code.
2009-08-02 22:56:42 +00:00
Tamito Kajiyama
e2eb4d567c Fixed the handling of constructor arguments in the following Python
types: Interface0D, SVertex, ViewVertex, StrokeVertex, NonTVertex,
and TVertex.
2009-08-02 22:39:21 +00:00
Matt Ebb
05a97747dc Small tweaks to scene buttons (checkboxes in the right column) 2009-08-02 21:46:35 +00:00
Daniel Genrich
ee11ca62bd Smoke: 2 preview fixes
a) take first position lamp into accountn for smoke ligthning (still no realtime shading when you move the lamp - you have to simulate another frame for now)
b) fix front/back "looking throurgh" issue by reordering the billboards
2009-08-02 19:40:25 +00:00
Janne Karhu
dc75023f6f Softbody now uses the new pointcache code.
Note: Rna access to softbody point cache is through softbody modifier although the point cache is in softbody settings. This is to make it similar to cloth.

Bugfix: Softbody rna was trying to get "ob->soft->softflag" instead of the correct "ob->softflag".
2009-08-02 19:39:33 +00:00
Tamito Kajiyama
74027eafcb SWIG/directors dependency removal (cont'd)
Removed all castToSomething() methods from Interface0D's subclasses.
These methods are useless, because introspection-based automatic type
conversion takes place whenever it is applicable.

If you need to rewrite old style modules that rely on the cast methods,
apply the following rewriting rules:

- SVertex.castToSVertex()
- TVertex.castToViewVertex()
- TVertex.castToTVertex()
- NonTVertex.castToViewVertex()
- NonTVertex.castToNonTVertex()

  These 5 methods return an object itself, so just removing a method
  call will suffice.  If you need to handle objects in a different way
  depending on their types, then you can use Python's type checking
  idioms such as "type(obj) is T" and "isinstance(obj, T)".  Example:

    [Original]
    v = it.getObject()
    # try to convert v into a TVertex object
    vertex = v.castToTVertex()
    if vertex != None:
	... # do something on the TVertex object
    # try to convert v into a NonTVertex object
    vertex = v.castToNonTVertex()
    if vertex != None:
	... # do something on the NonTVertex object

    [Rewritten]
    vertex = it.getObject()
    if type(vertex) is TVertex:
	... # do something on the TVertex object
    elif type(vertex) is NonTVertex:
	... # do something on the NonTVertex object

- SVertex.castToViewVertex()
- SVertex.castToTVertex()
- SVertex.castToNonTVertex()

  Use SVertex.viewvertex() instead.  You don't need to care about
  which cast method is appropriate.  SVertex.viewvertex() does, if
  necessary, introspection-based automatic type conversion for you.

- NonTVertex.castToSVertex()

  Use NonTVertex.svertex() instead.

- CurvePoint.castToSVertex()

  Let cp be a CurvePoint object, then this method can be expressed as
  follows:

    if cp.t2d() == 0.0:
	return cp.A() # returns an SVertex
    elif cp.t2d() == 1.0:
	return cp.B() # returns an SVertex
    return None

- CurvePoint.castToViewVertex()
- CurvePoint.castToTVertex()
- CurvePoint.castToNonVertex()

  Similarly, these 3 methods can be expressed as follows:

    if cp.t2d() == 0.0:
	return cp.A().viewvertex()
    elif cp.t2d() == 1.0:
	return cp.B().viewvertex()
    return None
2009-08-02 19:36:18 +00:00
Daniel Genrich
7b123ff13c Smoke: (hopefully) fix collision high-res smoke disappearance 2009-08-02 18:32:56 +00:00
Tamito Kajiyama
0ea01da4ba Fixed the argument parsing in CurvePoint.__init__(). 2009-08-02 18:25:26 +00:00
Tamito Kajiyama
cc19c8e270 * Fixed __init__() method so as to corecttly handle arguments.
* Fixed refcount issues in diffuse(), specular(), ambient() and
emission() methods.  Also changed the type of their returned values
from list to tuple.
2009-08-02 17:38:51 +00:00
Thomas Dinges
08d4b96317 2.5 3DView:
* Removed redundant color picker panels from the Properties Panel.
* Deleted some old C Buttons Code. (Background Image, Weight Paint, View and the Color pickers.)
* Added missing Particle Mode Buttons into the Toolbar. They need a check if the system is editable or not. 
* Pose Mode Panels in Toolbar were not working due to wrong context. Fixed.
2009-08-02 16:44:32 +00:00
Tamito Kajiyama
acf97994bc SWIG/directors dependency removal (cont'd)
* Added to python/BPy_Convert.{cpp,h} 4 utility converters below for
better introspection-based automatic type conversion.

  PyObject * Any_BPy_Interface0D_from_Interface0D( Interface0D& if0D );
  PyObject * Any_BPy_Interface1D_from_Interface1D( Interface1D& if1D );
  PyObject * Any_BPy_FEdge_from_FEdge( FEdge& fe );
  PyObject * Any_BPy_ViewVertex_from_ViewVertex( ViewVertex& vv );

There are 4 corresponding converters without the "Any_" prefix.  All
calls of them in the code base were replaced with these new converters
so that the introspection-based automatic conversion would take place
universally.

* python/BPy_Convert.{cpp,h}: Those C++ to Python converters having
had a "_ptr" suffix were renamed to a name without the suffix, and
their arguments were changed so as to take a reference (e.g.,
ViewVertex&) instead of a pointer (e.g., ViewVertex *).  The changed
converters and their new function prototypes are listed below.  These
converters now return a Python wrapper object that retains the passed
reference, instead of retaining a newly created C++ object by the
converters.

  // Interface0D converters
  PyObject * BPy_Interface0D_from_Interface0D( Interface0D& if0D );
  PyObject * BPy_CurvePoint_from_CurvePoint( CurvePoint& cp );
  PyObject * BPy_StrokeVertex_from_StrokeVertex( StrokeVertex& sv );
  PyObject * BPy_SVertex_from_SVertex( SVertex& sv );
  PyObject * BPy_ViewVertex_from_ViewVertex( ViewVertex& vv );
  PyObject * BPy_TVertex_from_TVertex( TVertex& tv );
  PyObject * BPy_NonTVertex_from_NonTVertex( NonTVertex& ntv );
  // Interface1D converters
  PyObject * BPy_Interface1D_from_Interface1D( Interface1D& if1D );
  PyObject * BPy_Chain_from_Chain( Chain& c );
  PyObject * BPy_FEdge_from_FEdge( FEdge& fe );
  PyObject * BPy_FEdgeSharp_from_FEdgeSharp( FEdgeSharp& fes );
  PyObject * BPy_FEdgeSmooth_from_FEdgeSmooth( FEdgeSmooth& fes );
  PyObject * BPy_Stroke_from_Stroke( Stroke& s );
  PyObject * BPy_ViewEdge_from_ViewEdge( ViewEdge& ve );
  PyObject * BPy_directedViewEdge_from_directedViewEdge( ViewVertex::directedViewEdge& dve );
  // some other converters
  PyObject * BPy_ViewShape_from_ViewShape( ViewShape& vs );
  PyObject * BPy_SShape_from_SShape( SShape& ss );
  PyObject * BPy_FrsMaterial_from_FrsMaterial( FrsMaterial& m );
  PyObject * BPy_StrokeAttribute_from_StrokeAttribute( StrokeAttribute& sa );

* Added a "borrowed" flag to the definitions of Python types being
used to wrap C++ components of Freestyle's internal data structures.
The flag indicates whether or not a Python wrapper object has a
reference to a C++ object that comprises the internal data structures.
The deallocation routines of the Python types check this flag and
release a wrapped C++ object only when it is not part of the internal
data structures.  The following files were modified:

  python/BPy_FrsMaterial.{cpp,h}
  python/BPy_Interface0D.{cpp,h}
  python/BPy_Interface1D.{cpp,h}
  python/BPy_SShape.{cpp,h}
  python/BPy_StrokeAttribute.{cpp,h}
  python/BPy_ViewShape.{cpp,h}
  python/Interface0D/BPy_CurvePoint.cpp
  python/Interface0D/BPy_SVertex.cpp
  python/Interface0D/BPy_ViewVertex.cpp
  python/Interface0D/CurvePoint/BPy_StrokeVertex.cpp
  python/Interface0D/ViewVertex/BPy_NonTVertex.cpp
  python/Interface0D/ViewVertex/BPy_TVertex.cpp
  python/Interface1D/BPy_FEdge.cpp
  python/Interface1D/BPy_FrsCurve.cpp
  python/Interface1D/BPy_Stroke.cpp
  python/Interface1D/BPy_ViewEdge.cpp
  python/Interface1D/Curve/BPy_Chain.cpp
  python/Interface1D/FEdge/BPy_FEdgeSharp.cpp
  python/Interface1D/FEdge/BPy_FEdgeSmooth.cpp

* view_map/Interface[01]D.h, python/BPy_Interface[01]D.cpp: Removed
from the Interface0D and Interface1D C++ classes a back pointer to a
Python wrapper object and all "director" calls.  These classes (and
their subclasses) are used to build Freestyle's main data structures
(such as a view map and strokes) and their class hierarchy is static.
Python wrappers of these C++ classes are only used to access the data
structures from the Python layer, and not intended to extend the data
structures by subclassing the Python wrappers.  Without the necessity
of subclassing in the Python layer, the back pointer to a wrapping
Python object and "director" calls would be useless (actually they
were not used at all), so they were all removed.

* python/Director.{cpp,h}: Removed the definitions of directors that
were no longer used.

* stroke/Stroke.{cpp,h}: Removed an (unused) back pointer to a Python
wrapper object.

* python/BPy_ViewMap.cpp: Fixed a possible null pointer reference.

* python/Interface1D/BPy_FEdge.cpp: Fixed parameter checking in
FEdge___init__().
2009-08-02 16:23:18 +00:00
Daniel Genrich
900c61f062 Smoke: fixing 8MB memleak 2009-08-02 15:57:19 +00:00
Joshua Leung
81146e419c NLA Tweaks:
* "Pushing down" the action to make a new strip will now make the new strip the 'active' one. 

* 'Active Action' field in Animation Data panel is now editable as long as we aren't in "tweakmode"
2009-08-02 13:15:20 +00:00
Joshua Leung
1aa3885ef7 2.5 - Animation/RNA Bugfixes
* Settings for Bones can now be animated properly from UI
* Settings for constraints on bones and objects can now be keyframed properly
* Added missing 'subtarget' property wrapping for StretchTo constraint.
2009-08-02 12:52:02 +00:00
Andre Susano Pinto
84d86540dd changed to STL sort 2009-08-02 12:11:14 +00:00
William Reynish
c5f0be6d99 Mistakingly removed check for old Python in material buttons in previous commit.
Added it back, plus some smaller layout tweaks.
2009-08-02 11:36:12 +00:00
Andre Susano Pinto
bee82a360e Another quick-fix for background mode 2009-08-02 11:32:03 +00:00
Andre Susano Pinto
f6f2d217b6 svn merge -r 22111:22138 https://svn.blender.org/svnroot/bf-blender/branches/blender2.5/blender 2009-08-02 11:11:15 +00:00
Joshua Leung
8aae02bb84 2.5 - Animation Playback Tweaks
* Added some optimisations to avoid having to try evaluating some data that won't have any effect.

* Converted playback buttons in timeline header to use operators too
2009-08-02 11:05:13 +00:00
Campbell Barton
90f089e6b6 fix for crash in background mode. 2009-08-02 10:32:52 +00:00
Joshua Leung
0bbc1229b9 2.5 - Bugfixes
* Added operator for jumping to the start and end frames. Shift Up/Down
* Fixed bad spacing for buttons in Graph Editor header
2009-08-02 07:08:51 +00:00
Matt Ebb
a0e252c25f NaN makefiles now support and build with precompiled Python 3.1 by default on Mac 2009-08-02 06:22:53 +00:00