[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