[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [15489] branches/fluidcontrol: Introduced quality to GUI, not yet tested (WIP commit)
Daniel Genrich
daniel.genrich at gmx.net
Tue Jul 8 19:38:41 CEST 2008
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 =
More information about the Bf-blender-cvs
mailing list