[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