Subversion Repositories AndroidProjects

Rev

Rev 1780 | Rev 1808 | 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;
1778 chris 4
import com.gebauz.bauzoid2.graphics.util.Transform;
1723 chris 5
import com.gebauz.bauzoid2.math.Matrix4;
1774 chris 6
import com.gebauz.bauzoid2.math.Quaternion;
7
import com.gebauz.bauzoid2.math.Vector3;
1767 chris 8
import com.gebauz.bauzoid2.math.Vector4;
1723 chris 9
 
1720 chris 10
/**
11
 * Created by chris on 14.12.2014.
12
 */
13
public class ModelNode
14
{
15
    // Constants========================================================================================
16
 
17
    // Embedded Types===================================================================================
18
 
19
    // Fields===========================================================================================
20
 
21
    private String mName = null;
22
 
1751 chris 23
    private int mParentIndex = -1;
24
 
1720 chris 25
    public ModelPart[] parts = null;
26
 
1751 chris 27
    private Matrix4 mGlobalTransform = Matrix4.createIdentity();
1774 chris 28
    //private Matrix4 mLocalTransform = Matrix4.createIdentity();
1723 chris 29
 
1778 chris 30
        public Transform transform = new Transform();
1800 chris 31
    public Transform bindPose = new Transform();
1774 chris 32
 
1720 chris 33
    // Methods==========================================================================================
34
 
1751 chris 35
    public ModelNode(String name, int parentIndex)
1720 chris 36
    {
37
        mName = name;
1751 chris 38
        mParentIndex = parentIndex;
1720 chris 39
    }
40
 
1767 chris 41
        /*
1720 chris 42
    public void render()
43
    {
1723 chris 44
        Engine.graphics.renderStates.pushModelMatrix();
1751 chris 45
        Engine.graphics.renderStates.model.preMultiply(mLocalTransform);
1723 chris 46
 
1739 chris 47
        //Engine.graphics.getPrimitiveShader().activate(new Vector4(0, 0, 1, 1));
1723 chris 48
 
1720 chris 49
        if (parts != null)
50
        {
51
            for (ModelPart part : parts)
52
            {
53
                part.render();
54
            }
55
        }
1723 chris 56
 
1739 chris 57
        //Engine.graphics.getPrimitiveShader().deactivate();
1723 chris 58
 
59
        Engine.graphics.renderStates.popModelMatrix();
1767 chris 60
    }*/
1720 chris 61
 
1778 chris 62
        /*public Matrix4 calcLocalTransform()
1774 chris 63
        {
64
                Matrix4 local = Matrix4.createIdentity();
65
                if (mScale != null)
66
                        local.multiply(Matrix4.createScale(mScale));
67
                if (mRotation != null)
68
                        local.multiply(mRotation.toMatrix());
69
                if (mTranslation != null)
70
                        local.multiply(Matrix4.createTranslation(mTranslation));
71
                return local;
1778 chris 72
        }*/
1774 chris 73
 
1720 chris 74
    // Getters/Setters==================================================================================
75
 
76
    public final String getName() { return mName; }
77
 
1774 chris 78
    /*public final Matrix4 getLocalTransform() { return mLocalTransform; }
79
    public final void setLocalTransform(Matrix4 transform) { mLocalTransform = transform; }*/
1778 chris 80
        /*public final Vector3 getTranslation() { return mTranslation; }
1774 chris 81
        public final void setTranslation(Vector3 v) { mTranslation = v; }
1751 chris 82
 
1774 chris 83
        public final Quaternion getRotation() { return mRotation; }
84
        public final void setRotation(Quaternion q) { mRotation = q; }
85
 
86
        public final Vector3 getScale() { return mScale; }
1778 chris 87
        public final void setScale(Vector3 v) { mScale = v; }*/
1774 chris 88
 
1752 chris 89
    public final Matrix4 getGlobalTransform() { return mGlobalTransform; }
90
    public final void setGlobalTransform(Matrix4 transform) { mGlobalTransform = transform; }
91
 
1751 chris 92
    public final int getParentIndex() { return mParentIndex; }
1780 chris 93
 
1720 chris 94
}