Normand Briere
2019-09-04 c8bb659043bfa0ccf9436d7cbbc49255b4c82402
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
 
/**
 *
 * @author nbriere
 */
import com.jme.math.Vector3f;
import com.jme.renderer.ColorRGBA;
 
public class FloatBuffer implements java.io.Serializable
{
    float[] buffer;
    
    FloatBuffer(int size)
    {
        buffer = new float[size];
    }
    
    static FloatBuffer allocate(int size)
    {
        return new FloatBuffer(size);
    }
    
    int limit()
    {
        return buffer.length;
    }
    
    int capacity()
    {
        return buffer.length;
    }
 
    float get(int i)
    {
        return buffer[i];
    }
    
    void get(int i, Vector3f p)
    {
        p.x = buffer[i*3];
        p.y = buffer[i*3+1];
        p.z = buffer[i*3+2];
    }
    
    void set(int i, Vector3f p)
    {
        buffer[i*3] = p.x;
        buffer[i*3+1] = p.y;
        buffer[i*3+2] = p.z;
    }
    
    void get(int i, ColorRGBA c)
    {
        c.r = buffer[i*4];
        c.g = buffer[i*4+1];
        c.b = buffer[i*4+2];
        c.a = buffer[i*4+3];
    }
    
    void set(int i, ColorRGBA c)
    {
        buffer[i*4] = c.r;
        buffer[i*4+1] = c.g;
        buffer[i*4+2] = c.b;
        buffer[i*4+3] = c.a;
    }    
}