Subversion Repositories AndroidProjects

Rev

Rev 1751 | Rev 1767 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1720 chris 1
package com.gebauz.bauzoid2.graphics.model;
2
 
1723 chris 3
import com.gebauz.bauzoid2.game.Engine;
4
import com.gebauz.bauzoid2.math.Matrix4;
5
 
1720 chris 6
/**
7
 * Created by chris on 14.12.2014.
8
 */
9
public class ModelNode
10
{
11
    // Constants========================================================================================
12
 
13
    // Embedded Types===================================================================================
14
 
15
    // Fields===========================================================================================
16
 
17
    private String mName = null;
18
 
1751 chris 19
    private int mParentIndex = -1;
20
 
1720 chris 21
    public ModelPart[] parts = null;
22
 
1751 chris 23
    private Matrix4 mGlobalTransform = Matrix4.createIdentity();
24
    private Matrix4 mLocalTransform = Matrix4.createIdentity();
1723 chris 25
 
1720 chris 26
    // Methods==========================================================================================
27
 
1751 chris 28
    public ModelNode(String name, int parentIndex)
1720 chris 29
    {
30
        mName = name;
1751 chris 31
        mParentIndex = parentIndex;
1720 chris 32
    }
33
 
34
    public void render()
35
    {
1723 chris 36
        Engine.graphics.renderStates.pushModelMatrix();
1751 chris 37
        Engine.graphics.renderStates.model.preMultiply(mLocalTransform);
1723 chris 38
 
1739 chris 39
        //Engine.graphics.getPrimitiveShader().activate(new Vector4(0, 0, 1, 1));
1723 chris 40
 
1720 chris 41
        if (parts != null)
42
        {
43
            for (ModelPart part : parts)
44
            {
45
                part.render();
46
            }
47
        }
1723 chris 48
 
1739 chris 49
        //Engine.graphics.getPrimitiveShader().deactivate();
1723 chris 50
 
51
        Engine.graphics.renderStates.popModelMatrix();
1720 chris 52
    }
53
 
54
    // Getters/Setters==================================================================================
55
 
56
    public final String getName() { return mName; }
57
 
1752 chris 58
    public final Matrix4 getLocalTransform() { return mLocalTransform; }
59
    public final void setLocalTransform(Matrix4 transform) { mLocalTransform = transform; }
1751 chris 60
 
1752 chris 61
    public final Matrix4 getGlobalTransform() { return mGlobalTransform; }
62
    public final void setGlobalTransform(Matrix4 transform) { mGlobalTransform = transform; }
63
 
1751 chris 64
    public final int getParentIndex() { return mParentIndex; }
1720 chris 65
}