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. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to