front_processing/src/Fluid_manipulation/vbuffer.pde
author bastiena
Thu, 12 Apr 2012 13:09:46 +0200
changeset 27 6c08d4d7219e
parent 10 925b7ee746e3
permissions -rw-r--r--
Middleware : GPL License added. Front Processing : GPL License added. Front IDILL : extern altered to send TUIO cursors from Middleware to Front. implemented as a plugin.

/*
* This file is part of the TraKERS\Front Processing package.
*
* (c) IRI <http://www.iri.centrepompidou.fr/>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/

class vbuffer
{
    int x;
    int y;
    float xvel;
    float yvel;
    float pressurex = 0;
    float pressurey = 0;
    float pressure = 0;

    vbuffer(int xIn,int yIn)
    {
        x = xIn;
        y = yIn;
        pressurex = 0;
        pressurey = 0;
    }

    void updatebuf(int i, int u)
    {
        if(i>0 && i<lwidth && u>0 && u<lheight)
        {
            pressurex = (v[i-1][u-1].xvel*0.5 + v[i-1][u].xvel + v[i-1][u+1].xvel*0.5 - v[i+1][u-1].xvel*0.5 - v[i+1][u].xvel - v[i+1][u+1].xvel*0.5);
            pressurey = (v[i-1][u-1].yvel*0.5 + v[i][u-1].yvel + v[i+1][u-1].yvel*0.5 - v[i-1][u+1].yvel*0.5 - v[i][u+1].yvel - v[i+1][u+1].yvel*0.5);
            pressure = (pressurex + pressurey)*0.25;
        }
    }
}