[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11309] branches/particles: Merge from trunk: revisions 11263-11297

Janne Karhu jhkarh at utu.fi
Wed Jul 18 19:11:55 CEST 2007


Revision: 11309
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11309
Author:   jhk
Date:     2007-07-18 19:11:54 +0200 (Wed, 18 Jul 2007)

Log Message:
-----------
Merge from trunk: revisions 11263-11297

note: I disabled particles as constraint targets for now, I will enable them again after a recode

Modified Paths:
--------------
    branches/particles/extern/bullet2/make/msvc_7_0/Bullet_vc7.vcproj
    branches/particles/extern/bullet2/src/SConscript
    branches/particles/source/blender/blenkernel/BKE_blender.h
    branches/particles/source/blender/blenkernel/BKE_constraint.h
    branches/particles/source/blender/blenkernel/BKE_object.h
    branches/particles/source/blender/blenkernel/bad_level_call_stubs/stubs.c
    branches/particles/source/blender/blenkernel/intern/action.c
    branches/particles/source/blender/blenkernel/intern/anim.c
    branches/particles/source/blender/blenkernel/intern/armature.c
    branches/particles/source/blender/blenkernel/intern/constraint.c
    branches/particles/source/blender/blenkernel/intern/depsgraph.c
    branches/particles/source/blender/blenkernel/intern/object.c
    branches/particles/source/blender/blenlib/BLI_arithb.h
    branches/particles/source/blender/blenlib/intern/arithb.c
    branches/particles/source/blender/blenloader/intern/readfile.c
    branches/particles/source/blender/blenloader/intern/writefile.c
    branches/particles/source/blender/makesdna/DNA_action_types.h
    branches/particles/source/blender/makesdna/DNA_constraint_types.h
    branches/particles/source/blender/makesdna/DNA_object_types.h
    branches/particles/source/blender/python/BPY_extern.h
    branches/particles/source/blender/python/BPY_interface.c
    branches/particles/source/blender/python/api2_2x/Constraint.c
    branches/particles/source/blender/python/api2_2x/doc/Constraint.py
    branches/particles/source/blender/python/api2_2x/doc/Texture.py
    branches/particles/source/blender/src/buttons_editing.c
    branches/particles/source/blender/src/buttons_object.c
    branches/particles/source/blender/src/drawobject.c
    branches/particles/source/blender/src/drawview.c
    branches/particles/source/blender/src/editconstraint.c
    branches/particles/source/blender/src/editobject.c
    branches/particles/source/blender/src/transform_conversions.c
    branches/particles/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
    branches/particles/source/gameengine/Physics/common/PHY_DynamicTypes.h

Modified: branches/particles/extern/bullet2/make/msvc_7_0/Bullet_vc7.vcproj
===================================================================
--- branches/particles/extern/bullet2/make/msvc_7_0/Bullet_vc7.vcproj	2007-07-18 16:44:17 UTC (rev 11308)
+++ branches/particles/extern/bullet2/make/msvc_7_0/Bullet_vc7.vcproj	2007-07-18 17:11:54 UTC (rev 11309)
@@ -347,6 +347,12 @@
 					Name="ConstraintSolver"
 					Filter="">
 					<File
+						RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btConeTwistConstraint.cpp">
+					</File>
+					<File
+						RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btConeTwistConstraint.h">
+					</File>
+					<File
 						RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btConstraintSolver.h">
 					</File>
 					<File

Modified: branches/particles/extern/bullet2/src/SConscript
===================================================================
--- branches/particles/extern/bullet2/src/SConscript	2007-07-18 16:44:17 UTC (rev 11308)
+++ branches/particles/extern/bullet2/src/SConscript	2007-07-18 17:11:54 UTC (rev 11309)
@@ -29,6 +29,7 @@
                  "BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp",
                  "BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.cpp",
                  "BulletDynamics/ConstraintSolver/btTypedConstraint.cpp",
+                 "BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp",
                  "BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp",
                  "BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp",
                  "BulletDynamics/Dynamics/btRigidBody.cpp",

Modified: branches/particles/source/blender/blenkernel/BKE_blender.h
===================================================================
--- branches/particles/source/blender/blenkernel/BKE_blender.h	2007-07-18 16:44:17 UTC (rev 11308)
+++ branches/particles/source/blender/blenkernel/BKE_blender.h	2007-07-18 17:11:54 UTC (rev 11309)
@@ -44,7 +44,7 @@
 struct MemFile;
 
 #define BLENDER_VERSION			244
-#define BLENDER_SUBVERSION		2
+#define BLENDER_SUBVERSION		3
 
 #define BLENDER_MINVERSION		240
 #define BLENDER_MINSUBVERSION	0

Modified: branches/particles/source/blender/blenkernel/BKE_constraint.h
===================================================================
--- branches/particles/source/blender/blenkernel/BKE_constraint.h	2007-07-18 16:44:17 UTC (rev 11308)
+++ branches/particles/source/blender/blenkernel/BKE_constraint.h	2007-07-18 17:11:54 UTC (rev 11309)
@@ -33,44 +33,67 @@
 #ifndef BKE_CONSTRAINT_H
 #define BKE_CONSTRAINT_H
 
+
 struct bConstraint;
+struct ListBase;
 struct Object;
-struct ListBase;
 struct bConstraintChannel;
+struct bPoseChannel;
 struct bAction;
 struct bArmature;
 
-/* Function prototypes */
+/* ---------------------------------------------------------------------------- */
+
+/* Constraint target/owner types */
+#define TARGET_OBJECT			1	/*	string is ""				*/
+#define TARGET_BONE				2	/*	string is bone-name		*/
+#define TARGET_VERT				3	/*	string is vertex-group name 	*/
+#define TARGET_CV				4 	/* 	string is vertex-group name - is not available until curves get vgroups */
+
+/* ---------------------------------------------------------------------------- */
+
+/* special struct for use in constraint evaluation */
+typedef struct bConstraintOb {
+	struct Object *ob;			/* if pchan, then armature that it comes from, otherwise constraint owner */
+	struct bPoseChannel *pchan;	/* pose channel that owns the constraints being evaluated */
+	
+	float matrix[4][4];			/* matrix where constraints are accumulated + solved */
+	float startmat[4][4];		/* original matrix (before constraint solving) */
+	
+	short type;					/* type of owner  */
+} bConstraintOb;
+
+/* ---------------------------------------------------------------------------- */
+
+/* Constraint function prototypes */
 void unique_constraint_name (struct bConstraint *con, struct ListBase *list);
 void *new_constraint_data (short type);
-void evaluate_constraint (struct bConstraint *constraint, struct Object *ob, short ownertype, void *ownerdata, float targetmat[][4]);
 void free_constraints (struct ListBase *conlist);
 void copy_constraints (struct ListBase *dst, struct ListBase *src);
-void copy_constraint_channels (ListBase *dst, ListBase *src);
-void clone_constraint_channels (struct ListBase *dst, struct ListBase *src);
 void relink_constraints (struct ListBase *list);
 void free_constraint_data (struct bConstraint *con);
 
-/* channels */
+/* Constraint Channel function prototypes */
 struct bConstraintChannel *get_constraint_channel (ListBase *list, const char *name);
 struct bConstraintChannel *verify_constraint_channel (ListBase *list, const char *name);
+void do_constraint_channels (struct ListBase *conbase, struct ListBase *chanbase, float ctime);
+void copy_constraint_channels (ListBase *dst, ListBase *src);
+void clone_constraint_channels (struct ListBase *dst, struct ListBase *src);
 void free_constraint_channels (ListBase *chanbase);
 
-/* Gemeric functions */
-void do_constraint_channels (struct ListBase *conbase, struct ListBase *chanbase, float ctime);
-short get_constraint_target_matrix (struct bConstraint *con, short ownertype, void *ownerdata, float mat[][4], float size[3], float time);
+/* Target function prototypes  */
 char constraint_has_target (struct bConstraint *con);
-int constraint_has_particles_target(struct bConstraint *con);
 struct Object *get_constraint_target(struct bConstraint *con, char **subtarget);
 void set_constraint_target(struct bConstraint *con, struct Object *ob, char *subtarget);
 
+/* Constraint Evaluation function prototypes */
+struct bConstraintOb *constraints_make_evalob (struct Object *ob, void *subdata, short datatype);
+void constraints_clear_evalob(struct bConstraintOb *cob);
 
-/* Constraint target/owner types */
-#define TARGET_OBJECT			1	//	string is ""
-#define TARGET_BONE				2	//	string is bone-name
-#define TARGET_VERT				3	//	string is "VE:#" 
-#define TARGET_FACE				4	//	string is "FA:#" 
-#define TARGET_CV				5	//	string is "CV:#"
+short get_constraint_target_matrix (struct bConstraint *con, short ownertype, void *ownerdata, float mat[][4], float time);
+void solve_constraints (struct ListBase *conlist, struct bConstraintOb *cob, float ctime);
 
+
 #endif
 
+

Modified: branches/particles/source/blender/blenkernel/BKE_object.h
===================================================================
--- branches/particles/source/blender/blenkernel/BKE_object.h	2007-07-18 16:44:17 UTC (rev 11308)
+++ branches/particles/source/blender/blenkernel/BKE_object.h	2007-07-18 17:11:54 UTC (rev 11309)
@@ -104,7 +104,6 @@
 void minmax_object(struct Object *ob, float *min, float *max);
 void minmax_object_duplis(struct Object *ob, float *min, float *max);
 void solve_tracking (struct Object *ob, float targetmat[][4]);
-void solve_constraints (struct Object *ob, short obtype, void *obdata, float ctime);
 
 void object_handle_update(struct Object *ob);
 

Modified: branches/particles/source/blender/blenkernel/bad_level_call_stubs/stubs.c
===================================================================
--- branches/particles/source/blender/blenkernel/bad_level_call_stubs/stubs.c	2007-07-18 16:44:17 UTC (rev 11308)
+++ branches/particles/source/blender/blenkernel/bad_level_call_stubs/stubs.c	2007-07-18 17:11:54 UTC (rev 11309)
@@ -126,7 +126,7 @@
 }
 
 /* constraint.c */
-void BPY_pyconstraint_eval(struct bPythonConstraint *con, float obmat[][4], short ownertype, void *ownerdata, float targetmat[][4])
+void BPY_pyconstraint_eval(struct bPythonConstraint *con, float ownermat[][4], float targetmat[][4])
 {
 }
 int BPY_pyconstraint_targets(struct bPythonConstraint *con, float targetmat[][4])

Modified: branches/particles/source/blender/blenkernel/intern/action.c
===================================================================
--- branches/particles/source/blender/blenkernel/intern/action.c	2007-07-18 16:44:17 UTC (rev 11308)
+++ branches/particles/source/blender/blenkernel/intern/action.c	2007-07-18 17:11:54 UTC (rev 11309)
@@ -225,12 +225,12 @@
 {
 	bPoseChannel *chan;
 	
-	if (!pose){
+	if (!pose) {
 		return NULL;
 	}
 	
 	/*      See if this channel exists */
-	for (chan=pose->chanbase.first; chan; chan=chan->next){
+	for (chan=pose->chanbase.first; chan; chan=chan->next) {
 		if (!strcmp (name, chan->name))
 			return chan;
 	}
@@ -239,7 +239,7 @@
 	chan = MEM_callocN(sizeof(bPoseChannel), "verifyPoseChannel");
 	
 	strncpy (chan->name, name, 31);
-	/* init vars to prevent mat errors */
+	/* init vars to prevent math errors */
 	chan->quat[0] = 1.0F;
 	chan->size[0] = chan->size[1] = chan->size[2] = 1.0F;
 	
@@ -247,6 +247,8 @@
 	chan->limitmax[0]= chan->limitmax[1]= chan->limitmax[2]= 180.0f;
 	chan->stiffness[0]= chan->stiffness[1]= chan->stiffness[2]= 0.0f;
 	
+	Mat4One(chan->constinv);
+	
 	BLI_addtail (&pose->chanbase, chan);
 	
 	return chan;

Modified: branches/particles/source/blender/blenkernel/intern/anim.c
===================================================================
--- branches/particles/source/blender/blenkernel/intern/anim.c	2007-07-18 16:44:17 UTC (rev 11308)
+++ branches/particles/source/blender/blenkernel/intern/anim.c	2007-07-18 17:11:54 UTC (rev 11309)
@@ -388,9 +388,13 @@
 	VECCOPY(obmat[3], vec);
 	
 	if(vdd->par->transflag & OB_DUPLIROT) {
+		if(no_f) {
+			vec[0]= -no_f[0]; vec[1]= -no_f[1]; vec[2]= -no_f[2];
+		}
+		else if(no_s) {
+			vec[0]= -no_s[0]; vec[1]= -no_s[1]; vec[2]= -no_s[2];
+		}
 		
-		vec[0]= -no_f[0]; vec[1]= -no_f[1]; vec[2]= -no_f[2];
-		
 		q2= vectoquat(vec, vdd->ob->trackflag, vdd->ob->upflag);
 		
 		QuatToMat3(q2, mat);

Modified: branches/particles/source/blender/blenkernel/intern/armature.c
===================================================================
--- branches/particles/source/blender/blenkernel/intern/armature.c	2007-07-18 16:44:17 UTC (rev 11308)
+++ branches/particles/source/blender/blenkernel/intern/armature.c	2007-07-18 17:11:54 UTC (rev 11309)
@@ -1321,7 +1321,7 @@
 	float goalrot[3][3], goalpos[3];
 	float rootmat[4][4], imat[4][4];
 	float goal[4][4], goalinv[4][4];
-	float size[3], irest_basis[3][3], full_basis[3][3];
+	float irest_basis[3][3], full_basis[3][3];
 	float end_pose[4][4], world_pose[4][4];
 	float length, basis[3][3], rest_basis[3][3], start[3], *ikstretch=NULL;
 	int a, flag, hasstretch=0;
@@ -1444,7 +1444,7 @@

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list