[Bf-blender-cvs] [987745e4402] fluid-mantaflow: updated manta pp files

Sebastián Barschkis noreply at git.blender.org
Tue May 1 23:43:17 CEST 2018


Commit: 987745e44022cad380322801bf9d586cef86e89d
Author: Sebastián Barschkis
Date:   Mon Apr 30 16:47:28 2018 +0200
Branches: fluid-mantaflow
https://developer.blender.org/rB987745e44022cad380322801bf9d586cef86e89d

updated manta pp files

===================================================================

M	intern/mantaflow/CMakeLists.txt
M	intern/mantaflow/intern/manta_pp/omp/commonkernels.h
M	intern/mantaflow/intern/manta_pp/omp/conjugategrad.cpp
M	intern/mantaflow/intern/manta_pp/omp/conjugategrad.h
M	intern/mantaflow/intern/manta_pp/omp/edgecollapse.cpp
M	intern/mantaflow/intern/manta_pp/omp/edgecollapse.h
M	intern/mantaflow/intern/manta_pp/omp/fastmarch.cpp
M	intern/mantaflow/intern/manta_pp/omp/fastmarch.h
A	intern/mantaflow/intern/manta_pp/omp/fileio/iogrids.cpp
A	intern/mantaflow/intern/manta_pp/omp/fileio/iomeshes.cpp
A	intern/mantaflow/intern/manta_pp/omp/fileio/ioparticles.cpp
A	intern/mantaflow/intern/manta_pp/omp/fileio/mantaio.h
A	intern/mantaflow/intern/manta_pp/omp/fileio/mantaio.h.reg
A	intern/mantaflow/intern/manta_pp/omp/fileio/mantaio.h.reg.cpp
M	intern/mantaflow/intern/manta_pp/omp/fluidsolver.cpp
M	intern/mantaflow/intern/manta_pp/omp/fluidsolver.h
M	intern/mantaflow/intern/manta_pp/omp/general.cpp
M	intern/mantaflow/intern/manta_pp/omp/general.h
M	intern/mantaflow/intern/manta_pp/omp/gitinfo.h
M	intern/mantaflow/intern/manta_pp/omp/grid.cpp
M	intern/mantaflow/intern/manta_pp/omp/grid.h
M	intern/mantaflow/intern/manta_pp/omp/grid4d.cpp
M	intern/mantaflow/intern/manta_pp/omp/grid4d.h
M	intern/mantaflow/intern/manta_pp/omp/kernel.cpp
M	intern/mantaflow/intern/manta_pp/omp/kernel.h
M	intern/mantaflow/intern/manta_pp/omp/levelset.cpp
M	intern/mantaflow/intern/manta_pp/omp/levelset.h
M	intern/mantaflow/intern/manta_pp/omp/mesh.cpp
M	intern/mantaflow/intern/manta_pp/omp/mesh.h
M	intern/mantaflow/intern/manta_pp/omp/movingobs.cpp
M	intern/mantaflow/intern/manta_pp/omp/movingobs.h
M	intern/mantaflow/intern/manta_pp/omp/multigrid.cpp
M	intern/mantaflow/intern/manta_pp/omp/multigrid.h
M	intern/mantaflow/intern/manta_pp/omp/noisefield.cpp
M	intern/mantaflow/intern/manta_pp/omp/noisefield.h
M	intern/mantaflow/intern/manta_pp/omp/particle.cpp
M	intern/mantaflow/intern/manta_pp/omp/particle.h
M	intern/mantaflow/intern/manta_pp/omp/plugin/advection.cpp
M	intern/mantaflow/intern/manta_pp/omp/plugin/apic.cpp
M	intern/mantaflow/intern/manta_pp/omp/plugin/extforces.cpp
M	intern/mantaflow/intern/manta_pp/omp/plugin/fire.cpp
M	intern/mantaflow/intern/manta_pp/omp/plugin/flip.cpp
M	intern/mantaflow/intern/manta_pp/omp/plugin/fluidguiding.cpp
M	intern/mantaflow/intern/manta_pp/omp/plugin/initplugins.cpp
M	intern/mantaflow/intern/manta_pp/omp/plugin/kepsilon.cpp
M	intern/mantaflow/intern/manta_pp/omp/plugin/meshplugins.cpp
M	intern/mantaflow/intern/manta_pp/omp/plugin/pressure.cpp
A	intern/mantaflow/intern/manta_pp/omp/plugin/secondaryparticles.cpp
M	intern/mantaflow/intern/manta_pp/omp/plugin/sndparticles.cpp
M	intern/mantaflow/intern/manta_pp/omp/plugin/surfaceturbulence.cpp
M	intern/mantaflow/intern/manta_pp/omp/plugin/vortexplugins.cpp
M	intern/mantaflow/intern/manta_pp/omp/plugin/waveletturbulence.cpp
M	intern/mantaflow/intern/manta_pp/omp/plugin/waves.cpp
M	intern/mantaflow/intern/manta_pp/omp/python/defines.py.reg
M	intern/mantaflow/intern/manta_pp/omp/python/defines.py.reg.cpp
M	intern/mantaflow/intern/manta_pp/omp/registration.cpp
M	intern/mantaflow/intern/manta_pp/omp/shapes.cpp
M	intern/mantaflow/intern/manta_pp/omp/shapes.h
M	intern/mantaflow/intern/manta_pp/omp/test.cpp
M	intern/mantaflow/intern/manta_pp/omp/timing.cpp
M	intern/mantaflow/intern/manta_pp/omp/timing.h
M	intern/mantaflow/intern/manta_pp/omp/turbulencepart.cpp
M	intern/mantaflow/intern/manta_pp/omp/turbulencepart.h
M	intern/mantaflow/intern/manta_pp/omp/vortexpart.cpp
M	intern/mantaflow/intern/manta_pp/omp/vortexpart.h
M	intern/mantaflow/intern/manta_pp/omp/vortexsheet.cpp
M	intern/mantaflow/intern/manta_pp/omp/vortexsheet.h
M	intern/mantaflow/intern/manta_pp/tbb/commonkernels.h
M	intern/mantaflow/intern/manta_pp/tbb/conjugategrad.cpp
M	intern/mantaflow/intern/manta_pp/tbb/conjugategrad.h
M	intern/mantaflow/intern/manta_pp/tbb/edgecollapse.cpp
M	intern/mantaflow/intern/manta_pp/tbb/edgecollapse.h
M	intern/mantaflow/intern/manta_pp/tbb/fastmarch.cpp
M	intern/mantaflow/intern/manta_pp/tbb/fastmarch.h
A	intern/mantaflow/intern/manta_pp/tbb/fileio/iogrids.cpp
A	intern/mantaflow/intern/manta_pp/tbb/fileio/iomeshes.cpp
A	intern/mantaflow/intern/manta_pp/tbb/fileio/ioparticles.cpp
A	intern/mantaflow/intern/manta_pp/tbb/fileio/mantaio.h
A	intern/mantaflow/intern/manta_pp/tbb/fileio/mantaio.h.reg
A	intern/mantaflow/intern/manta_pp/tbb/fileio/mantaio.h.reg.cpp
M	intern/mantaflow/intern/manta_pp/tbb/fluidsolver.cpp
M	intern/mantaflow/intern/manta_pp/tbb/fluidsolver.h
M	intern/mantaflow/intern/manta_pp/tbb/general.cpp
M	intern/mantaflow/intern/manta_pp/tbb/general.h
M	intern/mantaflow/intern/manta_pp/tbb/gitinfo.h
M	intern/mantaflow/intern/manta_pp/tbb/grid.cpp
M	intern/mantaflow/intern/manta_pp/tbb/grid.h
M	intern/mantaflow/intern/manta_pp/tbb/grid4d.cpp
M	intern/mantaflow/intern/manta_pp/tbb/grid4d.h
M	intern/mantaflow/intern/manta_pp/tbb/kernel.cpp
M	intern/mantaflow/intern/manta_pp/tbb/kernel.h
M	intern/mantaflow/intern/manta_pp/tbb/levelset.cpp
M	intern/mantaflow/intern/manta_pp/tbb/levelset.h
M	intern/mantaflow/intern/manta_pp/tbb/mesh.cpp
M	intern/mantaflow/intern/manta_pp/tbb/mesh.h
M	intern/mantaflow/intern/manta_pp/tbb/movingobs.cpp
M	intern/mantaflow/intern/manta_pp/tbb/movingobs.h
M	intern/mantaflow/intern/manta_pp/tbb/multigrid.cpp
M	intern/mantaflow/intern/manta_pp/tbb/multigrid.h
M	intern/mantaflow/intern/manta_pp/tbb/noisefield.cpp
M	intern/mantaflow/intern/manta_pp/tbb/noisefield.h
M	intern/mantaflow/intern/manta_pp/tbb/particle.cpp
M	intern/mantaflow/intern/manta_pp/tbb/particle.h
M	intern/mantaflow/intern/manta_pp/tbb/plugin/advection.cpp
M	intern/mantaflow/intern/manta_pp/tbb/plugin/apic.cpp
M	intern/mantaflow/intern/manta_pp/tbb/plugin/extforces.cpp
M	intern/mantaflow/intern/manta_pp/tbb/plugin/fire.cpp
M	intern/mantaflow/intern/manta_pp/tbb/plugin/flip.cpp
M	intern/mantaflow/intern/manta_pp/tbb/plugin/fluidguiding.cpp
M	intern/mantaflow/intern/manta_pp/tbb/plugin/initplugins.cpp
M	intern/mantaflow/intern/manta_pp/tbb/plugin/kepsilon.cpp
M	intern/mantaflow/intern/manta_pp/tbb/plugin/meshplugins.cpp
M	intern/mantaflow/intern/manta_pp/tbb/plugin/pressure.cpp
A	intern/mantaflow/intern/manta_pp/tbb/plugin/secondaryparticles.cpp
M	intern/mantaflow/intern/manta_pp/tbb/plugin/sndparticles.cpp
M	intern/mantaflow/intern/manta_pp/tbb/plugin/surfaceturbulence.cpp
M	intern/mantaflow/intern/manta_pp/tbb/plugin/vortexplugins.cpp
M	intern/mantaflow/intern/manta_pp/tbb/plugin/waveletturbulence.cpp
M	intern/mantaflow/intern/manta_pp/tbb/plugin/waves.cpp
M	intern/mantaflow/intern/manta_pp/tbb/python/defines.py.reg
M	intern/mantaflow/intern/manta_pp/tbb/python/defines.py.reg.cpp
M	intern/mantaflow/intern/manta_pp/tbb/registration.cpp
M	intern/mantaflow/intern/manta_pp/tbb/shapes.cpp
M	intern/mantaflow/intern/manta_pp/tbb/shapes.h
M	intern/mantaflow/intern/manta_pp/tbb/test.cpp
M	intern/mantaflow/intern/manta_pp/tbb/timing.cpp
M	intern/mantaflow/intern/manta_pp/tbb/timing.h
M	intern/mantaflow/intern/manta_pp/tbb/turbulencepart.cpp
M	intern/mantaflow/intern/manta_pp/tbb/turbulencepart.h
M	intern/mantaflow/intern/manta_pp/tbb/vortexpart.cpp
M	intern/mantaflow/intern/manta_pp/tbb/vortexpart.h
M	intern/mantaflow/intern/manta_pp/tbb/vortexsheet.cpp
M	intern/mantaflow/intern/manta_pp/tbb/vortexsheet.h

===================================================================

diff --git a/intern/mantaflow/CMakeLists.txt b/intern/mantaflow/CMakeLists.txt
index bc0e1d98273..9dcc66874ca 100644
--- a/intern/mantaflow/CMakeLists.txt
+++ b/intern/mantaflow/CMakeLists.txt
@@ -39,6 +39,7 @@ set(INC
 	extern
 	intern/strings
 	${MANTA_PP}
+	${MANTA_PP}/fileio
 	${MANTA_PP}/python
 	${MANTA_PP}/plugin
 	${MANTA_PP}/pwrapper
@@ -85,10 +86,12 @@ set(SRC
 	${MANTA_PP}/fastmarch.h
 	${MANTA_PP}/fastmarch.h.reg
 	${MANTA_PP}/fastmarch.h.reg.cpp
-	${MANTA_PP}/fileio.cpp
-	${MANTA_PP}/fileio.h
-	${MANTA_PP}/fileio.h.reg
-	${MANTA_PP}/fileio.h.reg.cpp
+	${MANTA_PP}/fileio/iogrids.cpp
+	${MANTA_PP}/fileio/iomeshes.cpp
+	${MANTA_PP}/fileio/ioparticles.cpp
+	${MANTA_PP}/fileio/mantaio.h
+	${MANTA_PP}/fileio/mantaio.h.reg
+	${MANTA_PP}/fileio/mantaio.h.reg.cpp
 	${MANTA_PP}/fluidsolver.cpp
 	${MANTA_PP}/fluidsolver.h
 	${MANTA_PP}/fluidsolver.h.reg
diff --git a/intern/mantaflow/intern/manta_pp/omp/commonkernels.h b/intern/mantaflow/intern/manta_pp/omp/commonkernels.h
index 129c9f7891d..d62cd4fd203 100644
--- a/intern/mantaflow/intern/manta_pp/omp/commonkernels.h
+++ b/intern/mantaflow/intern/manta_pp/omp/commonkernels.h
@@ -16,8 +16,8 @@
  * Copyright 2011 Tobias Pfaff, Nils Thuerey 
  *
  * This program is free software, distributed under the terms of the
- * GNU General Public License (GPL) 
- * http://www.gnu.org/licenses
+ * Apache License, Version 2.0 
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Common grid kernels
  *
@@ -35,29 +35,29 @@ namespace Manta {
 //! Kernel: Invert real values, if positive and fluid
 
 
- struct InvertCheckFluid : public KernelBase { InvertCheckFluid(FlagGrid& flags, Grid<Real>& grid) :  KernelBase(&flags,0) ,flags(flags),grid(grid)   { runMessage(); run(); }   inline void op(IndexInt idx, FlagGrid& flags, Grid<Real>& grid )  {
+ struct InvertCheckFluid : public KernelBase { InvertCheckFluid(const FlagGrid& flags, Grid<Real>& grid) :  KernelBase(&flags,0) ,flags(flags),grid(grid)   { runMessage(); run(); }   inline void op(IndexInt idx, const FlagGrid& flags, Grid<Real>& grid )  {
 	if (flags.isFluid(idx) && grid[idx] > 0)
 		grid[idx] = 1.0 / grid[idx];
-}    inline FlagGrid& getArg0() { return flags; } typedef FlagGrid type0;inline Grid<Real>& getArg1() { return grid; } typedef Grid<Real> type1; void runMessage() { debMsg("Executing kernel InvertCheckFluid ", 3); debMsg("Kernel range" <<  " x "<<  maxX  << " y "<< maxY  << " z "<< minZ<<" - "<< maxZ  << " "   , 4); }; void run() {   const IndexInt _sz = size; 
+}    inline const FlagGrid& getArg0() { return flags; } typedef FlagGrid type0;inline Grid<Real>& getArg1() { return grid; } typedef Grid<Real> type1; void runMessage() { debMsg("Executing kernel InvertCheckFluid ", 3); debMsg("Kernel range" <<  " x "<<  maxX  << " y "<< maxY  << " z "<< minZ<<" - "<< maxZ  << " "   , 4); }; void run() {   const IndexInt _sz = size; 
 #pragma omp parallel 
  {  
 #pragma omp for  
-  for (IndexInt i = 0; i < _sz; i++) op(i,flags,grid);  }   } FlagGrid& flags; Grid<Real>& grid;   };
+  for (IndexInt i = 0; i < _sz; i++) op(i,flags,grid);  }   } const FlagGrid& flags; Grid<Real>& grid;   };
 #line 26 "commonkernels.h"
 
 
 
 //! Kernel: Squared sum over grid
 
- struct GridSumSqr : public KernelBase { GridSumSqr(Grid<Real>& grid) :  KernelBase(&grid,0) ,grid(grid) ,sum(0)  { runMessage(); run(); }   inline void op(IndexInt idx, Grid<Real>& grid ,double& sum)  {
+ struct GridSumSqr : public KernelBase { GridSumSqr(const Grid<Real>& grid) :  KernelBase(&grid,0) ,grid(grid) ,sum(0)  { runMessage(); run(); }   inline void op(IndexInt idx, const Grid<Real>& grid ,double& sum)  {
 	sum += square((double)grid[idx]);
-}    inline operator double () { return sum; } inline double  & getRet() { return sum; }  inline Grid<Real>& getArg0() { return grid; } typedef Grid<Real> type0; void runMessage() { debMsg("Executing kernel GridSumSqr ", 3); debMsg("Kernel range" <<  " x "<<  maxX  << " y "<< maxY  << " z "<< minZ<<" - "<< maxZ  << " "   , 4); }; void run() {   const IndexInt _sz = size; 
+}    inline operator double () { return sum; } inline double  & getRet() { return sum; }  inline const Grid<Real>& getArg0() { return grid; } typedef Grid<Real> type0; void runMessage() { debMsg("Executing kernel GridSumSqr ", 3); debMsg("Kernel range" <<  " x "<<  maxX  << " y "<< maxY  << " z "<< minZ<<" - "<< maxZ  << " "   , 4); }; void run() {   const IndexInt _sz = size; 
 #pragma omp parallel 
  {  double sum = 0; 
 #pragma omp for nowait  
   for (IndexInt i = 0; i < _sz; i++) op(i,grid,sum); 
 #pragma omp critical
-{this->sum += sum; } }   } Grid<Real>& grid;  double sum;  };
+{this->sum += sum; } }   } const Grid<Real>& grid;  double sum;  };
 #line 33 "commonkernels.h"
 
 
diff --git a/intern/mantaflow/intern/manta_pp/omp/conjugategrad.cpp b/intern/mantaflow/intern/manta_pp/omp/conjugategrad.cpp
index f531391157c..354c3af068d 100644
--- a/intern/mantaflow/intern/manta_pp/omp/conjugategrad.cpp
+++ b/intern/mantaflow/intern/manta_pp/omp/conjugategrad.cpp
@@ -16,8 +16,8 @@
  * Copyright 2011 Tobias Pfaff, Nils Thuerey 
  *
  * This program is free software, distributed under the terms of the
- * GNU General Public License (GPL) 
- * http://www.gnu.org/licenses
+ * Apache License, Version 2.0 
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Conjugate gradient solver, for pressure and viscosity
  *
@@ -35,7 +35,7 @@ const int CG_DEBUGLEVEL = 2;
 //  Precondition helpers
 
 //! Preconditioning a la Wavelet Turbulence (needs 4 add. grids)
-void InitPreconditionIncompCholesky(FlagGrid& flags,
+void InitPreconditionIncompCholesky(const FlagGrid& flags,
 				Grid<Real>& A0, Grid<Real>& Ai, Grid<Real>& Aj, Grid<Real>& Ak,
 				Grid<Real>& orgA0, Grid<Real>& orgAi, Grid<Real>& orgAj, Grid<Real>& orgAk) 
 {
@@ -75,7 +75,7 @@ void InitPreconditionIncompCholesky(FlagGrid& flags,
 };
 
 //! Preconditioning using modified IC ala Bridson (needs 1 add. grid)
-void InitPreconditionModifiedIncompCholesky2(FlagGrid& flags,
+void InitPreconditionModifiedIncompCholesky2(const FlagGrid& flags,
 				Grid<Real>&Aprecond, 
 				Grid<Real>&A0, Grid<Real>& Ai, Grid<Real>& Aj, Grid<Real>& Ak) 
 {
@@ -118,7 +118,7 @@ void InitPreconditionMultigrid(GridMg* MG, Grid<Real>&A0, Grid<Real>& Ai, Grid<R
 };
 
 //! Apply WT-style ICP
-void ApplyPreconditionIncompCholesky(Grid<Real>& dst, Grid<Real>& Var1, FlagGrid& flags,
+void ApplyPreconditionIncompCholesky(Grid<Real>& dst, Grid<Real>& Var1, const FlagGrid& flags,
 				Grid<Real>& A0, Grid<Real>& Ai, Grid<Real>& Aj, Grid<Real>& Ak,
 				Grid<Real>& orgA0, Grid<Real>& orgAi, Grid<Real>& orgAj, Grid<Real>& orgAk)
 {
@@ -144,7 +144,7 @@ void ApplyPreconditionIncompCholesky(Grid<Real>& dst, Grid<Real>& Var1, FlagGrid
 }
 
 //! Apply Bridson-style mICP
-void ApplyPreconditionModifiedIncompCholesky2(Grid<Real>& dst, Grid<Real>& Var1, FlagGrid& flags,
+void ApplyPreconditionModifiedIncompCholesky2(Grid<Real>& dst, Grid<Real>& Var1, const FlagGrid& flags,
 				Grid<Real>& Aprecond, 
 				Grid<Real>& A0, Grid<Real>& Ai, Grid<Real>& Aj, Grid<Real>& Ak) 
 {
@@ -201,20 +201,20 @@ void ApplyPreconditionMultigrid(GridMg* pMG, Grid<Real>& dst, Grid<Real>& Var1)
 //! Kernel: compute residual (init) and add to sigma
 
 
- struct InitSigma : public KernelBase { InitSigma(FlagGrid& flags, Grid<Real>& dst, Grid<Real>& rhs, Grid<Real>& temp) :  KernelBase(&flags,0) ,flags(flags),dst(dst),rhs(rhs),temp(temp) ,sigma(0)  { runMessage(); run(); }   inline void op(IndexInt idx, FlagGrid& flags, Grid<Real>& dst, Grid<Real>& rhs, Grid<Real>& temp ,double& sigma)  {    
+ struct InitSigma : public KernelBase { InitSigma(const FlagGrid& flags, Grid<Real>& dst, Grid<Real>& rhs, Grid<Real>& temp) :  KernelBase(&flags,0) ,flags(flags),dst(dst),rhs(rhs),temp(temp) ,sigma(0)  { runMessage(); run(); }   inline void op(IndexInt idx, const FlagGrid& flags, Grid<Real>& dst, Grid<Real>& rhs, Grid<Real>& temp ,double& sigma)  {    
 	const double res = rhs[idx] - temp[idx]; 
 	dst[idx] = (Real)res;
 
 	// only compute residual in fluid region
 	if(flags.isFluid(idx)) 
 		sigma += res*res;
-}    inline operator double () { return sigma; } inline double  & getRet() { return sigma; }  inline FlagGrid& getArg0() { return flags; } typedef FlagGrid type0;inline Grid<Real>& getArg1() { return dst; } typedef Grid<Real> type1;inline Grid<Real>& getArg2() { return rhs; } typedef Grid<Real> type2;inline Grid<Real>& getArg3() { return temp; } typedef Grid<Real> type3; void runMessage() { debMsg("Executing kernel InitSigma ", 3); debMsg("Kernel range" <<  " x "<<  maxX  << " y "<< maxY [...]
+}    inline operator double () { return sigma; } inline double  & getRet() { return sigma; }  inline const FlagGrid& getArg0() { return flags; } typedef FlagGrid type0;inline Grid<Real>& getArg1() { return dst; } typedef Grid<Real> type1;inline Grid<Real>& getArg2() { return rhs; } typedef Grid<Real> type2;inline Grid<Real>& getArg3() { return temp; } typedef Grid<Real> type3; void runMessage() { debMsg("Executing kernel InitSigma ", 3); debMsg("Kernel range" <<  " x "<<  maxX  << " y "< [...]
 #pragma omp parallel 
  {  double sigma = 0; 
 #pragma omp for nowait  
   for (IndexInt i = 0; i < _sz; i++) op(i,flags,dst,rhs,temp,sigma); 
 #pragma omp critical
-{this->sigma += sigma; } }   } FlagGrid& flags; Grid<Real>& dst; Grid<Real>& rhs; Grid<Real>& temp;  double sigma;  };
+{this->sigma += sigma; } }   } const FlagGrid& flags; Grid<Real>& dst; Grid<Real>& rhs; Grid<Real>& temp;  double sigma;  };
 #line 183 "conjugategrad.cpp"
 
 ;
@@ -236,7 +236,7 @@ void ApplyPreconditionMultigrid(GridMg* pMG, Grid<Real>& dst, Grid<Real>& Var1)
 //  CG class
 
 template<class APPLYMAT>
-GridCg<APPLYMAT>::GridCg(Grid<Real>& dst, Grid<Real>& rhs, Grid<Real>& residual, Grid<Real>& search, FlagGrid& flags, Grid<Real>& tmp, 
+GridCg<APPLYMAT>::GridCg(Grid<Real>& dst, Grid<Real>& rhs, Grid<Real>& residual, Grid<Real>& search, const FlagGrid& flags, Grid<Real>& tmp,
 			   Grid<Real>* pA0, Grid<Real>* pAi, Grid<Real>* pAj, Grid<Real>* pAk) :
 	GridCgInterfac

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list