Revision: 15489
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15489
Author:   genscher
Date:     2008-07-08 19:38:33 +0200 (Tue, 08 Jul 2008)

Log Message:
-----------
Introduced quality to GUI, not yet tested (WIP commit)

Modified Paths:
--------------
    branches/fluidcontrol/intern/elbeem/extern/elbeem.h
    branches/fluidcontrol/intern/elbeem/intern/elbeem.cpp
    branches/fluidcontrol/intern/elbeem/intern/ntl_geometryobject.cpp
    branches/fluidcontrol/intern/elbeem/intern/ntl_geometryobject.h
    branches/fluidcontrol/intern/elbeem/intern/solver_control.cpp
    branches/fluidcontrol/source/blender/makesdna/DNA_object_fluidsim.h
    branches/fluidcontrol/source/blender/src/buttons_object.c
    branches/fluidcontrol/source/blender/src/fluidsim.c

Modified: branches/fluidcontrol/intern/elbeem/extern/elbeem.h
===================================================================
--- branches/fluidcontrol/intern/elbeem/extern/elbeem.h 2008-07-08 17:04:58 UTC 
(rev 15488)
+++ branches/fluidcontrol/intern/elbeem/extern/elbeem.h 2008-07-08 17:38:33 UTC 
(rev 15489)
@@ -162,6 +162,7 @@
        /* fluid control settings */
        float cpsTimeStart;
        float cpsTimeEnd;
+       float cpsQuality;
        
        int channelSizeAttractforceStrength;
        float *channelAttractforceStrength;

Modified: branches/fluidcontrol/intern/elbeem/intern/elbeem.cpp
===================================================================
--- branches/fluidcontrol/intern/elbeem/intern/elbeem.cpp       2008-07-08 
17:04:58 UTC (rev 15488)
+++ branches/fluidcontrol/intern/elbeem/intern/elbeem.cpp       2008-07-08 
17:38:33 UTC (rev 15489)
@@ -163,6 +163,7 @@
        /* fluid control settings */
        mesh->cpsTimeStart = 0;
        mesh->cpsTimeEnd = 0;
+       mesh->cpsQuality = 0;
        
        mesh->channelSizeAttractforceStrength = 0;
        mesh->channelAttractforceStrength = NULL;
@@ -215,6 +216,7 @@
        /* fluid control features */
        obj->setCpsTimeStart(mesh->cpsTimeStart);
        obj->setCpsTimeEnd(mesh->cpsTimeEnd);
+       obj->setCpsQuality(mesh->cpsQuality);
        
        
if((mesh->volumeInitType<VOLUMEINIT_VOLUME)||(mesh->volumeInitType>VOLUMEINIT_BOTH))
 mesh->volumeInitType = VOLUMEINIT_VOLUME;
        obj->setVolumeInit(mesh->volumeInitType);

Modified: branches/fluidcontrol/intern/elbeem/intern/ntl_geometryobject.cpp
===================================================================
--- branches/fluidcontrol/intern/elbeem/intern/ntl_geometryobject.cpp   
2008-07-08 17:04:58 UTC (rev 15488)
+++ branches/fluidcontrol/intern/elbeem/intern/ntl_geometryobject.cpp   
2008-07-08 17:38:33 UTC (rev 15489)
@@ -42,6 +42,7 @@
        mTriangleDivs1(), mTriangleDivs2(), mTriangleDivs3(),
        mMovPntsInited(-100.0), mMaxMovPnt(-1),
        mcGeoActive(1.),
+       mCpsTimeStart(0.), mCpsTimeEnd(1.0), mCpsQuality(10.),
        mcAttrFStr(0.),mcAttrFRad(0.), mcVelFStr(0.), mcVelFRad(0.)
 { 
 };

Modified: branches/fluidcontrol/intern/elbeem/intern/ntl_geometryobject.h
===================================================================
--- branches/fluidcontrol/intern/elbeem/intern/ntl_geometryobject.h     
2008-07-08 17:04:58 UTC (rev 15488)
+++ branches/fluidcontrol/intern/elbeem/intern/ntl_geometryobject.h     
2008-07-08 17:38:33 UTC (rev 15489)
@@ -109,6 +109,10 @@
                inline float getCpsTimeEnd() const { return mCpsTimeEnd; }
                inline void setCpsTimeEnd(float set) { mCpsTimeEnd=set; }
                
+               /*! Set/get the particle control set quality */
+               inline float getCpsQuality() const { return mCpsQuality; }
+               inline void setCpsQuality(float set) { mCpsQuality=set; }
+               
                inline AnimChannel<float> getCpsAttrFStr() const { return 
mcAttrFStr; }
                inline AnimChannel<float> getCpsAttrFRad() const { return 
mcAttrFRad; }
                inline AnimChannel<float> getCpsVelFStr() const { return 
mcVelFStr; }
@@ -228,6 +232,7 @@
                /* fluid control settings */
                float mCpsTimeStart;
                float mCpsTimeEnd;
+               float mCpsQuality;
                AnimChannel<float> mcAttrFStr, mcAttrFRad, mcVelFStr, mcVelFRad;
 
        public:

Modified: branches/fluidcontrol/intern/elbeem/intern/solver_control.cpp
===================================================================
--- branches/fluidcontrol/intern/elbeem/intern/solver_control.cpp       
2008-07-08 17:04:58 UTC (rev 15488)
+++ branches/fluidcontrol/intern/elbeem/intern/solver_control.cpp       
2008-07-08 17:38:33 UTC (rev 15489)
@@ -242,6 +242,9 @@
                        cset->mCparts->setCPSTimeStart(obj->getCpsTimeStart());
                        cset->mCparts->setCPSTimeEnd(obj->getCpsTimeEnd());
                        
+                       if(obj->getCpsQuality() > LBM_EPSILON)
+                               cset->mCparts->setCPSWith(1.0 / 
obj->getCpsQuality());
+                       
                        // this value can be left at 0.5:
                        cset->mCparts->setCPSMvmWeightFac(0.5);
 

Modified: branches/fluidcontrol/source/blender/makesdna/DNA_object_fluidsim.h
===================================================================
--- branches/fluidcontrol/source/blender/makesdna/DNA_object_fluidsim.h 
2008-07-08 17:04:58 UTC (rev 15488)
+++ branches/fluidcontrol/source/blender/makesdna/DNA_object_fluidsim.h 
2008-07-08 17:38:33 UTC (rev 15489)
@@ -121,6 +121,7 @@
        /* Fluid control settings */
        float cpsTimeStart;
        float cpsTimeEnd;
+       float cpsQuality;
        
        float attractforceStrength;
        float attractforceRadius;

Modified: branches/fluidcontrol/source/blender/src/buttons_object.c
===================================================================
--- branches/fluidcontrol/source/blender/src/buttons_object.c   2008-07-08 
17:04:58 UTC (rev 15488)
+++ branches/fluidcontrol/source/blender/src/buttons_object.c   2008-07-08 
17:38:33 UTC (rev 15489)
@@ -5069,7 +5069,7 @@
 
                                        if(fss->typeFlags&OB_FSBND_PARTSLIP) {
                                                uiDefBut(block, LABEL, 0, 
"PartSlipValue:",             0,yline,200,objHeight, NULL, 0.0, 0, 0, 0, "");
-                                               uiDefButF(block, NUM, B_DIFF, 
"", 200, yline,100,objHeight, &fss->partSlipValue, 0.0, 1.0, 10,0, ".");
+                                               uiDefButF(block, NUM, B_DIFF, 
"Amount of mixing between no- and free-slip, 0=stickier, 1=same as free slip.", 
200, yline,100,objHeight, &fss->partSlipValue, 0.0, 1.0, 10,0, ".");
                                                yline -= lineHeight;
                                        } else { 
                                                //uiDefBut(block, LABEL, 0, 
"-",        200,yline,100,objHeight, NULL, 0.0, 0, 0, 0, ""); 
@@ -5216,8 +5216,8 @@
                        }
                        else if(fss->type == OB_FLUIDSIM_CONTROL) {
                                
-                               uiDefButF(block, NUM, B_DIFF, "Time Sta:", 0, 
yline,150,20, &fss->cpsTimeStart, 0.0, 2.0,   10,0, "Specifies time when the 
control particles are activated.");
-                               uiDefButF(block, NUM, B_DIFF, "Time End:", 150, 
yline,150,20, &fss->cpsTimeEnd, 0.0, 2.0,   10,0, "Specifies time when the 
control particles are deactivated.");
+                               uiDefButF(block, NUM, B_DIFF, "Time Sta:", 0, 
yline,150,20, &fss->cpsTimeStart, 0.0, 100.0,   10,0, "Specifies time when the 
control particles are activated.");
+                               uiDefButF(block, NUM, B_DIFF, "Time End:", 150, 
yline,150,20, &fss->cpsTimeEnd, 0.0, 100.0,   10,0, "Specifies time when the 
control particles are deactivated.");
                                
                                yline -= lineHeight;
                                
@@ -5230,6 +5230,9 @@
                                yline -= lineHeight;
                                uiDefButF(block, NUM, B_DIFF, "Strength:", 0, 
yline,150,20, &fss->velocityforceStrength, 0.0, 2.0,   10,0, "");
                                uiDefButF(block, NUM, B_DIFF, "Radius:", 150, 
yline,150,20, &fss->velocityforceRadius, 0.0, 2.0,   10,0, "");
+                               
+                               yline -= lineHeight;
+                               uiDefButF(block, NUM, B_DIFF, "Quality:", 0, 
yline,150,20, &fss->cpsQuality, 1.0, 100.0,   10,0, "Specifies the quality 
which is used for object sampling.");
                        }
                        else {
                                yline -= lineHeight + 5;

Modified: branches/fluidcontrol/source/blender/src/fluidsim.c
===================================================================
--- branches/fluidcontrol/source/blender/src/fluidsim.c 2008-07-08 17:04:58 UTC 
(rev 15488)
+++ branches/fluidcontrol/source/blender/src/fluidsim.c 2008-07-08 17:38:33 UTC 
(rev 15489)
@@ -221,6 +221,7 @@
        fss->velocityforceRadius = 0.75;
        fss->cpsTimeStart = fss->animStart;
        fss->cpsTimeEnd = fss->animEnd;
+       fss->cpsQuality = 10.0; // 1.0 / 10.0 => means 0.1 width
 
        return fss;
 }
@@ -1073,6 +1074,7 @@
                                        
                                        fsmesh.cpsTimeStart = 
obit->fluidsimSettings->cpsTimeStart;
                                        fsmesh.cpsTimeEnd = 
obit->fluidsimSettings->cpsTimeEnd;
+                                       fsmesh.cpsQuality = 
obit->fluidsimSettings->cpsQuality;
                                        
                                        fsmesh.channelSizeAttractforceRadius = 
                                        fsmesh.channelSizeVelocityforceStrength 
= 
@@ -1084,7 +1086,7 @@
                                        fsmesh.channelVelocityforceStrength = 
channelVelocityforceStrength[o];
                                        fsmesh.channelVelocityforceRadius = 
channelVelocityforceRadius[o];
                                }
-                               else*/
+                               else */
                                {
                                        // set channels to 0
                                        fsmesh.channelAttractforceStrength =


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

Reply via email to