[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32711] trunk/blender/release/scripts: Removed old rigify code, as it is starting to interfere with the newer Rigify addon.

2010-10-25 Thread Nathan Vegdahl
Revision: 32711
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32711
Author:   cessen
Date: 2010-10-26 07:07:09 +0200 (Tue, 26 Oct 2010)

Log Message:
---
Removed old rigify code, as it is starting to interfere with the newer Rigify 
addon.
The newer addon currently resides here: bzr://bzr.cessen.com/rigify
But will eventually be included in svn.

Removed Paths:
-
trunk/blender/release/scripts/modules/rigify/
trunk/blender/release/scripts/modules/rigify_utils.py
trunk/blender/release/scripts/op/add_armature_human.py
trunk/blender/release/scripts/ui/properties_data_armature_rigify.py

Deleted: trunk/blender/release/scripts/modules/rigify_utils.py
===
--- trunk/blender/release/scripts/modules/rigify_utils.py   2010-10-26 
01:55:06 UTC (rev 32710)
+++ trunk/blender/release/scripts/modules/rigify_utils.py   2010-10-26 
05:07:09 UTC (rev 32711)
@@ -1,467 +0,0 @@
-# # BEGIN GPL LICENSE BLOCK #
-#
-#  This program is free software; you can redistribute it and/or
-#  modify it under the terms of the GNU General Public License
-#  as published by the Free Software Foundation; either version 2
-#  of the License, or (at your option) any later version.
-#
-#  This program is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#  GNU General Public License for more details.
-#
-#  You should have received a copy of the GNU General Public License
-#  along with this program; if not, write to the Free Software Foundation,
-#  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# # END GPL LICENSE BLOCK #
-
-# 
-
-# rigify its self does not depend on this module, however some of the
-# rigify templates use these utility functions.
-#
-# So even though this can be for general purpose use, this module was created
-# for rigify so in some cases seemingly generic functions make assumptions
-# that a generic function would need to check for.
-
-import bpy
-from mathutils import Vector
-from rna_prop_ui import rna_idprop_ui_prop_get
-
-DELIMITER = '-._'
-EMPTY_LAYER = [False] * 32
-
-
-def add_stretch_to(obj, from_name, to_name, name):
-'''
-Adds a bone that stretches from one to another
-'''
-
-mode_orig = obj.mode
-bpy.ops.object.mode_set(mode='EDIT')
-
-arm = obj.data
-stretch_ebone = arm.edit_bones.new(name)
-stretch_name = stretch_ebone.name
-del name
-
-head = stretch_ebone.head = arm.edit_bones[from_name].head.copy()
-#tail = stretch_ebone.tail = arm.edit_bones[to_name].head.copy()
-
-# annoying exception for zero length bones, since its using stretch_to the 
rest pose doesnt really matter
-#if (head - tail).length < 0.1:
-if 1:
-tail = stretch_ebone.tail = arm.edit_bones[from_name].tail.copy()
-
-
-# Now for the constraint
-bpy.ops.object.mode_set(mode='OBJECT')
-
-stretch_pbone = obj.pose.bones[stretch_name]
-
-con = stretch_pbone.constraints.new('COPY_LOCATION')
-con.target = obj
-con.subtarget = from_name
-
-con = stretch_pbone.constraints.new('STRETCH_TO')
-con.target = obj
-con.subtarget = to_name
-con.rest_length = (head - tail).length
-con.keep_axis = 'PLANE_X'
-con.volume = 'NO_VOLUME'
-
-bpy.ops.object.mode_set(mode=mode_orig)
-
-return stretch_name
-
-
-def copy_bone_simple(arm, from_bone, name, parent=False):
-ebone = arm.edit_bones[from_bone]
-ebone_new = arm.edit_bones.new(name)
-
-if parent:
-ebone_new.use_connect = ebone.use_connect
-ebone_new.parent = ebone.parent
-
-ebone_new.head = ebone.head
-ebone_new.tail = ebone.tail
-ebone_new.roll = ebone.roll
-ebone_new.layers = list(ebone.layers)
-return ebone_new
-
-
-def copy_bone_simple_list(arm, from_bones, to_bones, parent=False):
-
-if len(from_bones) != len(to_bones):
-raise Exception("bone list sizes must match")
-
-copy_bones = [copy_bone_simple(arm, bone_name, to_bones[i], True) for i, 
bone_name in enumerate(from_bones)]
-
-# now we need to re-parent
-for ebone in copy_bones:
-parent = ebone.parent
-if parent:
-try:
-i = from_bones.index(parent.name)
-except:
-i = -1
-
-if i == -1:
-ebone.parent = None
-else:
-ebone.parent = copy_bones[i]
-
-return copy_bones
-
-
-def blend_bone_list(obj, apply_bones, from_bones, to_bones, target_bone=None, 
target_prop="blend", blend_default=0.5):
-
-if obj.mode == 'EDIT':
-raise Exception("blending cant be called in editmode")
-
-if len(apply_bones) != len(from_bones):
-raise Exception("lists differ in length (from -> apply): \n\t%s\n\t%s" 
% (from_

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32710] trunk/blender/source/blenderplayer /bad_level_call_stubs/stubs.c: blenderplayer building again in CMake+MSVC

2010-10-25 Thread Dalai Felinto
Revision: 32710
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32710
Author:   dfelinto
Date: 2010-10-26 03:55:06 +0200 (Tue, 26 Oct 2010)

Log Message:
---
blenderplayer building again in CMake+MSVC
(I basically commented out functions already defined in other places)

Modified Paths:
--
trunk/blender/source/blenderplayer/bad_level_call_stubs/stubs.c

Modified: trunk/blender/source/blenderplayer/bad_level_call_stubs/stubs.c
===
--- trunk/blender/source/blenderplayer/bad_level_call_stubs/stubs.c 
2010-10-25 22:44:01 UTC (rev 32709)
+++ trunk/blender/source/blenderplayer/bad_level_call_stubs/stubs.c 
2010-10-26 01:55:06 UTC (rev 32710)
@@ -374,10 +374,12 @@
 struct wmKeyMap *WM_modalkeymap_add(struct wmKeyConfig *keyconf, char *idname, 
EnumPropertyItem *items){return (struct wmKeyMap *) NULL;}
 
 /* intern/decimation */
+/*
 int LOD_FreeDecimationData(struct LOD_Decimation_Info *info){return 0;}
 int LOD_CollapseEdge(struct LOD_Decimation_Info *info){return 0;}
 int LOD_PreprocessMesh(struct LOD_Decimation_Info *info){return 0;}
 int LOD_LoadMesh(struct LOD_Decimation_Info *info){return 0;}
+*/
 
 /* smoke */
 void LzmaCompress(void) { return; }
@@ -423,17 +425,19 @@
 char blender_path[] = "";
 
 /* CSG */
+/*
 struct CSG_BooleanOperation * CSG_NewBooleanFunction( void ){return (struct 
CSG_BooleanOperation *) NULL;}
 void CSG_FreeBooleanOperation(struct CSG_BooleanOperation *operation){return;}
 void CSG_FreeFaceDescriptor(struct CSG_FaceIteratorDescriptor * 
f_descriptor){return;}
 void CSG_FreeVertexDescriptor(struct CSG_VertexIteratorDescriptor * 
v_descriptor){return;} 
 int CSG_OutputFaceDescriptor(struct CSG_BooleanOperation * operation, struct 
CSG_FaceIteratorDescriptor * output){return 0;}
 int CSG_OutputVertexDescriptor(struct CSG_BooleanOperation * operation, struct 
CSG_VertexIteratorDescriptor *output){return 0;}
+*/
 
 typedef struct CSG_VertexIteratorDescriptor {int a;} 
CSG_VertexIteratorDescriptor; //workaround to build CSG_PerformanceBoolean 
Operation
 typedef struct CSG_FaceIteratorDescriptor {int a;} CSG_FaceIteratorDescriptor; 
//workaround to build CSG_PerformanceBoolean Operation
 typedef struct CSG_OperationType {int a;} CSG_OperationType; //workaround to 
build CSG_PerformanceBoolean Operation
-
+/*
 int CSG_PerformBooleanOperation(
struct CSG_BooleanOperation *operation,
CSG_OperationType   op_type,
@@ -442,5 +446,6 @@
CSG_FaceIteratorDescriptor  obBFaces,
CSG_VertexIteratorDescriptorobBVertices)
{ return 0;}
+*/
 
 #endif // GAMEBLENDER == 1


___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32709] trunk/blender: move geometry python module into mathutils.geometry, since it provides utility functions using mathutils types.

2010-10-25 Thread Campbell Barton
Revision: 32709
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32709
Author:   campbellbarton
Date: 2010-10-26 00:44:01 +0200 (Tue, 26 Oct 2010)

Log Message:
---
move geometry python module into mathutils.geometry, since it provides utility 
functions using mathutils types.

Modified Paths:
--
trunk/blender/doc/python_api/sphinx_doc_gen.py
trunk/blender/release/scripts/op/console_python.py
trunk/blender/release/scripts/op/io_scene_obj/import_obj.py
trunk/blender/release/scripts/op/object.py
trunk/blender/release/scripts/op/uvcalc_smart_project.py
trunk/blender/source/blender/python/generic/CMakeLists.txt
trunk/blender/source/blender/python/generic/mathutils.c
trunk/blender/source/blender/python/generic/mathutils.h
trunk/blender/source/blender/python/intern/bpy.c
trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp

Added Paths:
---
trunk/blender/source/blender/python/generic/mathutils_geometry.c
trunk/blender/source/blender/python/generic/mathutils_geometry.h

Removed Paths:
-
trunk/blender/source/blender/python/generic/geometry.c
trunk/blender/source/blender/python/generic/geometry.h

Modified: trunk/blender/doc/python_api/sphinx_doc_gen.py
===
--- trunk/blender/doc/python_api/sphinx_doc_gen.py  2010-10-25 21:57:45 UTC 
(rev 32708)
+++ trunk/blender/doc/python_api/sphinx_doc_gen.py  2010-10-25 22:44:01 UTC 
(rev 32709)
@@ -364,7 +364,7 @@
 fw("   These parts of the API are relatively stable and are unlikely to 
change significantly\n")
 fw("  * data API, access to attributes of blender data such as mesh 
verts, material color, timeline frames and scene objects\n")
 fw("  * user interface functions for defining buttons, creation of 
menus, headers, panels\n")
-fw("  * modules: bgl, mathutils and geometry\n")
+fw("  * modules: bgl and mathutils\n")
 fw("  * game engine modules\n")
 fw("\n")
 

Modified: trunk/blender/release/scripts/op/console_python.py
===
--- trunk/blender/release/scripts/op/console_python.py  2010-10-25 21:57:45 UTC 
(rev 32708)
+++ trunk/blender/release/scripts/op/console_python.py  2010-10-25 22:44:01 UTC 
(rev 32709)
@@ -268,7 +268,7 @@
 add_scrollback("Execute:  Enter", 'OUTPUT')
 add_scrollback("Autocomplete: Ctrl+Space", 'OUTPUT')
 add_scrollback("Ctrl +/-  Wheel:  Zoom", 'OUTPUT')
-add_scrollback("Builtin Modules: bpy, bpy.data, bpy.ops, bpy.props, 
bpy.types, bpy.context, bgl, blf, mathutils, geometry", 'OUTPUT')
+add_scrollback("Builtin Modules: bpy, bpy.data, bpy.ops, bpy.props, 
bpy.types, bpy.context, bgl, blf, mathutils", 'OUTPUT')
 add_scrollback("", 'OUTPUT')
 add_scrollback("  WARNING!!! Blender 2.5 API is subject to change, see API 
reference for more info.", 'ERROR')
 add_scrollback("", 'OUTPUT')

Modified: trunk/blender/release/scripts/op/io_scene_obj/import_obj.py
===
--- trunk/blender/release/scripts/op/io_scene_obj/import_obj.py 2010-10-25 
21:57:45 UTC (rev 32708)
+++ trunk/blender/release/scripts/op/io_scene_obj/import_obj.py 2010-10-25 
22:44:01 UTC (rev 32709)
@@ -35,7 +35,7 @@
 import time
 import bpy
 import mathutils
-from geometry import PolyFill
+from mathutils.geometry import PolyFill
 from io_utils import load_image, unpack_list, unpack_face_list
 
 

Modified: trunk/blender/release/scripts/op/object.py
===
--- trunk/blender/release/scripts/op/object.py  2010-10-25 21:57:45 UTC (rev 
32708)
+++ trunk/blender/release/scripts/op/object.py  2010-10-25 22:44:01 UTC (rev 
32709)
@@ -256,7 +256,7 @@
 ob.active_shape_key_index = len(me.shape_keys.keys) - 1
 ob.show_shape_key = True
 
-from geometry import BarycentricTransform
+from mathutils.geometry import BarycentricTransform
 from mathutils import Vector
 
 if use_clamp and mode == 'OFFSET':

Modified: trunk/blender/release/scripts/op/uvcalc_smart_project.py
===
--- trunk/blender/release/scripts/op/uvcalc_smart_project.py2010-10-25 
21:57:45 UTC (rev 32708)
+++ trunk/blender/release/scripts/op/uvcalc_smart_project.py2010-10-25 
22:44:01 UTC (rev 32709)
@@ -22,9 +22,8 @@
 
 # 
 
-from mathutils import Matrix, Vector
+from mathutils import Matrix, Vector, geometry
 import time
-import geometry
 import bpy
 from math import cos, radians
 

Modified: trunk/blender/source/blender/python/generic/CMakeLists.txt
===
--- trunk/blender/source/blender/python/generic/CMakeLists.txt  2010-10-25 
21:57:45 UTC (rev 32708)
+++ trunk

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32708] trunk/blender/source: Added function RNA_property_update_check() to check if an update call is needed,

2010-10-25 Thread Campbell Barton
Revision: 32708
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32708
Author:   campbellbarton
Date: 2010-10-25 23:57:45 +0200 (Mon, 25 Oct 2010)

Log Message:
---
Added function RNA_property_update_check() to check if an update call is needed,
Simple python benchmark shows this to be about 3x faster in the case where an 
update isn't needed.

This also speeds up rna function argument parsing, since each arg in a function 
call did 2 string lookups on the context which were never needed.

Modified Paths:
--
trunk/blender/source/blender/makesrna/RNA_access.h
trunk/blender/source/blender/makesrna/intern/rna_access.c
trunk/blender/source/blender/python/intern/bpy_rna.c
trunk/blender/source/gameengine/BlenderRoutines/CMakeLists.txt
trunk/blender/source/gameengine/Converter/CMakeLists.txt
trunk/blender/source/gameengine/GamePlayer/common/CMakeLists.txt
trunk/blender/source/gameengine/GamePlayer/ghost/CMakeLists.txt
trunk/blender/source/gameengine/Ketsji/CMakeLists.txt
trunk/blender/source/gameengine/Physics/common/CMakeLists.txt
trunk/blender/source/gameengine/VideoTexture/CMakeLists.txt

Modified: trunk/blender/source/blender/makesrna/RNA_access.h
===
--- trunk/blender/source/blender/makesrna/RNA_access.h  2010-10-25 18:12:28 UTC 
(rev 32707)
+++ trunk/blender/source/blender/makesrna/RNA_access.h  2010-10-25 21:57:45 UTC 
(rev 32708)
@@ -681,6 +681,7 @@
 
 void RNA_property_update(struct bContext *C, PointerRNA *ptr, PropertyRNA 
*prop);
 void RNA_property_update_main(struct Main *bmain, struct Scene *scene, 
PointerRNA *ptr, PropertyRNA *prop);
+int RNA_property_update_check(struct PropertyRNA *prop);
 
 /* Property Data */
 

Modified: trunk/blender/source/blender/makesrna/intern/rna_access.c
===
--- trunk/blender/source/blender/makesrna/intern/rna_access.c   2010-10-25 
18:12:28 UTC (rev 32707)
+++ trunk/blender/source/blender/makesrna/intern/rna_access.c   2010-10-25 
21:57:45 UTC (rev 32708)
@@ -1268,6 +1268,14 @@
 
 }
 
+/* must keep in sync with 'rna_property_update'
+ * note, its possible this returns a false positive in the case of 
PROP_CONTEXT_UPDATE
+ * but this isnt likely to be a performance problem. */
+int RNA_property_update_check(PropertyRNA *prop)
+{
+   return (prop->magic != RNA_MAGIC || prop->update || prop->noteflag);
+}
+
 void RNA_property_update(bContext *C, PointerRNA *ptr, PropertyRNA *prop)
 {
rna_property_update(C, CTX_data_main(C), CTX_data_scene(C), ptr, prop);

Modified: trunk/blender/source/blender/python/intern/bpy_rna.c
===
--- trunk/blender/source/blender/python/intern/bpy_rna.c2010-10-25 
18:12:28 UTC (rev 32707)
+++ trunk/blender/source/blender/python/intern/bpy_rna.c2010-10-25 
21:57:45 UTC (rev 32708)
@@ -120,7 +120,9 @@
}
 
RNA_property_float_set_array(&self->ptr, self->prop, bmo->data);
-   RNA_property_update(BPy_GetContext(), &self->ptr, self->prop);
+   if(RNA_property_update_check(self->prop)) {
+   RNA_property_update(BPy_GetContext(), &self->ptr, self->prop);
+   }
 
/* Euler order exception */
if(subtype==MATHUTILS_CB_SUBTYPE_EUL) {
@@ -129,7 +131,9 @@
short order= pyrna_rotation_euler_order_get(&self->ptr, 
&prop_eul_order, eul->order);
if(order != eul->order) {
RNA_property_enum_set(&self->ptr, prop_eul_order, 
eul->order);
-   RNA_property_update(BPy_GetContext(), &self->ptr, 
prop_eul_order);
+   if(RNA_property_update_check(prop_eul_order)) {
+   RNA_property_update(BPy_GetContext(), 
&self->ptr, prop_eul_order);
+   }
}
}
return 1;
@@ -160,7 +164,11 @@
 
RNA_property_float_clamp(&self->ptr, self->prop, &bmo->data[index]);
RNA_property_float_set_index(&self->ptr, self->prop, index, 
bmo->data[index]);
-   RNA_property_update(BPy_GetContext(), &self->ptr, self->prop);
+
+   if(RNA_property_update_check(self->prop)) {
+   RNA_property_update(BPy_GetContext(), &self->ptr, self->prop);
+   }
+
return 1;
 }
 
@@ -201,7 +209,10 @@

/* can ignore clamping here */
RNA_property_float_set_array(&self->ptr, self->prop, bmo->data);
-   RNA_property_update(BPy_GetContext(), &self->ptr, self->prop);
+
+   if(RNA_property_update_check(self->prop)) {
+   RNA_property_update(BPy_GetContext(), &self->ptr, self->prop);
+   }
return 1;
 }
 
@@ -1235,7 +1246,9 @@
}
 
/* Run rna property functions */
-   RNA_property_update(BPy_GetContext(), ptr, prop);
+   if(RNA_property_update_check(prop)) {

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32707] trunk/blender/source/blender/ editors/interface/interface_draw.c: curve widget bounds were not properly clipped causing drawing artifacts in o

2010-10-25 Thread Campbell Barton
Revision: 32707
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32707
Author:   campbellbarton
Date: 2010-10-25 20:12:28 +0200 (Mon, 25 Oct 2010)

Log Message:
---
curve widget bounds were not properly clipped causing drawing artifacts in 
other views.

Modified Paths:
--
trunk/blender/source/blender/editors/interface/interface_draw.c

Modified: trunk/blender/source/blender/editors/interface/interface_draw.c
===
--- trunk/blender/source/blender/editors/interface/interface_draw.c 
2010-10-25 17:20:12 UTC (rev 32706)
+++ trunk/blender/source/blender/editors/interface/interface_draw.c 
2010-10-25 18:12:28 UTC (rev 32707)
@@ -33,6 +33,7 @@
 #include "DNA_screen_types.h"
 
 #include "BLI_math.h"
+#include "BLI_rect.h"
 
 #include "BKE_colortools.h"
 #include "BKE_texture.h"
@@ -1355,6 +1356,7 @@
CurveMapPoint *cmp;
float fx, fy, fac[2], zoomx, zoomy, offsx, offsy;
GLint scissor[4];
+   rcti scissor_new;
int a;
 
cumap= (CurveMapping *)(but->editcumap? but->editcumap: but->poin);
@@ -1362,7 +1364,12 @@

/* need scissor test, curve can draw outside of boundary */
glGetIntegerv(GL_VIEWPORT, scissor);
-   glScissor(ar->winrct.xmin + rect->xmin, ar->winrct.ymin+rect->ymin, 
rect->xmax-rect->xmin, rect->ymax-rect->ymin);
+   scissor_new.xmin= ar->winrct.xmin + rect->xmin;
+   scissor_new.ymin= ar->winrct.ymin + rect->ymin;
+   scissor_new.xmax= ar->winrct.xmin + rect->xmax;
+   scissor_new.ymax= ar->winrct.ymin + rect->ymax;
+   BLI_isect_rcti(&scissor_new, &ar->winrct, &scissor_new);
+   glScissor(scissor_new.xmin, scissor_new.ymin, 
scissor_new.xmax-scissor_new.xmin, scissor_new.ymax-scissor_new.ymin);

/* calculate offset and zoom */
zoomx= (rect->xmax-rect->xmin-2.0*but->aspect)/(cumap->curr.xmax - 
cumap->curr.xmin);


___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32706] trunk/blender/source/blender/ editors/space_view3d/drawobject.c: Fix for [#24383] Particles using "circle " as display, are disabled on openin

2010-10-25 Thread Janne Karhu
Revision: 32706
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32706
Author:   jhk
Date: 2010-10-25 19:20:12 +0200 (Mon, 25 Oct 2010)

Log Message:
---
Fix for [#24383] Particles using "circle" as display, are disabled on opening 
file

Modified Paths:
--
trunk/blender/source/blender/editors/space_view3d/drawobject.c

Modified: trunk/blender/source/blender/editors/space_view3d/drawobject.c
===
--- trunk/blender/source/blender/editors/space_view3d/drawobject.c  
2010-10-25 17:08:40 UTC (rev 32705)
+++ trunk/blender/source/blender/editors/space_view3d/drawobject.c  
2010-10-25 17:20:12 UTC (rev 32706)
@@ -3255,16 +3255,22 @@
 static void draw_particle(ParticleKey *state, int draw_as, short draw, float 
pixsize, float imat[4][4], float *draw_line, ParticleBillboardData *bb, 
ParticleDrawData *pdd)
 {
float vec[3], vec2[3];
-   float *vd = pdd->vd;
-   float *cd = pdd->cd;
+   float *vd = NULL;
+   float *cd = NULL;
float ma_r=0.0f;
float ma_g=0.0f;
float ma_b=0.0f;
 
-   if(pdd->ma_r) {
-   ma_r = *pdd->ma_r;
-   ma_g = *pdd->ma_g;
-   ma_b = *pdd->ma_b;
+   /* null only for PART_DRAW_CIRC */
+   if(pdd) {
+   vd = pdd->vd;
+   cd = pdd->cd;
+
+   if(pdd->ma_r) {
+   ma_r = *pdd->ma_r;
+   ma_g = *pdd->ma_g;
+   ma_b = *pdd->ma_b;
+   }
}
 
switch(draw_as){
@@ -3356,8 +3362,6 @@
}
case PART_DRAW_CIRC:
{
-   if(pdd->ma_r)
-   glColor3f(ma_r,ma_g,ma_b);
drawcircball(GL_LINE_LOOP, state->co, pixsize, imat);
break;
}
@@ -3491,12 +3495,6 @@
else
cpack(0);
 
-   if(pdd) {
-   pdd->ma_r = &ma_r;
-   pdd->ma_g = &ma_g;
-   pdd->ma_b = &ma_b;
-   }
-
timestep= psys_get_timestep(&sim);
 
if( (base->flag & OB_FROMDUPLI) && (ob->flag & OB_FROMGROUP) ) {
@@ -3650,11 +3648,18 @@
pdd->tot_vec_size= tot_vec_size;
}
 
+   if(pdd) {
+   pdd->ma_r = &ma_r;
+   pdd->ma_g = &ma_g;
+   pdd->ma_b = &ma_b;
+   }
+
psys->lattice= psys_get_lattice(&sim);
 
-   if(pdd && draw_as!=PART_DRAW_PATH){
+   /* circles don't use drawdata, so have to add a special case here */
+   if((pdd || draw_as==PART_DRAW_CIRC) && draw_as!=PART_DRAW_PATH){
 /* 5. */
-   if((pdd->flag & PARTICLE_DRAW_DATA_UPDATED)
+   if(pdd && (pdd->flag & PARTICLE_DRAW_DATA_UPDATED)
&& (pdd->vedata || part->draw & 
(PART_DRAW_SIZE|PART_DRAW_NUM|PART_DRAW_HEALTH))==0) {
totpoint = pdd->totpoint; /* draw data is up to date */
}


___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32705] trunk/blender/source: bugfix [ #22277] Absolute Shapekeys crash (in BGE)

2010-10-25 Thread Campbell Barton
Revision: 32705
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32705
Author:   campbellbarton
Date: 2010-10-25 19:08:40 +0200 (Mon, 25 Oct 2010)

Log Message:
---
bugfix [#22277] Absolute Shapekeys crash (in BGE)
running a shape actuator on a softbody would crash because it assumed the 
deformer was a BL_MeshDeformer.
Added TODO note, since it would be nice if softbody would work with shape keys 
too.

Modified Paths:
--
trunk/blender/source/blender/editors/space_view3d/view3d_intern.h
trunk/blender/source/gameengine/Converter/BL_DeformableGameObject.h
trunk/blender/source/gameengine/Physics/Bullet/CMakeLists.txt

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_intern.h
===
--- trunk/blender/source/blender/editors/space_view3d/view3d_intern.h   
2010-10-25 15:36:48 UTC (rev 32704)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_intern.h   
2010-10-25 17:08:40 UTC (rev 32705)
@@ -66,7 +66,6 @@
 
 /* view3d_ops.c */
 void view3d_operatortypes(void);
-void view3d_keymap(struct wmKeyConfig *keyconf);
 
 /* view3d_edit.c */
 void VIEW3D_OT_zoom(struct wmOperatorType *ot);
@@ -94,6 +93,7 @@
 void view3d_persp_mat4(struct RegionView3D *rv3d, float mat[][4]);
 
 /* view3d_fly.c */
+void view3d_keymap(struct wmKeyConfig *keyconf);
 void VIEW3D_OT_fly(struct wmOperatorType *ot);
 
 /* drawanim.c */

Modified: trunk/blender/source/gameengine/Converter/BL_DeformableGameObject.h
===
--- trunk/blender/source/gameengine/Converter/BL_DeformableGameObject.h 
2010-10-25 15:36:48 UTC (rev 32704)
+++ trunk/blender/source/gameengine/Converter/BL_DeformableGameObject.h 
2010-10-25 17:08:40 UTC (rev 32705)
@@ -37,6 +37,7 @@
 #include "DNA_mesh_types.h"
 #include "KX_GameObject.h"
 #include "BL_MeshDeformer.h"
+#include "KX_SoftBodyDeformer.h"
 #include 
 
 class BL_ShapeActionActuator;
@@ -79,7 +80,20 @@
bool GetShape(vector &shape);
Key* GetKey()
{
-   return (m_pDeformer) ? 
((BL_MeshDeformer*)m_pDeformer)->GetMesh()->key : NULL;
+   if(m_pDeformer) {
+   BL_MeshDeformer *deformer= dynamic_cast(m_pDeformer); // incase its not a MeshDeformer
+   if(deformer) {
+   return deformer->GetMesh()->key;
+   }
+
+#if 0  // TODO. shape keys for softbody, currently they dont store a 
mesh.
+   KX_SoftBodyDeformer *deformer_soft= 
dynamic_cast(m_pDeformer);   
+   if(deformer) {
+   return deformer->GetMesh()->key;
+   }
+#endif
+   }
+   return NULL;
}

virtual voidSetDeformer(class RAS_Deformer* deformer);

Modified: trunk/blender/source/gameengine/Physics/Bullet/CMakeLists.txt
===
--- trunk/blender/source/gameengine/Physics/Bullet/CMakeLists.txt   
2010-10-25 15:36:48 UTC (rev 32704)
+++ trunk/blender/source/gameengine/Physics/Bullet/CMakeLists.txt   
2010-10-25 17:08:40 UTC (rev 32705)
@@ -24,6 +24,9 @@
 #
 # * END GPL LICENSE BLOCK *
 
+# since this includes bullet we get errors from the headers too
+REMOVE_STRICT_FLAGS()
+
 SET(INC
.
../common


___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32704] branches/particles-2010/source/ blender: bNodeSocketTypeInfo struct added to assemble all the socket type information in one place and make it

2010-10-25 Thread Lukas Toenne
Revision: 32704
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32704
Author:   lukastoenne
Date: 2010-10-25 17:36:48 +0200 (Mon, 25 Oct 2010)

Log Message:
---
bNodeSocketTypeInfo struct added to assemble all the socket type information in 
one place and make it easier to add new socket types. The list of type ids is 
still in the DNA file, this might be moved to individual tree definitions too.

Modified Paths:
--
branches/particles-2010/source/blender/blenkernel/BKE_node.h
branches/particles-2010/source/blender/editors/space_node/node_draw.c

branches/particles-2010/source/blender/nodes/intern/composite/node_tree_composite.c
branches/particles-2010/source/blender/nodes/intern/node_util.c
branches/particles-2010/source/blender/nodes/intern/node_util.h

branches/particles-2010/source/blender/nodes/intern/shader/node_tree_shader.c

branches/particles-2010/source/blender/nodes/intern/simulation/node_tree_simulation.c

branches/particles-2010/source/blender/nodes/intern/texture/node_tree_texture.c

Modified: branches/particles-2010/source/blender/blenkernel/BKE_node.h
===
--- branches/particles-2010/source/blender/blenkernel/BKE_node.h
2010-10-25 14:12:44 UTC (rev 32703)
+++ branches/particles-2010/source/blender/blenkernel/BKE_node.h
2010-10-25 15:36:48 UTC (rev 32704)
@@ -86,6 +86,14 @@
float min, max; /* default range for 
inputs */
 } bNodeSocketDefinition;
 
+typedef struct bNodeSocketTypeInfo {
+   int type;
+   int color[4];
+   int icon;
+   char ui_name[64];
+   char ui_description[256];
+} bNodeSocketTypeInfo;
+
 typedef struct bNodeType {
void *next,*prev;
int type;
@@ -188,6 +196,7 @@
 * individual node update calls should be made internally if this 
function is defined! */
void (*updateNode)(struct bNodeTree *ntree, struct bNode *node);
 
+   struct bNodeSocketTypeInfo *(*getSocketTypeInfo)(int type);
int (*compatibleSocketTypes)(int type_a, int type_b);
int (*preferredSocketType)(int type_a, int type_b);
 } bNodeTreeTypeInfo;

Modified: branches/particles-2010/source/blender/editors/space_node/node_draw.c
===
--- branches/particles-2010/source/blender/editors/space_node/node_draw.c   
2010-10-25 14:12:44 UTC (rev 32703)
+++ branches/particles-2010/source/blender/editors/space_node/node_draw.c   
2010-10-25 15:36:48 UTC (rev 32704)
@@ -532,57 +532,12 @@
glDisable(GL_BLEND);
 }
 
-void node_socket_get_color(int type, int r_col[4])
+static void socket_circle_draw(bNodeTree *ntree, bNodeSocket *sock, float size)
 {
-   switch (type) {
-   case -1:
-   r_col[0]= 0;r_col[1]= 0;r_col[2]= 0;r_col[3]= 0;
-   break;
-   case SOCK_VALUE:
-   r_col[0]= 160;  r_col[1]= 160;  r_col[2]= 160;  r_col[3]= 255;
-   break;
-   case SOCK_VECTOR:
-   r_col[0]= 100;  r_col[1]= 100;  r_col[2]= 200;  r_col[3]= 255;
-   break;
-   case SOCK_RGBA:
-   r_col[0]= 200;  r_col[1]= 200;  r_col[2]= 40;   r_col[3]= 255;
-   break;
-   case SOCK_OP:
-   r_col[0]= 174;  r_col[1]= 58;   r_col[2]= 5;r_col[3]= 255;
-   break;
-   case SOCK_ANY:
-   r_col[0]= 30;   r_col[1]= 30;   r_col[2]= 30;   r_col[3]= 255;
-   break;
-   case SOCK_INT:
-   r_col[0]= 86;   r_col[1]= 185;  r_col[2]= 86;   r_col[3]= 255;
-   break;
-   case SOCK_FLOAT:
-   r_col[0]= 124;  r_col[1]= 242;  r_col[2]= 154;  r_col[3]= 255;
-   break;
-   case SOCK_BOOL:
-   r_col[0]= 200;  r_col[1]= 137;  r_col[2]= 52;   r_col[3]= 255;
-   break;
-   case SOCK_QUAT:
-   r_col[0]= 0;r_col[1]= 209;  r_col[2]= 225;  r_col[3]= 255;
-   break;
-   case SOCK_MATRIX:
-   r_col[0]= 131;  r_col[1]= 39;   r_col[2]= 248;  r_col[3]= 255;
-   break;
-   case SOCK_STRING:
-   r_col[0]= 180;  r_col[1]= 180;  r_col[2]= 180;  r_col[3]= 255;
-   break;
-   default:
-   r_col[0]= 100;  r_col[1]= 200;  r_col[2]= 100;  r_col[3]= 255;
-   }
+   bNodeTreeTypeInfo *tti= ntreeGetTypeInfo(ntree->type);
+   node_circle_draw(sock->locx, sock->locy, size, 
tti->getSocketTypeInfo(sock->type)->color);
 }
 
-static void socket_circle_draw(bNodeSocket *sock, float size)
-{
-   int col[4];
-   node_socket_get_color(sock->type, col);
-   node_circle_draw(sock->locx, sock->locy, size, col);
-}
-
 static void node_sync_cb(bContext *C, void *snode_v, void *node_v)
 {
SpaceNode *snode= snode_v;
@@ -834,7 +789,7 @@
 

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32703] branches/particles-2010/source/ blender: Renamed bNodeSocketType to bNodeSocketDefinition.

2010-10-25 Thread Lukas Toenne
Revision: 32703
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32703
Author:   lukastoenne
Date: 2010-10-25 16:12:44 +0200 (Mon, 25 Oct 2010)

Log Message:
---
Renamed bNodeSocketType to bNodeSocketDefinition. This struct is not directly 
related to the actual socket type of socket (value, vector, color, etc), but is 
now a mere helper struct for static socket initialization. It's not part of DNA 
or RNA, so no risk of breaking anything. The bNodeSocketType struct will 
instead be used to collect info about actual socket types, from ui names and 
pin colors to callbacks and conversion functions (depending on tree type).

Modified Paths:
--
branches/particles-2010/source/blender/blenkernel/BKE_node.h
branches/particles-2010/source/blender/blenkernel/intern/node.c
branches/particles-2010/source/blender/makesdna/DNA_node_types.h

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_alphaOver.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_bilateralblur.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_blur.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_brightness.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_channelMatte.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_chromaMatte.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_colorMatte.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_colorSpill.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_colorbalance.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_composite.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_crop.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_curves.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_defocus.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_diffMatte.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_dilate.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_directionalblur.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_displace.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_distanceMatte.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_filter.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_flip.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_gamma.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_glare.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_hueSatVal.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_huecorrect.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_idMask.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_image.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_invert.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_lensdist.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_levels.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_lummaMatte.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_mapUV.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_mapValue.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_math.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_mixrgb.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_normal.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_normalize.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_outputFile.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_premulkey.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_rgb.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_rotate.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_scale.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_sepcombHSVA.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_sepcombRGBA.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_sepcombYCCA.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_sepcombYUVA.c

branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_setalpha.c

branches/particl

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32702] trunk/blender/source/blender/ editors/interface/view2d.c: bugfix [#24377] Bad frames drawn

2010-10-25 Thread Campbell Barton
Revision: 32702
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32702
Author:   campbellbarton
Date: 2010-10-25 15:37:49 +0200 (Mon, 25 Oct 2010)

Log Message:
---
bugfix [#24377] Bad frames drawn

Modified Paths:
--
trunk/blender/source/blender/editors/interface/view2d.c

Modified: trunk/blender/source/blender/editors/interface/view2d.c
===
--- trunk/blender/source/blender/editors/interface/view2d.c 2010-10-25 
13:36:52 UTC (rev 32701)
+++ trunk/blender/source/blender/editors/interface/view2d.c 2010-10-25 
13:37:49 UTC (rev 32702)
@@ -1069,7 +1069,7 @@
/* for frames, we want 1.0 frame intervals only */
if (unit == V2D_UNIT_FRAMES) {
rem = 1.0f;
-   *step = 1.0f;
+   *step = 2.0f; /* use 2 since there are grid lines drawn 
inbetween, this way to get 1 line per frane */
}

/* prevents printing 1.0 2.0 3.0 etc */


___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32701] branches/particles-2010/source/ blender: Modified the search field in the node buttons n-panel to also allow custom property names .

2010-10-25 Thread Lukas Toenne
Revision: 32701
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32701
Author:   lukastoenne
Date: 2010-10-25 15:36:52 +0200 (Mon, 25 Oct 2010)

Log Message:
---
Modified the search field in the node buttons n-panel to also allow custom 
property names. These are added as untyped sockets. Also the search field is 
now cleared afterwards.

Modified Paths:
--
branches/particles-2010/source/blender/editors/space_node/drawnode.c
branches/particles-2010/source/blender/makesdna/DNA_node_types.h

Modified: branches/particles-2010/source/blender/editors/space_node/drawnode.c
===
--- branches/particles-2010/source/blender/editors/space_node/drawnode.c
2010-10-25 11:55:23 UTC (rev 32700)
+++ branches/particles-2010/source/blender/editors/space_node/drawnode.c
2010-10-25 13:36:52 UTC (rev 32701)
@@ -1283,12 +1283,20 @@
 {
SpaceNode *snode= CTX_wm_space_node(C);
bNode *node= (bNode*)arg1;
+   SimDataNode *data= (SimDataNode*)node->storage;
const char *prop= (const char*)arg2;

if (prop) {
sim_getdata_add_property_socket(node, prop);
-   snode_notify(C, snode);
}
+   else {
+   /* add dynamic property */
+   sim_getdata_add_property_socket(node, data->propsearch);
+   }
+   /* clear the search field */
+   data->propsearch[0] = '\0';
+   
+   snode_notify(C, snode);
 }
 static int getdata_add_property_foreach_cb(void *items, const char *str, const 
char *name, const char *identifier, int icon)
 {
@@ -1303,14 +1311,14 @@
 }
 static void getdata_add_property_search(uiLayout *layout, bNode *node)
 {
+   SimDataNode *data= (SimDataNode*)node->storage;
uiBlock *block;
uiBut *but;
-   static char search[256]= "";

block= uiLayoutGetBlock(layout);
uiBlockSetCurLayout(block, layout);
 
-   but= uiDefSearchBut(block, search, 0, ICON_VIEWZOOM, sizeof(search), 0, 
0, UI_UNIT_X*6, UI_UNIT_Y, 0, 0, "");
+   but= uiDefSearchBut(block, data->propsearch, 0, ICON_VIEWZOOM, 
sizeof(data->propsearch), 0, 0, UI_UNIT_X*6, UI_UNIT_Y, 0, 0, "");
uiButSetSearchFunc(but, getdata_add_property_search_cb, node, 
getdata_add_property_exec_cb, NULL);
 }
 static void node_simulation_detailbuts_getdata(uiLayout *layout, bContext *C, 
PointerRNA *ptr)
@@ -1354,12 +1362,20 @@
 {
SpaceNode *snode= CTX_wm_space_node(C);
bNode *node= (bNode*)arg1;
+   SimDataNode *data= (SimDataNode*)node->storage;
const char *prop= (const char*)arg2;

if (prop) {
sim_setdata_add_property_socket(node, prop);
-   snode_notify(C, snode);
}
+   else {
+   /* add dynamic property */
+   sim_setdata_add_property_socket(node, data->propsearch);
+   }
+   /* clear the search field */
+   data->propsearch[0] = '\0';
+   
+   snode_notify(C, snode);
 }
 static int setdata_add_property_foreach_cb(void *items, const char *str, const 
char *name, const char *identifier, int icon)
 {
@@ -1374,14 +1390,14 @@
 }
 static void setdata_add_property_search(uiLayout *layout, bNode *node)
 {
+   SimDataNode *data= (SimDataNode*)node->storage;
uiBlock *block;
uiBut *but;
-   static char search[256]= "";

block= uiLayoutGetBlock(layout);
uiBlockSetCurLayout(block, layout);
 
-   but= uiDefSearchBut(block, search, 0, ICON_VIEWZOOM, sizeof(search), 0, 
0, UI_UNIT_X*6, UI_UNIT_Y, 0, 0, "");
+   but= uiDefSearchBut(block, data->propsearch, 0, ICON_VIEWZOOM, 
sizeof(data->propsearch), 0, 0, UI_UNIT_X*6, UI_UNIT_Y, 0, 0, "");
uiButSetSearchFunc(but, setdata_add_property_search_cb, node, 
setdata_add_property_exec_cb, NULL);
 }
 static void node_simulation_detailbuts_setdata(uiLayout *layout, bContext *C, 
PointerRNA *ptr)

Modified: branches/particles-2010/source/blender/makesdna/DNA_node_types.h
===
--- branches/particles-2010/source/blender/makesdna/DNA_node_types.h
2010-10-25 11:55:23 UTC (rev 32700)
+++ branches/particles-2010/source/blender/makesdna/DNA_node_types.h
2010-10-25 13:36:52 UTC (rev 32701)
@@ -397,6 +397,8 @@
/* only used during read/write file! */
const char *save_type;  /* identifier string */
char path[128];
+   
+   char propsearch[128];   /* used as search string when 
adding property sockets */
 } SimDataNode;
 
 /* comp channel matte */


___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32700] branches/particles-2010/source/ blender: Added a separate callback for buttons in the "N"-panel for nodes.

2010-10-25 Thread Lukas Toenne
Revision: 32700
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32700
Author:   lukastoenne
Date: 2010-10-25 13:55:23 +0200 (Mon, 25 Oct 2010)

Log Message:
---
Added a separate callback for buttons in the "N"-panel for nodes. In case this 
callback is not defined (default) the usual ui function for node options is 
used. This callback is currently defined for data nodes, which use it to 
provide additional buttons for adding and removing property sockets. This 
avoids cluttering up the node itself with lots of tiny, seldomly used buttons.

Modified Paths:
--
branches/particles-2010/source/blender/blenkernel/BKE_node.h
branches/particles-2010/source/blender/editors/space_node/drawnode.c
branches/particles-2010/source/blender/editors/space_node/node_buttons.c
branches/particles-2010/source/blender/editors/space_node/node_edit.c
branches/particles-2010/source/blender/editors/space_node/node_intern.h
branches/particles-2010/source/blender/editors/space_node/node_ops.c
branches/particles-2010/source/blender/makesrna/intern/rna_nodetree.c

Modified: branches/particles-2010/source/blender/blenkernel/BKE_node.h
===
--- branches/particles-2010/source/blender/blenkernel/BKE_node.h
2010-10-25 10:53:33 UTC (rev 32699)
+++ branches/particles-2010/source/blender/blenkernel/BKE_node.h
2010-10-25 11:55:23 UTC (rev 32700)
@@ -100,6 +100,7 @@
void (*execfunc)(void *data, struct bNode *, struct bNodeStack **, 
struct bNodeStack **);

/* this line is set on startup of blender */
+   /* node options ui */
void (*uifunc)(struct uiLayout *, struct bContext *C, struct PointerRNA 
*ptr);
 
void (*initfunc)(struct bNode *);
@@ -114,6 +115,9 @@
/* gpu */
int (*gpufunc)(struct GPUMaterial *mat, struct bNode *node, struct 
GPUNodeStack *in, struct GPUNodeStack *out);
 
+   /* node buttons ui */
+   void (*buttonfunc)(struct uiLayout *, struct bContext *C, struct 
PointerRNA *ptr);
+
/* called when the node is updated (e.g. linked) in the editor. */
void (*updatefunc)(struct bNodeTree *ntree, struct bNode *node);
 

Modified: branches/particles-2010/source/blender/editors/space_node/drawnode.c
===
--- branches/particles-2010/source/blender/editors/space_node/drawnode.c
2010-10-25 10:53:33 UTC (rev 32699)
+++ branches/particles-2010/source/blender/editors/space_node/drawnode.c
2010-10-25 11:55:23 UTC (rev 32700)
@@ -1269,6 +1269,16 @@
}
 }
 
+static void node_simulation_buts_getdata(uiLayout *layout, bContext *C, 
PointerRNA *ptr)
+{
+   uiLayout *col;
+   
+   col= uiLayoutColumn(layout, 0);
+   uiLayoutSetContextPointer(col, "node", ptr);
+
+   uiItemR(col, ptr, "path", 0, NULL, 0);
+}
+
 static void getdata_add_property_exec_cb(bContext *C, void *arg1, void *arg2)
 {
SpaceNode *snode= CTX_wm_space_node(C);
@@ -1303,20 +1313,43 @@
but= uiDefSearchBut(block, search, 0, ICON_VIEWZOOM, sizeof(search), 0, 
0, UI_UNIT_X*6, UI_UNIT_Y, 0, 0, "");
uiButSetSearchFunc(but, getdata_add_property_search_cb, node, 
getdata_add_property_exec_cb, NULL);
 }
-static void node_simulation_buts_getdata(uiLayout *layout, bContext *C, 
PointerRNA *ptr)
+static void node_simulation_detailbuts_getdata(uiLayout *layout, bContext *C, 
PointerRNA *ptr)
 {
bNode *node= ptr->data;
-   uiLayout *col;
+   bNodeSocket *sock;
+   PointerRNA sockptr;
+   uiLayout *col, *row;

col= uiLayoutColumn(layout, 0);
uiLayoutSetContextPointer(col, "node", ptr);
 
-   uiItemR(col, ptr, "typename", 0, NULL, 0);
uiItemR(col, ptr, "path", 0, NULL, 0);

-   getdata_add_property_search(layout, node);
+   uiItemR(col, ptr, "typename", 0, NULL, 0);
+   getdata_add_property_search(col, node);
+   
+   uiItemS(col);
+   uiItemL(col, "Property Sockets", 0);
+   for (sock=node->outputs.first; sock; sock=sock->next) {
+   row= uiLayoutRow(col, 0);
+   RNA_pointer_create((ID*)ptr->id.data, &RNA_NodeSocket, sock, 
&sockptr);
+   uiLayoutSetContextPointer(row, "socket", &sockptr);
+   
+   uiItemR(row, &sockptr, "name", 0, "", 0);
+   uiItemO(row, "", ICON_X, "NODE_OT_property_socket_remove");
+   }
 }
 
+static void node_simulation_buts_setdata(uiLayout *layout, bContext *C, 
PointerRNA *ptr)
+{
+   uiLayout *col;
+   
+   col= uiLayoutColumn(layout, 0);
+   uiLayoutSetContextPointer(col, "node", ptr);
+
+   uiItemR(col, ptr, "path", 0, NULL, 0);
+}
+
 static void setdata_add_property_exec_cb(bContext *C, void *arg1, void *arg2)
 {
SpaceNode *snode= CTX_wm_space_node(C);
@@ -1351,18 +1384,31 @@
b

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32699] branches/particles-2010/source/ blender/editors/space_node: Added operators for adding and removing property sockets to/ from data nodes.

2010-10-25 Thread Lukas Toenne
Revision: 32699
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32699
Author:   lukastoenne
Date: 2010-10-25 12:53:33 +0200 (Mon, 25 Oct 2010)

Log Message:
---
Added operators for adding and removing property sockets to/from data nodes.

Modified Paths:
--
branches/particles-2010/source/blender/editors/space_node/node_edit.c
branches/particles-2010/source/blender/editors/space_node/node_intern.h
branches/particles-2010/source/blender/editors/space_node/node_ops.c

Modified: branches/particles-2010/source/blender/editors/space_node/node_edit.c
===
--- branches/particles-2010/source/blender/editors/space_node/node_edit.c   
2010-10-25 08:03:05 UTC (rev 32698)
+++ branches/particles-2010/source/blender/editors/space_node/node_edit.c   
2010-10-25 10:53:33 UTC (rev 32699)
@@ -2385,161 +2385,102 @@
RNA_def_string(ot->srna, "name", "Image", 24, "Name", "Datablock name 
to assign.");
 }
 
-/* ** Add RNA Property Node Operator  *** */
+/* ** Add Property Socket Operator  *** */
 
-#if 0
-static void simnode_getdata_add_property_socket_exec_cb(bContext *C, void 
*arg1, void *arg2)
+static int node_add_property_socket_exec(bContext *C, wmOperator *op)
 {
SpaceNode *snode= CTX_wm_space_node(C);
-   bNode *node= (bNode*)arg1;
-   const char *prop= (const char*)arg2;
+   bNode *node= editnode_get_active(snode->edittree);
+   char name[64];

-   if (prop) {
-   simnode_getdata_add_property_socket(node, prop);
-   snode_notify(C, snode);
-   }
-}
-
-static void simnode_getdata_add_property_socket_search_cb(const bContext *C, 
void *arg, char *str, uiSearchItems *items)
-{
-   bNode *node= (bNode*)arg;
-   LinkData *link;
-   ListBase props;
+   ED_preview_kill_jobs(C);

-   props = simnode_getdata_get_properties(node);
-   for (link=props.first; link; link = link->next) {
-   if (!BLI_strcasestr((const char*)link->data, str))
-   continue;
-   
-   if(0==uiSearchItemAdd(items, (const char*)link->data, 
link->data, RNA_property_ui_icon(prop)))
-   break;
-   }
-}
+   /* check input variables */
+   if (RNA_property_is_set(op->ptr, "name"))
+   RNA_string_get(op->ptr, "name", name);
+   else
+   name[0] = '\0';
 
-void simnode_getdata_add_rna_socket_search(uiLayout *layout, bNode *node)
-{
-   uiBlock *block;
-   uiBut *but;
-   static char search[256]= "";
-   
-   block= uiLayoutGetBlock(layout);
-   uiBlockSetCurLayout(block, layout);
-
-   but= uiDefSearchBut(block, search, 0, ICON_VIEWZOOM, sizeof(search), 0, 
0, UI_UNIT_X*6, UI_UNIT_Y, 0, 0, "");
-   uiButSetSearchFunc(but, simnode_getdata_add_rna_socket_search_cb, node, 
simnode_getdata_add_rna_socket_exec_cb, NULL);
-}
-#endif
-
-#if 0
-static void simnode_getdata_add_rna_socket_exec_cb(bContext *C, void *arg1, 
void *arg2)
-{
-   SpaceNode *snode= CTX_wm_space_node(C);
-   bNode *node= (bNode*)arg1;
-   PropertyRNA *prop= (PropertyRNA*)arg2;
-   
-   if (prop) {
-   simnode_getdata_add_rna_socket(node, prop);
-   snode_notify(C, snode);
+   switch (node->type) {
+   case SIM_NODE_GETDATA:
+   sim_getdata_add_property_socket(node, name);
+   break;
+   case SIM_NODE_SETDATA:
+   sim_setdata_add_property_socket(node, name);
+   break;
}
+   
+   snode_notify(C, snode);
+   
+   return OPERATOR_FINISHED;
 }
 
-static void simnode_getdata_add_rna_socket_search_cb(const bContext *C, void 
*arg, char *str, uiSearchItems *items)
+void NODE_OT_add_property_socket(wmOperatorType *ot)
 {
-   bNode *node= (bNode*)arg;
-   StructRNA *srna;
-   PropertyRNA *prop;
-   const ListBase *lb;
-   Link *link;
-   const char *name;
+   /* identifiers */
+   ot->name= "Add property socket";
+   ot->description= "Add a new property socket to a data node";
+   ot->idname= "NODE_OT_add_property_socket";

-   srna = simnode_getdata_get_type(node);
-   if (!srna)
-   return;
+   /* callbacks */
+   ot->exec= node_add_property_socket_exec;
+   ot->poll= ED_operator_node_active;

-   lb = RNA_struct_defined_properties(srna);
-   for (link=lb->first; link; link = link->next) {
-   prop = (PropertyRNA *)link;
-   
-   if (!simnode_getdata_property_valid(node, prop))
-   continue;
-   
-   name = RNA_property_ui_name(prop);
-   if (!BLI_strcasestr(name, str))
-   continue;
-   

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32698] trunk/blender/source/blender: Fix #24255: Multires object gets modified when joining it to another multires object.

2010-10-25 Thread Sergey Sharybin
Revision: 32698
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32698
Author:   nazgul
Date: 2010-10-25 10:03:05 +0200 (Mon, 25 Oct 2010)

Log Message:
---
Fix #24255: Multires object gets modified when joining it to another multires 
object.
Fix #22018: joining objects with different multires levels loses levesl from 
the higher multires object

- Synchronyze mulires subdivision level when joining objects
- Apply scale on MDISP layer when applying scale
- Re-calculate MDISP when joining scaled objects

Modified Paths:
--
trunk/blender/source/blender/blenkernel/BKE_multires.h
trunk/blender/source/blender/blenkernel/intern/multires.c
trunk/blender/source/blender/editors/mesh/meshtools.c
trunk/blender/source/blender/editors/object/object_transform.c

Modified: trunk/blender/source/blender/blenkernel/BKE_multires.h
===
--- trunk/blender/source/blender/blenkernel/BKE_multires.h  2010-10-25 
07:36:14 UTC (rev 32697)
+++ trunk/blender/source/blender/blenkernel/BKE_multires.h  2010-10-25 
08:03:05 UTC (rev 32698)
@@ -71,5 +71,8 @@
 void multires_load_old(struct Object *ob, struct Mesh *me);
 void multires_load_old_250(struct Mesh *);
 
+void multiresModifier_scale_disp(struct Scene *scene, struct Object *ob);
+void multiresModifier_prepare_join(struct Scene *scene, struct Object *ob, 
struct Object *to_ob);
+
 #endif
 

Modified: trunk/blender/source/blender/blenkernel/intern/multires.c
===
--- trunk/blender/source/blender/blenkernel/intern/multires.c   2010-10-25 
07:36:14 UTC (rev 32697)
+++ trunk/blender/source/blender/blenkernel/intern/multires.c   2010-10-25 
08:03:05 UTC (rev 32698)
@@ -46,6 +46,7 @@
 #include "BKE_scene.h"
 #include "BKE_subsurf.h"
 #include "BKE_utildefines.h"
+#include "BKE_object.h"
 
 #include "CCGSubSurf.h"
 
@@ -89,6 +90,34 @@
return NULL;
 }
 
+/* used for applying scale on mdisps layer and syncing subdivide levels when 
joining objects */
+static MultiresModifierData *get_multires_modifier(Scene *scene, Object *ob)
+{
+   ModifierData *md;
+   MultiresModifierData *mmd= NULL, *firstmmd= NULL;
+
+   /* find first active multires modifier */
+   for(md = ob->modifiers.first; md; md = md->next) {
+   if(md->type == eModifierType_Multires) {
+   if(!firstmmd)
+   firstmmd= (MultiresModifierData*)md;
+
+   if (modifier_isEnabled(scene, md, 
eModifierMode_Realtime)) {
+   mmd= (MultiresModifierData*)md;
+   break;
+   }
+   }
+   }
+
+   if(!mmd) {
+   /* active multires have not been found
+  try to use first one */
+   return firstmmd;
+   }
+
+   return mmd;
+}
+
 static int multires_get_level(Object *ob, MultiresModifierData *mmd, int 
render)
 {
if(render)
@@ -389,11 +418,9 @@
}
 }
 
-/* direction=1 for delete higher, direction=0 for lower (not implemented yet) 
*/
-void multiresModifier_del_levels(MultiresModifierData *mmd, Object *ob, int 
direction)
+static void multires_del_higher(MultiresModifierData *mmd, Object *ob, int lvl)
 {
-   Mesh *me = get_mesh(ob);
-   int lvl = multires_get_level(ob, mmd, 0);
+   Mesh *me = (Mesh*)ob->data;
int levels = mmd->totlvl - lvl;
MDisps *mdisps;
 
@@ -403,7 +430,7 @@
 
multires_force_update(ob);
 
-   if(mdisps && levels > 0 && direction == 1) {
+   if(mdisps && levels > 0) {
if(lvl > 0) {
int nsize = multires_side_tot[lvl];
int hsize = multires_side_tot[mmd->totlvl];
@@ -442,6 +469,27 @@
multires_set_tot_level(ob, mmd, lvl);
 }
 
+/* direction=1 for delete higher, direction=0 for lower (not implemented yet) 
*/
+void multiresModifier_del_levels(MultiresModifierData *mmd, Object *ob, int 
direction)
+{
+   Mesh *me = get_mesh(ob);
+   int lvl = multires_get_level(ob, mmd, 0);
+   int levels = mmd->totlvl - lvl;
+   MDisps *mdisps;
+
+   multires_set_tot_mdisps(me, mmd->totlvl);
+   CustomData_external_read(&me->fdata, &me->id, CD_MASK_MDISPS, 
me->totface);
+   mdisps= CustomData_get_layer(&me->fdata, CD_MDISPS);
+
+   multires_force_update(ob);
+
+   if(mdisps && levels > 0 && direction == 1) {
+   multires_del_higher(mmd, ob, lvl);
+   }
+
+   multires_set_tot_level(ob, mmd, lvl);
+}
+
 static DerivedMesh *multires_dm_create_local(Object *ob, DerivedMesh *dm, int 
lvl, int totlvl, int simple)
 {
MultiresModifierData mmd;
@@ -471,12 +519,11 @@
return subsurf_make_derived_from_derived(dm, &smd, 0, NULL, 0, 0);
 }
 
-void multiresModifier_subdivide(MultiresModifierData *mmd, 

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32697] trunk/blender/source/blender/ collada: Compile fix after math API change from r32694

2010-10-25 Thread Nathan Letwory
Revision: 32697
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32697
Author:   jesterking
Date: 2010-10-25 09:36:14 +0200 (Mon, 25 Oct 2010)

Log Message:
---
Compile fix after math API change from r32694

Modified Paths:
--
trunk/blender/source/blender/collada/AnimationImporter.cpp
trunk/blender/source/blender/collada/SkinInfo.cpp
trunk/blender/source/blender/collada/collada_utils.cpp

Modified: trunk/blender/source/blender/collada/AnimationImporter.cpp
===
--- trunk/blender/source/blender/collada/AnimationImporter.cpp  2010-10-25 
07:28:57 UTC (rev 32696)
+++ trunk/blender/source/blender/collada/AnimationImporter.cpp  2010-10-25 
07:36:14 UTC (rev 32697)
@@ -403,7 +403,7 @@
TransformReader::get_node_mat(mat, node, &uid_animated_map, ob);
if (ob) {
copy_m4_m4(ob->obmat, mat);
-   object_apply_mat4(ob, ob->obmat);
+   object_apply_mat4(ob, ob->obmat, 0);
}
 }
 

Modified: trunk/blender/source/blender/collada/SkinInfo.cpp
===
--- trunk/blender/source/blender/collada/SkinInfo.cpp   2010-10-25 07:28:57 UTC 
(rev 32696)
+++ trunk/blender/source/blender/collada/SkinInfo.cpp   2010-10-25 07:36:14 UTC 
(rev 32697)
@@ -215,7 +215,7 @@
((ArmatureModifierData *)md)->object = ob_arm;
 
copy_m4_m4(ob->obmat, bind_shape_matrix);
-   object_apply_mat4(ob, ob->obmat);
+   object_apply_mat4(ob, ob->obmat, 0);
 #if 1
bc_set_parent(ob, ob_arm, C);
 #else

Modified: trunk/blender/source/blender/collada/collada_utils.cpp
===
--- trunk/blender/source/blender/collada/collada_utils.cpp  2010-10-25 
07:28:57 UTC (rev 32696)
+++ trunk/blender/source/blender/collada/collada_utils.cpp  2010-10-25 
07:36:14 UTC (rev 32697)
@@ -88,7 +88,7 @@
}

// apply child obmat (i.e. decompose it into rot/loc/size)
-   object_apply_mat4(ob, ob->obmat);
+   object_apply_mat4(ob, ob->obmat, 0);
 
// compute parentinv
what_does_parent(sce, ob, &workob);


___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32696] trunk/blender/source/blender/ editors/space_view3d/view3d_view.c: Add missing includes to remedy implicit declaration of functions.

2010-10-25 Thread Nathan Letwory
Revision: 32696
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32696
Author:   jesterking
Date: 2010-10-25 09:28:57 +0200 (Mon, 25 Oct 2010)

Log Message:
---
Add missing includes to remedy implicit declaration of functions.

Modified Paths:
--
trunk/blender/source/blender/editors/space_view3d/view3d_view.c

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_view.c
===
--- trunk/blender/source/blender/editors/space_view3d/view3d_view.c 
2010-10-25 07:19:43 UTC (rev 32695)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_view.c 
2010-10-25 07:28:57 UTC (rev 32696)
@@ -34,6 +34,7 @@
 #include "MEM_guardedalloc.h"
 
 #include "BLI_math.h"
+#include "BLI_rect.h"
 
 #include "BKE_anim.h"
 #include "BKE_action.h"
@@ -42,10 +43,13 @@
 #include "BKE_global.h"
 #include "BKE_main.h"
 #include "BKE_report.h"
+#include "BKE_scene.h"
 
 #include "BIF_gl.h"
 #include "BIF_glutil.h"
 
+#include "GPU_draw.h"
+
 #include "WM_api.h"
 #include "WM_types.h"
 


___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32695] trunk/blender/source/blender/ editors/space_view3d/view3d_fly.c: SVN maintenance.

2010-10-25 Thread gsr b3d
Revision: 32695
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32695
Author:   gsrb3d
Date: 2010-10-25 09:19:43 +0200 (Mon, 25 Oct 2010)

Log Message:
---
SVN maintenance.

Modified Paths:
--
trunk/blender/source/blender/editors/space_view3d/view3d_fly.c

Property Changed:

trunk/blender/source/blender/editors/space_view3d/view3d_fly.c

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_fly.c
===
--- trunk/blender/source/blender/editors/space_view3d/view3d_fly.c  
2010-10-25 07:12:29 UTC (rev 32694)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_fly.c  
2010-10-25 07:19:43 UTC (rev 32695)
@@ -1,5 +1,5 @@
 /**
- * $Id: view3d_view.c 32630 2010-10-21 09:02:21Z campbellbarton $
+ * $Id$
  *
  * * BEGIN GPL LICENSE BLOCK *
  *


Property changes on: 
trunk/blender/source/blender/editors/space_view3d/view3d_fly.c
___
Name: svn:keywords
   + Author Date Id Revision
Name: svn:eol-style
   + native


___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs


[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32694] trunk/blender/source/blender: bugfix [#24376] Fly mode disturbs the rotation or scale of the camera object

2010-10-25 Thread Campbell Barton
Revision: 32694
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32694
Author:   campbellbarton
Date: 2010-10-25 09:12:29 +0200 (Mon, 25 Oct 2010)

Log Message:
---
bugfix [#24376] Fly mode disturbs the rotation or scale of the camera object

Modified Paths:
--
trunk/blender/source/blender/blenkernel/BKE_object.h
trunk/blender/source/blender/blenkernel/intern/object.c
trunk/blender/source/blender/editors/armature/editarmature.c
trunk/blender/source/blender/editors/object/object_add.c
trunk/blender/source/blender/editors/object/object_relations.c
trunk/blender/source/blender/editors/object/object_transform.c
trunk/blender/source/blender/editors/space_view3d/view3d_fly.c
trunk/blender/source/blender/makesrna/intern/CMakeLists.txt
trunk/blender/source/blender/makesrna/intern/rna_object.c

Modified: trunk/blender/source/blender/blenkernel/BKE_object.h
===
--- trunk/blender/source/blender/blenkernel/BKE_object.h2010-10-25 
07:11:39 UTC (rev 32693)
+++ trunk/blender/source/blender/blenkernel/BKE_object.h2010-10-25 
07:12:29 UTC (rev 32694)
@@ -98,10 +98,10 @@
 float bsystem_time(struct Scene *scene, struct Object *ob, float cfra, float 
ofs);
 void object_scale_to_mat3(struct Object *ob, float mat[][3]);
 void object_rot_to_mat3(struct Object *ob, float mat[][3]);
-void object_mat3_to_rot(struct Object *ob, float mat[][3], int use_compat);
+void object_mat3_to_rot(struct Object *ob, float mat[][3], short use_compat);
 void object_to_mat3(struct Object *ob, float mat[][3]);
 void object_to_mat4(struct Object *ob, float mat[][4]);
-void object_apply_mat4(struct Object *ob, float mat[][4]);
+void object_apply_mat4(struct Object *ob, float mat[][4], short use_compat);
 
 void set_no_parent_ipo(int val);
 

Modified: trunk/blender/source/blender/blenkernel/intern/object.c
===
--- trunk/blender/source/blender/blenkernel/intern/object.c 2010-10-25 
07:11:39 UTC (rev 32693)
+++ trunk/blender/source/blender/blenkernel/intern/object.c 2010-10-25 
07:12:29 UTC (rev 32694)
@@ -1550,7 +1550,7 @@
if(gob) {
ob->rotmode= target->rotmode;
mul_m4_m4m4(ob->obmat, target->obmat, gob->obmat);
-   object_apply_mat4(ob, ob->obmat);
+   object_apply_mat4(ob, ob->obmat, FALSE);
}
else {
copy_object_transform(ob, target);
@@ -1678,7 +1678,7 @@
mul_m3_m3m3(mat, dmat, rmat);
 }
 
-void object_mat3_to_rot(Object *ob, float mat[][3], int use_compat)
+void object_mat3_to_rot(Object *ob, float mat[][3], short use_compat)
 {
if (ob->rotmode == ROT_MODE_QUAT)
mat3_to_quat(ob->quat, mat);
@@ -1696,7 +1696,7 @@
 }
 
 /* see pchan_apply_mat4() for the equivalent 'pchan' function */
-void object_apply_mat4(Object *ob, float mat[][4])
+void object_apply_mat4(Object *ob, float mat[][4], short use_compat)
 {
float mat3[3][3];/* obmat -> 3x3 */
float mat3_n[3][3];  /* obmat -> normalized, 3x3 */
@@ -1718,7 +1718,7 @@
}
 
/* rotation */
-   object_mat3_to_rot(ob, mat3_n, 0);
+   object_mat3_to_rot(ob, mat3_n, use_compat);
 
/* scale */
/* note: mat4_to_size(ob->size, mat) fails for negative scale */

Modified: trunk/blender/source/blender/editors/armature/editarmature.c
===
--- trunk/blender/source/blender/editors/armature/editarmature.c
2010-10-25 07:11:39 UTC (rev 32693)
+++ trunk/blender/source/blender/editors/armature/editarmature.c
2010-10-25 07:12:29 UTC (rev 32694)
@@ -546,7 +546,7 @@
/* apply current transform from parent (not yet 
destroyed), 
 * then calculate new parent inverse matrix
 */
-   object_apply_mat4(ob, ob->obmat);
+   object_apply_mat4(ob, ob->obmat, FALSE);

what_does_parent(scene, ob, &workob);
invert_m4_m4(ob->parentinv, workob.obmat);

Modified: trunk/blender/source/blender/editors/object/object_add.c
===
--- trunk/blender/source/blender/editors/object/object_add.c2010-10-25 
07:11:39 UTC (rev 32693)
+++ trunk/blender/source/blender/editors/object/object_add.c2010-10-25 
07:12:29 UTC (rev 32694)
@@ -985,7 +985,7 @@
ob->lay= base->lay;

copy_m4_m4(ob->obmat, dob->mat);
-   object_apply_mat4(ob, ob->obmat);
+   object_apply_mat4(ob, ob->obmat, FALSE);
}

copy_object_set_idnew(C, 0);

Modified: trunk/blender/source/blender/editors/object/object_relations.c

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32693] branches/particles-2010/source/ blender: Added back the rna and input box for data node type.

2010-10-25 Thread Lukas Toenne
Revision: 32693
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32693
Author:   lukastoenne
Date: 2010-10-25 09:11:39 +0200 (Mon, 25 Oct 2010)

Log Message:
---
Added back the rna and input box for data node type. Later this type should not 
be changed after the node is created, but until a good ui for this is 
implemented this makes the type accessible at least.

Modified Paths:
--
branches/particles-2010/source/blender/editors/space_node/drawnode.c
branches/particles-2010/source/blender/makesrna/intern/rna_nodetree.c

branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_get_data.c

Modified: branches/particles-2010/source/blender/editors/space_node/drawnode.c
===
--- branches/particles-2010/source/blender/editors/space_node/drawnode.c
2010-10-25 07:09:38 UTC (rev 32692)
+++ branches/particles-2010/source/blender/editors/space_node/drawnode.c
2010-10-25 07:11:39 UTC (rev 32693)
@@ -1311,6 +1311,7 @@
col= uiLayoutColumn(layout, 0);
uiLayoutSetContextPointer(col, "node", ptr);
 
+   uiItemR(col, ptr, "typename", 0, NULL, 0);
uiItemR(col, ptr, "path", 0, NULL, 0);

getdata_add_property_search(layout, node);
@@ -1358,6 +1359,7 @@
col= uiLayoutColumn(layout, 0);
uiLayoutSetContextPointer(col, "node", ptr);
 
+   uiItemR(col, ptr, "typename", 0, NULL, 0);
uiItemR(col, ptr, "path", 0, NULL, 0);

setdata_add_property_search(layout, node);

Modified: branches/particles-2010/source/blender/makesrna/intern/rna_nodetree.c
===
--- branches/particles-2010/source/blender/makesrna/intern/rna_nodetree.c   
2010-10-25 07:09:38 UTC (rev 32692)
+++ branches/particles-2010/source/blender/makesrna/intern/rna_nodetree.c   
2010-10-25 07:11:39 UTC (rev 32693)
@@ -456,6 +456,29 @@
sim_getdata_path_set((bNodeTree*)ptr->id.data, (bNode*)ptr->data, 
value);
 }
 
+static void rna_Node_getdata_typename_get(PointerRNA *ptr, char *value)
+{
+   StructRNA *type= sim_getdata_type_get((bNode*)ptr->data);
+   if (type)
+   strcpy(value, RNA_struct_identifier(type));
+   else
+   value[0] = '\0';
+}
+
+static int rna_Node_getdata_typename_length(PointerRNA *ptr)
+{
+   StructRNA *type= sim_getdata_type_get((bNode*)ptr->data);
+   if (type)
+   return strlen(RNA_struct_identifier(type));
+   else
+   return 0;
+}
+
+static void rna_Node_getdata_typename_set(PointerRNA *ptr, const char *value)
+{
+   sim_getdata_type_set((bNodeTree*)ptr->id.data, (bNode*)ptr->data, 
RNA_find_struct(value));
+}
+
 static void rna_Node_setdata_path_get(PointerRNA *ptr, char *value)
 {
strcpy(value, sim_setdata_path_get((bNode*)ptr->data));
@@ -471,6 +494,30 @@
sim_setdata_path_set((bNodeTree*)ptr->id.data, (bNode*)ptr->data, 
value);
 }
 
+
+static void rna_Node_setdata_typename_get(PointerRNA *ptr, char *value)
+{
+   StructRNA *type= sim_setdata_type_get((bNode*)ptr->data);
+   if (type)
+   strcpy(value, RNA_struct_identifier(type));
+   else
+   value[0] = '\0';
+}
+
+static int rna_Node_setdata_typename_length(PointerRNA *ptr)
+{
+   StructRNA *type= sim_setdata_type_get((bNode*)ptr->data);
+   if (type)
+   return strlen(RNA_struct_identifier(type));
+   else
+   return 0;
+}
+
+static void rna_Node_setdata_typename_set(PointerRNA *ptr, const char *value)
+{
+   sim_setdata_type_set((bNodeTree*)ptr->id.data, (bNode*)ptr->data, 
RNA_find_struct(value));
+}
+
 #else
 
 static EnumPropertyItem prop_image_layer_items[] = {
@@ -2190,6 +2237,10 @@
RNA_def_property_string_funcs(prop, "rna_Node_getdata_path_get", 
"rna_Node_getdata_path_length", "rna_Node_getdata_path_set");
RNA_def_property_ui_text(prop, "Path", "RNA path of the data node");
RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update");
+
+   prop = RNA_def_property(srna, "typename", PROP_STRING, PROP_NONE);
+   RNA_def_property_string_funcs(prop, "rna_Node_getdata_typename_get", 
"rna_Node_getdata_typename_length", "rna_Node_getdata_typename_set");
+   RNA_def_property_ui_text(prop, "Type", "RNA struct name of the data 
node");
 }
 
 static void def_sim_setdata(StructRNA *srna)
@@ -2200,6 +2251,10 @@
RNA_def_property_string_funcs(prop, "rna_Node_setdata_path_get", 
"rna_Node_setdata_path_length", "rna_Node_setdata_path_set");
RNA_def_property_ui_text(prop, "Path", "RNA path of the data node");
RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update");
+
+   prop = RNA_def_property(srna, "typename", PROP_STRING, PROP_NONE);
+   RNA_def_property_string_funcs(prop, "rna_Node_setdata_typename_get", 
"rn

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32692] trunk/blender/source/blender/ editors/space_view3d/view3d_fly.c: missed adding the file when moving fly mode.

2010-10-25 Thread Campbell Barton
Revision: 32692
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32692
Author:   campbellbarton
Date: 2010-10-25 09:09:38 +0200 (Mon, 25 Oct 2010)

Log Message:
---
missed adding the file when moving fly mode.

Added Paths:
---
trunk/blender/source/blender/editors/space_view3d/view3d_fly.c

Added: trunk/blender/source/blender/editors/space_view3d/view3d_fly.c
===
--- trunk/blender/source/blender/editors/space_view3d/view3d_fly.c  
(rev 0)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_fly.c  
2010-10-25 07:09:38 UTC (rev 32692)
@@ -0,0 +1,941 @@
+/**
+ * $Id: view3d_view.c 32630 2010-10-21 09:02:21Z campbellbarton $
+ *
+ * * BEGIN GPL LICENSE BLOCK *
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version. 
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * 
+ * Contributor(s): Campbell Barton
+ *
+ * * END GPL LICENSE BLOCK *
+ */
+
+/* defines VIEW3D_OT_fly modal operator */
+
+#include "DNA_anim_types.h"
+#include "DNA_scene_types.h"
+#include "DNA_object_types.h"
+
+#include "MEM_guardedalloc.h"
+
+#include "BLI_math.h"
+#include "BLI_blenlib.h"
+
+#include "BKE_context.h"
+#include "BKE_object.h"
+#include "BKE_report.h"
+
+#include "BKE_depsgraph.h" /* for fly mode updating */
+
+#include "BIF_gl.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "ED_keyframing.h"
+#include "ED_screen.h"
+#include "ED_space_api.h"
+
+#include "PIL_time.h" /* smoothview */
+
+#include "view3d_intern.h" // own include
+
+/* NOTE: these defines are saved in keymap files, do not change values but 
just add new ones */
+#define FLY_MODAL_CANCEL   1
+#define FLY_MODAL_CONFIRM  2
+#define FLY_MODAL_ACCELERATE   3
+#define FLY_MODAL_DECELERATE   4
+#define FLY_MODAL_PAN_ENABLE   5
+#define FLY_MODAL_PAN_DISABLE  6
+#define FLY_MODAL_DIR_FORWARD  7
+#define FLY_MODAL_DIR_BACKWARD 8
+#define FLY_MODAL_DIR_LEFT 9
+#define FLY_MODAL_DIR_RIGHT10
+#define FLY_MODAL_DIR_UP   11
+#define FLY_MODAL_DIR_DOWN 12
+#define FLY_MODAL_AXIS_LOCK_X  13
+#define FLY_MODAL_AXIS_LOCK_Z  14
+#define FLY_MODAL_PRECISION_ENABLE 15
+#define FLY_MODAL_PRECISION_DISABLE16
+
+/* called in transform_ops.c, on each regeneration of keymaps  */
+void fly_modal_keymap(wmKeyConfig *keyconf)
+{
+   static EnumPropertyItem modal_items[] = {
+   {FLY_MODAL_CANCEL,  "CANCEL", 0, "Cancel", ""},
+   {FLY_MODAL_CONFIRM, "CONFIRM", 0, "Confirm", ""},
+   {FLY_MODAL_ACCELERATE, "ACCELERATE", 0, "Accelerate", ""},
+   {FLY_MODAL_DECELERATE, "DECELERATE", 0, "Decelerate", ""},
+
+   {FLY_MODAL_PAN_ENABLE,  "PAN_ENABLE", 0, "Pan Enable", ""},
+   {FLY_MODAL_PAN_DISABLE, "PAN_DISABLE", 0, "Pan Disable", ""},
+
+   {FLY_MODAL_DIR_FORWARD, "FORWARD", 0, "Fly Forward", ""},
+   {FLY_MODAL_DIR_BACKWARD,"BACKWARD", 0, "Fly Backward", ""},
+   {FLY_MODAL_DIR_LEFT,"LEFT", 0, "Fly Left", ""},
+   {FLY_MODAL_DIR_RIGHT,   "RIGHT", 0, "Fly Right", ""},
+   {FLY_MODAL_DIR_UP,  "UP", 0, "Fly Up", ""},
+   {FLY_MODAL_DIR_DOWN,"DOWN", 0, "Fly Down", ""},
+
+   {FLY_MODAL_AXIS_LOCK_X, "AXIS_LOCK_X", 0, "X Axis Correction", "X axis 
correction (toggle)"},
+   {FLY_MODAL_AXIS_LOCK_Z, "AXIS_LOCK_Z", 0, "X Axis Correction", "Z axis 
correction (toggle)"},
+
+   {FLY_MODAL_PRECISION_ENABLE,"PRECISION_ENABLE", 0, "Precision 
Enable", ""},
+   {FLY_MODAL_PRECISION_DISABLE,   "PRECISION_DISABLE", 0, "Precision 
Disable", ""},
+
+   {0, NULL, 0, NULL, NULL}};
+
+   wmKeyMap *keymap= WM_modalkeymap_get(keyconf, "View3D Fly Modal");
+
+   /* this function is called for each spacetype, only needs to add map 
once */
+   if(keymap) return;
+
+   keymap= WM_modalkeymap_add(keyconf, "View3D Fly Modal", modal_items);
+
+   /* items for modal map */
+   WM_modalkeymap_add_item(keymap, ESCKEY,KM_PRESS, KM_ANY, 0, 
FLY_MODAL_CANCEL);
+   WM_modalkeymap_add_item(keymap, RIGHTMOUSE, KM_ANY, KM_ANY, 0, 
FLY_MODAL_CANCEL);
+
+   WM_modalkeymap_add_item