[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [21370] branches/soc-2009-yukishiro/source /blender: merge till 21369

Jingyuan Huang jingyuan.huang at gmail.com
Sun Jul 5 06:05:57 CEST 2009


Revision: 21370
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21370
Author:   yukishiro
Date:     2009-07-05 06:05:57 +0200 (Sun, 05 Jul 2009)

Log Message:
-----------
merge till 21369

Modified Paths:
--------------
    branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_particle.h
    branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_pointcache.h
    branches/soc-2009-yukishiro/source/blender/blenkernel/intern/anim.c
    branches/soc-2009-yukishiro/source/blender/blenkernel/intern/depsgraph.c
    branches/soc-2009-yukishiro/source/blender/blenkernel/intern/fluidsim.c
    branches/soc-2009-yukishiro/source/blender/blenkernel/intern/lattice.c
    branches/soc-2009-yukishiro/source/blender/blenkernel/intern/modifier.c
    branches/soc-2009-yukishiro/source/blender/blenkernel/intern/particle.c
    branches/soc-2009-yukishiro/source/blender/blenkernel/intern/particle_system.c
    branches/soc-2009-yukishiro/source/blender/blenkernel/intern/pointcache.c
    branches/soc-2009-yukishiro/source/blender/blenloader/intern/readfile.c
    branches/soc-2009-yukishiro/source/blender/editors/include/ED_screen.h
    branches/soc-2009-yukishiro/source/blender/editors/interface/interface_layout.c
    branches/soc-2009-yukishiro/source/blender/editors/interface/interface_templates.c
    branches/soc-2009-yukishiro/source/blender/editors/object/editkey.c
    branches/soc-2009-yukishiro/source/blender/editors/object/editlattice.c
    branches/soc-2009-yukishiro/source/blender/editors/object/object_edit.c
    branches/soc-2009-yukishiro/source/blender/editors/object/object_intern.h
    branches/soc-2009-yukishiro/source/blender/editors/object/object_modifier.c
    branches/soc-2009-yukishiro/source/blender/editors/object/object_ops.c
    branches/soc-2009-yukishiro/source/blender/editors/physics/ed_pointcache.c
    branches/soc-2009-yukishiro/source/blender/editors/screen/screen_ops.c
    branches/soc-2009-yukishiro/source/blender/editors/sculpt_paint/sculpt.c
    branches/soc-2009-yukishiro/source/blender/editors/space_view3d/drawobject.c
    branches/soc-2009-yukishiro/source/blender/editors/space_view3d/space_view3d.c
    branches/soc-2009-yukishiro/source/blender/editors/space_view3d/view3d_header.c
    branches/soc-2009-yukishiro/source/blender/makesdna/DNA_modifier_types.h
    branches/soc-2009-yukishiro/source/blender/makesdna/DNA_particle_types.h
    branches/soc-2009-yukishiro/source/blender/makesrna/intern/makesrna.c
    branches/soc-2009-yukishiro/source/blender/makesrna/intern/rna_key.c
    branches/soc-2009-yukishiro/source/blender/makesrna/intern/rna_lattice.c
    branches/soc-2009-yukishiro/source/blender/makesrna/intern/rna_modifier.c
    branches/soc-2009-yukishiro/source/blender/makesrna/intern/rna_object.c
    branches/soc-2009-yukishiro/source/blender/makesrna/intern/rna_particle.c
    branches/soc-2009-yukishiro/source/blender/python/intern/bpy_rna.c
    branches/soc-2009-yukishiro/source/blender/render/intern/source/convertblender.c
    branches/soc-2009-yukishiro/source/blender/render/intern/source/pipeline.c

Modified: branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_particle.h
===================================================================
--- branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_particle.h	2009-07-05 03:56:08 UTC (rev 21369)
+++ branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_particle.h	2009-07-05 04:05:57 UTC (rev 21370)
@@ -91,7 +91,8 @@
 	float ivel;							/* used in reset */
 	float time, life, exist, size;		/* used in init */
 	float pvel[3];						/* used in physics */
-	float length, clump, kink, rough;	/* used in path caching */
+	float length, clump, kink, effector;/* used in path caching */
+	float rough1, rough2, roughe;		/* used in path caching */
 } ParticleTexture;
 
 typedef struct BoidVecFunc{
@@ -270,7 +271,7 @@
 int do_guide(struct Scene *scene, struct ParticleKey *state, int pa_num, float time, struct ListBase *lb);
 float psys_get_size(struct Object *ob, struct Material *ma, struct ParticleSystemModifierData *psmd, struct IpoCurve *icu_size, struct ParticleSystem *psys, struct ParticleSettings *part, struct ParticleData *pa, float *vg_size);
 float psys_get_timestep(struct ParticleSettings *part);
-float psys_get_child_time(struct ParticleSystem *psys, struct ChildParticle *cpa, float cfra);
+float psys_get_child_time(struct ParticleSystem *psys, struct ChildParticle *cpa, float cfra, float *birthtime, float *dietime);
 float psys_get_child_size(struct ParticleSystem *psys, struct ChildParticle *cpa, float cfra, float *pa_time);
 void psys_get_particle_on_path(struct Scene *scene, struct Object *ob, struct ParticleSystem *psys, int pa_num, struct ParticleKey *state, int vel);
 int psys_get_particle_state(struct Scene *scene, struct Object *ob, struct ParticleSystem *psys, int p, struct ParticleKey *state, int always);

Modified: branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_pointcache.h
===================================================================
--- branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_pointcache.h	2009-07-05 03:56:08 UTC (rev 21369)
+++ branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_pointcache.h	2009-07-05 04:05:57 UTC (rev 21370)
@@ -114,6 +114,7 @@
 	struct Scene *scene;
 	int bake;
 	int render;
+	int anim_init;
 	int quick_step;
 	struct PTCacheID *pid;
 	int (*break_test)(void *data);

Modified: branches/soc-2009-yukishiro/source/blender/blenkernel/intern/anim.c
===================================================================
--- branches/soc-2009-yukishiro/source/blender/blenkernel/intern/anim.c	2009-07-05 03:56:08 UTC (rev 21369)
+++ branches/soc-2009-yukishiro/source/blender/blenkernel/intern/anim.c	2009-07-05 04:05:57 UTC (rev 21370)
@@ -786,8 +786,9 @@
 	BLI_srandom(31415926 + psys->seed);
 	
 	lay= scene->lay;
-	if((part->draw_as == PART_DRAW_OB && part->dup_ob) ||
-		(part->draw_as == PART_DRAW_GR && part->dup_group && part->dup_group->gobject.first)) {
+	if((psys->renderdata || part->draw_as==PART_DRAW_REND) &&
+		((part->ren_as == PART_DRAW_OB && part->dup_ob) ||
+		(part->ren_as == PART_DRAW_GR && part->dup_group && part->dup_group->gobject.first))) {
 
 		/* if we have a hair particle system, use the path cache */
 		if(part->type == PART_HAIR) {
@@ -804,7 +805,7 @@
 		psys->lattice = psys_get_lattice(scene, par, psys);
 
 		/* gather list of objects or single object */
-		if(part->draw_as==PART_DRAW_GR) {
+		if(part->ren_as==PART_DRAW_GR) {
 			group_handle_recalc_and_update(scene, par, part->dup_group);
 
 			for(go=part->dup_group->gobject.first; go; go=go->next)
@@ -850,7 +851,7 @@
 				size = psys_get_child_size(psys, cpa, ctime, 0);
 			}
 
-			if(part->draw_as==PART_DRAW_GR) {
+			if(part->ren_as==PART_DRAW_GR) {
 				/* for groups, pick the object based on settings */
 				if(part->draw&PART_DRAW_RAND_GR)
 					b= BLI_rand() % totgroup;
@@ -894,7 +895,7 @@
 				pamat[3][3]= 1.0f;
 			}
 
-			if(part->draw_as==PART_DRAW_GR && psys->part->draw & PART_DRAW_WHOLE_GR) {
+			if(part->ren_as==PART_DRAW_GR && psys->part->draw & PART_DRAW_WHOLE_GR) {
 				for(go= part->dup_group->gobject.first, b=0; go; go= go->next, b++) {
 					Mat4MulMat4(tmat, oblist[b]->obmat, pamat);
 					Mat4MulFloat3((float *)tmat, size*scale);
@@ -930,7 +931,7 @@
 		}
 
 		/* restore objects since they were changed in where_is_object_time */
-		if(part->draw_as==PART_DRAW_GR) {
+		if(part->ren_as==PART_DRAW_GR) {
 			for(a=0; a<totgroup; a++)
 				*(oblist[a])= obcopylist[a];
 		}

Modified: branches/soc-2009-yukishiro/source/blender/blenkernel/intern/depsgraph.c
===================================================================
--- branches/soc-2009-yukishiro/source/blender/blenkernel/intern/depsgraph.c	2009-07-05 03:56:08 UTC (rev 21369)
+++ branches/soc-2009-yukishiro/source/blender/blenkernel/intern/depsgraph.c	2009-07-05 04:05:57 UTC (rev 21370)
@@ -568,14 +568,14 @@
 				dag_add_relation(dag, node2, node, DAG_RL_DATA_DATA, "Particle Keyed Physics");
 			}
 
-			if(part->draw_as == PART_DRAW_OB && part->dup_ob) {
+			if(part->ren_as == PART_DRAW_OB && part->dup_ob) {
 				node2 = dag_get_node(dag, part->dup_ob);
 				dag_add_relation(dag, node, node2, DAG_RL_OB_OB, "Particle Object Visualisation");
 				if(part->dup_ob->type == OB_MBALL)
 					dag_add_relation(dag, node, node2, DAG_RL_DATA_DATA, "Particle Object Visualisation");
 			}
 
-			if(part->draw_as == PART_DRAW_GR && part->dup_group) {
+			if(part->ren_as == PART_DRAW_GR && part->dup_group) {
 				for(go=part->dup_group->gobject.first; go; go=go->next) {
 					node2 = dag_get_node(dag, go->ob);
 					dag_add_relation(dag, node, node2, DAG_RL_OB_OB, "Particle Group Visualisation");

Modified: branches/soc-2009-yukishiro/source/blender/blenkernel/intern/fluidsim.c
===================================================================
--- branches/soc-2009-yukishiro/source/blender/blenkernel/intern/fluidsim.c	2009-07-05 03:56:08 UTC (rev 21369)
+++ branches/soc-2009-yukishiro/source/blender/blenkernel/intern/fluidsim.c	2009-07-05 04:05:57 UTC (rev 21370)
@@ -114,7 +114,7 @@
 		// no bounding box needed
 		
 		// todo - reuse default init from elbeem!
-		fss->typeFlags = 0;
+		fss->typeFlags = OB_FSBND_NOSLIP;
 		fss->domainNovecgen = 0;
 		fss->volumeInitType = 1; // volume
 		fss->partSlipValue = 0.0;

Modified: branches/soc-2009-yukishiro/source/blender/blenkernel/intern/lattice.c
===================================================================
--- branches/soc-2009-yukishiro/source/blender/blenkernel/intern/lattice.c	2009-07-05 03:56:08 UTC (rev 21369)
+++ branches/soc-2009-yukishiro/source/blender/blenkernel/intern/lattice.c	2009-07-05 04:05:57 UTC (rev 21370)
@@ -232,8 +232,8 @@
 	if(lt->def) MEM_freeN(lt->def);
 	if(lt->dvert) free_dverts(lt->dvert, lt->pntsu*lt->pntsv*lt->pntsw);
 	if(lt->editlatt) {
-		if(lt->def) MEM_freeN(lt->def);
-		if(lt->dvert) free_dverts(lt->dvert, lt->pntsu*lt->pntsv*lt->pntsw);
+		if(lt->editlatt->def) MEM_freeN(lt->editlatt->def);
+		if(lt->editlatt->dvert) free_dverts(lt->editlatt->dvert, lt->pntsu*lt->pntsv*lt->pntsw);
 		MEM_freeN(lt->editlatt);
 	}
 }
@@ -817,59 +817,68 @@
 	int u, v, w;
 	float fac1, du=0.0, dv=0.0, dw=0.0;
 
-	bp= lt->def;
+	if(lt->flag & LT_OUTSIDE) {
+		bp= lt->def;
 
-	if(lt->pntsu>1) du= 1.0f/((float)lt->pntsu-1);
-	if(lt->pntsv>1) dv= 1.0f/((float)lt->pntsv-1);
-	if(lt->pntsw>1) dw= 1.0f/((float)lt->pntsw-1);
-		
-	for(w=0; w<lt->pntsw; w++) {
-		
-		for(v=0; v<lt->pntsv; v++) {
-		
-			for(u=0; u<lt->pntsu; u++, bp++) {
-				if(u==0 || v==0 || w==0 || u==lt->pntsu-1 || v==lt->pntsv-1 || w==lt->pntsw-1);
-				else {
-				
-					bp->hide= 1;
-					bp->f1 &= ~SELECT;
+		if(lt->pntsu>1) du= 1.0f/((float)lt->pntsu-1);
+		if(lt->pntsv>1) dv= 1.0f/((float)lt->pntsv-1);
+		if(lt->pntsw>1) dw= 1.0f/((float)lt->pntsw-1);
+			
+		for(w=0; w<lt->pntsw; w++) {
+			
+			for(v=0; v<lt->pntsv; v++) {
+			
+				for(u=0; u<lt->pntsu; u++, bp++) {
+					if(u==0 || v==0 || w==0 || u==lt->pntsu-1 || v==lt->pntsv-1 || w==lt->pntsw-1);
+					else {
 					
-					/* u extrema */
-					bp1= latt_bp(lt, 0, v, w);
-					bp2= latt_bp(lt, lt->pntsu-1, v, w);
-					
-					fac1= du*u;
-					bp->vec[0]= (1.0f-fac1)*bp1->vec[0] + fac1*bp2->vec[0];
-					bp->vec[1]= (1.0f-fac1)*bp1->vec[1] + fac1*bp2->vec[1];
-					bp->vec[2]= (1.0f-fac1)*bp1->vec[2] + fac1*bp2->vec[2];
-					
-					/* v extrema */
-					bp1= latt_bp(lt, u, 0, w);
-					bp2= latt_bp(lt, u, lt->pntsv-1, w);
-					
-					fac1= dv*v;
-					bp->vec[0]+= (1.0f-fac1)*bp1->vec[0] + fac1*bp2->vec[0];
-					bp->vec[1]+= (1.0f-fac1)*bp1->vec[1] + fac1*bp2->vec[1];
-					bp->vec[2]+= (1.0f-fac1)*bp1->vec[2] + fac1*bp2->vec[2];
-					
-					/* w extrema */
-					bp1= latt_bp(lt, u, v, 0);
-					bp2= latt_bp(lt, u, v, lt->pntsw-1);
-					
-					fac1= dw*w;
-					bp->vec[0]+= (1.0f-fac1)*bp1->vec[0] + fac1*bp2->vec[0];
-					bp->vec[1]+= (1.0f-fac1)*bp1->vec[1] + fac1*bp2->vec[1];
-					bp->vec[2]+= (1.0f-fac1)*bp1->vec[2] + fac1*bp2->vec[2];
-					
-					VecMulf(bp->vec, 0.3333333f);
-					
+						bp->hide= 1;
+						bp->f1 &= ~SELECT;
+						
+						/* u extrema */
+						bp1= latt_bp(lt, 0, v, w);
+						bp2= latt_bp(lt, lt->pntsu-1, v, w);
+						
+						fac1= du*u;
+						bp->vec[0]= (1.0f-fac1)*bp1->vec[0] + fac1*bp2->vec[0];
+						bp->vec[1]= (1.0f-fac1)*bp1->vec[1] + fac1*bp2->vec[1];
+						bp->vec[2]= (1.0f-fac1)*bp1->vec[2] + fac1*bp2->vec[2];
+						
+						/* v extrema */
+						bp1= latt_bp(lt, u, 0, w);
+						bp2= latt_bp(lt, u, lt->pntsv-1, w);
+						
+						fac1= dv*v;
+						bp->vec[0]+= (1.0f-fac1)*bp1->vec[0] + fac1*bp2->vec[0];
+						bp->vec[1]+= (1.0f-fac1)*bp1->vec[1] + fac1*bp2->vec[1];
+						bp->vec[2]+= (1.0f-fac1)*bp1->vec[2] + fac1*bp2->vec[2];
+						
+						/* w extrema */
+						bp1= latt_bp(lt, u, v, 0);
+						bp2= latt_bp(lt, u, v, lt->pntsw-1);
+						
+						fac1= dw*w;
+						bp->vec[0]+= (1.0f-fac1)*bp1->vec[0] + fac1*bp2->vec[0];
+						bp->vec[1]+= (1.0f-fac1)*bp1->vec[1] + fac1*bp2->vec[1];
+						bp->vec[2]+= (1.0f-fac1)*bp1->vec[2] + fac1*bp2->vec[2];
+						
+						VecMulf(bp->vec, 0.3333333f);
+						
+					}
 				}
+				
 			}
 			
 		}
-		
 	}
-	
+	else {
+		bp= lt->def;
+
+		for(w=0; w<lt->pntsw; w++)
+			for(v=0; v<lt->pntsv; v++)
+				for(u=0; u<lt->pntsu; u++, bp++)
+					bp->hide= 0;
+	}
 }
 
 float (*lattice_getVertexCos(struct Object *ob, int *numVerts_r))[3]

Modified: branches/soc-2009-yukishiro/source/blender/blenkernel/intern/modifier.c

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list