front_processing/src/Fluid_manipulation/vbuffer.pde
author bastiena
Mon, 24 Sep 2012 15:20:10 +0200
changeset 124 d2b4682dc9cc
parent 27 6c08d4d7219e
permissions -rw-r--r--
Étiquette V00.17 ajoutée à la révision 57a65edde708
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10
925b7ee746e3 Front Processing :
bastiena
parents: 9
diff changeset
     1
/*
8
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     2
* This file is part of the TraKERS\Front Processing package.
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     3
*
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     4
* (c) IRI <http://www.iri.centrepompidou.fr/>
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     5
*
27
6c08d4d7219e Middleware :
bastiena
parents: 10
diff changeset
     6
* For the full copyright and license information, please view the LICENSE
8
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     7
* file that was distributed with this source code.
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     8
*/
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
     9
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    10
class vbuffer
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    11
{
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    12
    int x;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    13
    int y;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    14
    float xvel;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    15
    float yvel;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    16
    float pressurex = 0;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    17
    float pressurey = 0;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    18
    float pressure = 0;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    19
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    20
    vbuffer(int xIn,int yIn)
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    21
    {
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    22
        x = xIn;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    23
        y = yIn;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    24
        pressurex = 0;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    25
        pressurey = 0;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    26
    }
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    27
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    28
    void updatebuf(int i, int u)
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    29
    {
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    30
        if(i>0 && i<lwidth && u>0 && u<lheight)
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    31
        {
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    32
            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);
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    33
            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);
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    34
            pressure = (pressurex + pressurey)*0.25;
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    35
        }
e4e7db2435f8 Processing:
bastiena
parents:
diff changeset
    36
    }
9
0f44b7360c8d Installer updated
bastiena
parents: 8
diff changeset
    37
}