[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14566] trunk/blender/source/blender: remove old particle system.

Campbell Barton ideasman42 at gmail.com
Sun Apr 27 20:26:21 CEST 2008


Revision: 14566
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14566
Author:   campbellbarton
Date:     2008-04-27 20:26:20 +0200 (Sun, 27 Apr 2008)

Log Message:
-----------
remove old particle system.
also removed quat, dquat, and sumohandle from the Object struct since they aren't used anywhere.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_effect.h
    trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c
    trunk/blender/source/blender/blenkernel/intern/action.c
    trunk/blender/source/blender/blenkernel/intern/depsgraph.c
    trunk/blender/source/blender/blenkernel/intern/effect.c
    trunk/blender/source/blender/blenkernel/intern/group.c
    trunk/blender/source/blender/blenkernel/intern/library.c
    trunk/blender/source/blender/blenkernel/intern/object.c
    trunk/blender/source/blender/blenkernel/intern/pointcache.c
    trunk/blender/source/blender/blenloader/intern/readfile.c
    trunk/blender/source/blender/blenloader/intern/writefile.c
    trunk/blender/source/blender/include/butspace.h
    trunk/blender/source/blender/include/particle_effect.h
    trunk/blender/source/blender/makesdna/DNA_object_types.h
    trunk/blender/source/blender/python/api2_2x/Effect.c
    trunk/blender/source/blender/python/api2_2x/Object.c
    trunk/blender/source/blender/python/api2_2x/Particle.c
    trunk/blender/source/blender/python/api2_2x/doc/Effect.py
    trunk/blender/source/blender/python/api2_2x/doc/Object.py
    trunk/blender/source/blender/src/buttons_object.c
    trunk/blender/source/blender/src/drawobject.c
    trunk/blender/source/blender/src/editobject.c
    trunk/blender/source/blender/src/header_view3d.c
    trunk/blender/source/blender/src/view.c

Modified: trunk/blender/source/blender/blenkernel/BKE_effect.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_effect.h	2008-04-27 18:25:52 UTC (rev 14565)
+++ trunk/blender/source/blender/blenkernel/BKE_effect.h	2008-04-27 18:26:20 UTC (rev 14566)
@@ -35,7 +35,6 @@
 
 struct Effect;
 struct ListBase;
-struct PartEff;
 struct Particle;
 struct Group;
 
@@ -51,21 +50,16 @@
 	Object obcopy;	/* for restoring transformation data */
 } pEffectorCache;
 
-
-struct Effect *add_effect(int type);
 void free_effect(struct Effect *eff);
 void free_effects(struct ListBase *lb);
 struct Effect *copy_effect(struct Effect *eff);
-void copy_act_effect(struct Object *ob);
 void copy_effects(struct ListBase *lbn, struct ListBase *lb);
 void deselectall_eff(struct Object *ob);
-struct PartEff *give_parteff(struct Object *ob);
-void where_is_particle(struct PartEff *paf, struct Particle *pa, float ctime, float *vec);
-void build_particle_system(struct Object *ob);
 
 /* particle deflector */
 #define PE_WIND_AS_SPEED 0x00000001
 
+struct PartEff *give_parteff(struct Object *ob);
 struct ListBase *pdInitEffectors(struct Object *obsrc, struct Group *group);
 void			pdEndEffectors(struct ListBase *lb);
 void			pdDoEffectors(struct ListBase *lb, float *opco, float *force, float *speed, float cur_time, float loc_time, unsigned int flags);

Modified: trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c	2008-04-27 18:25:52 UTC (rev 14565)
+++ trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c	2008-04-27 18:26:20 UTC (rev 14566)
@@ -420,7 +420,6 @@
 	dofluidsim = ((ob->fluidsimFlag & OB_FLUIDSIM_ENABLE) &&
 	              (ob->fluidsimSettings->type & OB_FLUIDSIM_DOMAIN)&&
 	              (ob->fluidsimSettings->meshSurface) &&
-	              (1) && (!give_parteff(ob)) && // doesnt work together with particle systems!
 	              (me->totvert == ((Mesh *)(ob->fluidsimSettings->meshSurface))->totvert));
 
 	if (vertCos && !dofluidsim)
@@ -1916,8 +1915,7 @@
 	 * domain objects
 	 */
 	if((G.obedit!=ob) && !needMapping) {
-		if((ob->fluidsimFlag & OB_FLUIDSIM_ENABLE) &&
-		   (1) && (!give_parteff(ob)) ) { // doesnt work together with particle systems!
+		if((ob->fluidsimFlag & OB_FLUIDSIM_ENABLE)) {
 			if(ob->fluidsimSettings->type & OB_FLUIDSIM_DOMAIN) {
 				loadFluidsimMesh(ob,useRenderParams);
 				fluidsimMeshUsed = 1;
@@ -2550,14 +2548,7 @@
 	if (ob==G.obedit) {
 		editmesh_build_data(dataMask);
 	} else {
-		PartEff *paf= give_parteff(ob);
-		
 		mesh_build_data(ob, dataMask);
-		
-		if(paf) {
-			if((paf->flag & PAF_STATIC) || (ob->recalc & OB_RECALC_TIME)==0)
-				build_particle_system(ob);
-		}
 	}
 }
 

Modified: trunk/blender/source/blender/blenkernel/intern/action.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/action.c	2008-04-27 18:25:52 UTC (rev 14565)
+++ trunk/blender/source/blender/blenkernel/intern/action.c	2008-04-27 18:26:20 UTC (rev 14566)
@@ -961,11 +961,7 @@
 	
 	/* global time */
 	cfra*= G.scene->r.framelen;	
-
-
-	/* decide later... */
-//	if(no_speed_curve==0) if(ob && ob->ipo) cfra= calc_ipo_time(ob->ipo, cfra);
-
+	
 	return cfra;
 }
 

Modified: trunk/blender/source/blender/blenkernel/intern/depsgraph.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/depsgraph.c	2008-04-27 18:25:52 UTC (rev 14565)
+++ trunk/blender/source/blender/blenkernel/intern/depsgraph.c	2008-04-27 18:26:20 UTC (rev 14566)
@@ -568,36 +568,7 @@
 			dag_add_relation(dag,node2,node,DAG_RL_DATA_DATA|DAG_RL_OB_DATA, "Texture On Curve");
 		}
 	}
-	else if(ob->type==OB_MESH) {
-		PartEff *paf= give_parteff(ob);
-		if(paf) {
-			ListBase *listb;
-			pEffectorCache *ec;
-			
-			/* ob location depends on itself */
-			if((paf->flag & PAF_STATIC)==0)
-				dag_add_relation(dag, node, node, DAG_RL_OB_DATA, "Particle-Object Relation");
-			
-			listb= pdInitEffectors(ob, paf->group);		/* note, makes copy... */
-			if(listb) {
-				for(ec= listb->first; ec; ec= ec->next) {
-					Object *ob1= ec->ob;
-					PartDeflect *pd= ob1->pd;
-						
-					if(pd->forcefield) {
-						node2 = dag_get_node(dag, ob1);
-						if(pd->forcefield==PFIELD_GUIDE)
-							dag_add_relation(dag, node2, node, DAG_RL_DATA_DATA|DAG_RL_OB_DATA, "Particle Field");
-						else
-							dag_add_relation(dag, node2, node, DAG_RL_OB_DATA, "Particle Field");
-					}
-				}
-				
-				pdEndEffectors(listb);	/* restores copy... */
-			}
-		}
-	}
-
+	
 	psys= ob->particlesystem.first;
 	if(psys) {
 		ParticleEffectorCache *nec;
@@ -1987,15 +1958,6 @@
 						ob->shapeflag &= ~OB_SHAPE_TEMPLOCK;
 					}
 				}
-				else if(ob->effect.first) {
-					Effect *eff= ob->effect.first;
-					PartEff *paf= give_parteff(ob);
-					
-					if(eff->type==EFF_WAVE) 
-						ob->recalc |= OB_RECALC_DATA;
-					else if(paf && paf->keys==NULL)
-						ob->recalc |= OB_RECALC_DATA;
-				}
 				if((ob->fluidsimFlag & OB_FLUIDSIM_ENABLE) && (ob->fluidsimSettings)) {
 					// fluidsimSettings might not be initialized during load...
 					if(ob->fluidsimSettings->type & (OB_FLUIDSIM_DOMAIN|OB_FLUIDSIM_PARTICLE)) {

Modified: trunk/blender/source/blender/blenkernel/intern/effect.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/effect.c	2008-04-27 18:25:52 UTC (rev 14565)
+++ trunk/blender/source/blender/blenkernel/intern/effect.c	2008-04-27 18:26:20 UTC (rev 14566)
@@ -96,43 +96,19 @@
 	float co[3], no[3];
 } VeNoCo;
 
-Effect *add_effect(int type)
+/* ***************** PARTICLES ***************** */
+
+/* deprecated, only keep this for readfile.c */
+PartEff *give_parteff(Object *ob)
 {
-	Effect *eff=0;
 	PartEff *paf;
-	int a;
 	
-	switch(type) {
-	case EFF_PARTICLE:
-		paf= MEM_callocN(sizeof(PartEff), "neweff");
-		eff= (Effect *)paf;
-		
-		paf->sta= 1.0;
-		paf->end= 100.0;
-		paf->lifetime= 50.0;
-		for(a=0; a<PAF_MAXMULT; a++) {
-			paf->life[a]= 50.0;
-			paf->child[a]= 4;
-			paf->mat[a]= 1;
-		}
-		
-		paf->totpart= 1000;
-		paf->totkey= 8;
-		paf->staticstep= 5;
-		paf->defvec[2]= 1.0f;
-		paf->nabla= 0.05f;
-		paf->disp = 100;
-		paf->speedtex = 8;
-		paf->omat = 1;
-		paf->flag= PAF_FACE;
-
-		break;
+	paf= ob->effect.first;
+	while(paf) {
+		if(paf->type==EFF_PARTICLE) return paf;
+		paf= paf->next;
 	}
-	
-	eff->type= eff->buttype= type;
-	eff->flag |= SELECT;
-	
-	return eff;
+	return 0;
 }
 
 void free_effect(Effect *eff)
@@ -159,172 +135,6 @@
 	}
 }
 
-Effect *copy_effect(Effect *eff) 
-{
-	Effect *effn;
-
-	effn= MEM_dupallocN(eff);
-	if(effn->type==EFF_PARTICLE) ((PartEff *)effn)->keys= 0;
-
-	return effn;	
-}
-
-void copy_act_effect(Object *ob)
-{
-	/* return a copy of the active effect */
-	Effect *effn, *eff;
-	
-	eff= ob->effect.first;
-	while(eff) {
-		if(eff->flag & SELECT) {
-			
-			effn= copy_effect(eff);
-			BLI_addtail(&ob->effect, effn);
-			
-			eff->flag &= ~SELECT;
-			return;
-			
-		}
-		eff= eff->next;
-	}
-	
-	/* when it comes here: add new effect */
-	eff= add_effect(EFF_PARTICLE);
-	BLI_addtail(&ob->effect, eff);
-			
-}
-
-void copy_effects(ListBase *lbn, ListBase *lb)
-{
-	Effect *eff, *effn;
-
-	lbn->first= lbn->last= 0;
-
-	eff= lb->first;
-	while(eff) {
-		effn= copy_effect(eff);
-		BLI_addtail(lbn, effn);
-		
-		eff= eff->next;
-	}
-	
-}
-
-void deselectall_eff(Object *ob)
-{
-	Effect *eff= ob->effect.first;
-	
-	while(eff) {
-		eff->flag &= ~SELECT;
-		eff= eff->next;
-	}
-}
-
-/* ***************** PARTICLES ***************** */
-
-static Particle *new_particle(PartEff *paf)
-{
-	static Particle *pa;
-	static int cur;
-
-	/* we agree: when paf->keys==0: alloc */	
-	if(paf->keys==NULL) {
-		pa= paf->keys= MEM_callocN( paf->totkey*paf->totpart*sizeof(Particle), "particlekeys" );
-		cur= 0;
-	}
-	else {
-		if(cur && cur<paf->totpart) pa+=paf->totkey;
-		cur++;
-	}
-	return pa;
-}
-
-PartEff *give_parteff(Object *ob)
-{
-	PartEff *paf;
-	
-	paf= ob->effect.first;
-	while(paf) {
-		if(paf->type==EFF_PARTICLE) return paf;
-		paf= paf->next;
-	}
-	return 0;
-}
-
-void where_is_particle(PartEff *paf, Particle *pa, float ctime, float *vec)
-{
-	Particle *p[4];
-	float dt, t[4];
-	int a;
-	
-	if(paf->totkey==1 || ctime < pa->time) {
-		VECCOPY(vec, pa->co);
-		return;
-	}
-	
-	/* first find the first particlekey */
-	a= (int)((paf->totkey-1)*(ctime-pa->time)/pa->lifetime);
-	if(a>=paf->totkey) a= paf->totkey-1;
-	else if(a<0) a= 0;
-	
-	pa+= a;
-	
-	if(a>0) p[0]= pa-1; else p[0]= pa;
-	p[1]= pa;
-	
-	if(a+1<paf->totkey) p[2]= pa+1; else p[2]= pa;
-	if(a+2<paf->totkey) p[3]= pa+2; else p[3]= p[2];
-	
-	if(p[1]==p[2] || p[2]->time == p[1]->time) dt= 0.0;
-	else dt= (ctime-p[1]->time)/(p[2]->time - p[1]->time);
-
-	if(paf->flag & PAF_BSPLINE) set_four_ipo(dt, t, KEY_BSPLINE);
-	else set_four_ipo(dt, t, KEY_CARDINAL);
-
-	vec[0]= t[0]*p[0]->co[0] + t[1]*p[1]->co[0] + t[2]*p[2]->co[0] + t[3]*p[3]->co[0];
-	vec[1]= t[0]*p[0]->co[1] + t[1]*p[1]->co[1] + t[2]*p[2]->co[1] + t[3]*p[3]->co[1];
-	vec[2]= t[0]*p[0]->co[2] + t[1]*p[1]->co[2] + t[2]*p[2]->co[2] + t[3]*p[3]->co[2];
-
-}
-
-static void particle_tex(MTex *mtex, PartEff *paf, float *co, float *no)
-{				
-	float tin, tr, tg, tb, ta;
-	float old;
-	
-	externtex(mtex, co, &tin, &tr, &tg, &tb, &ta);
-
-	if(paf->texmap==PAF_TEXINT) {
-		tin*= paf->texfac;
-		no[0]+= tin*paf->defvec[0];
-		no[1]+= tin*paf->defvec[1];
-		no[2]+= tin*paf->defvec[2];
-	}
-	else if(paf->texmap==PAF_TEXRGB) {
-		no[0]+= (tr-0.5f)*paf->texfac;
-		no[1]+= (tg-0.5f)*paf->texfac;
-		no[2]+= (tb-0.5f)*paf->texfac;
-	}
-	else {	/* PAF_TEXGRAD */
-		
-		old= tin;
-		co[0]+= paf->nabla;
-		externtex(mtex, co, &tin, &tr, &tg, &tb, &ta);
-		no[0]+= (old-tin)*paf->texfac;
-		
-		co[0]-= paf->nabla;
-		co[1]+= paf->nabla;
-		externtex(mtex, co, &tin, &tr, &tg, &tb, &ta);
-		no[1]+= (old-tin)*paf->texfac;
-		
-		co[1]-= paf->nabla;
-		co[2]+= paf->nabla;
-		externtex(mtex, co, &tin, &tr, &tg, &tb, &ta);
-		no[2]+= (old-tin)*paf->texfac;
-		
-	}
-}
-
 /* -------------------------- Effectors ------------------ */
 
 static void add_to_effectorcache(ListBase *lb, Object *ob, Object *obsrc)
@@ -401,50 +211,7 @@
 	}
 }
 
-/* local for this c file, only for guides now */
-static void precalc_effectors(Object *ob, PartEff *paf, Particle *pa, ListBase *lb)
-{
-	pEffectorCache *ec;
-	
-	for(ec= lb->first; ec; ec= ec->next) {
-		PartDeflect *pd= ec->ob->pd;
-		

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list