Subversion Repositories AndroidProjects

Rev

Rev 1800 | Rev 1816 | 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();
1808 chris 29
        private Matrix4 mGlobalBindPose = Matrix4.createIdentity();
1723 chris 30
 
1778 chris 31
        public Transform transform = new Transform();
1800 chris 32
    public Transform bindPose = new Transform();
1774 chris 33
 
1720 chris 34
    // Methods==========================================================================================
35
 
1751 chris 36
    public ModelNode(String name, int parentIndex)
1720 chris 37
    {
38
        mName = name;
1751 chris 39
        mParentIndex = parentIndex;
1720 chris 40
    }
41
 
1767 chris 42
        /*
1720 chris 43
    public void render()
44
    {
1723 chris 45
        Engine.graphics.renderStates.pushModelMatrix();
1751 chris 46
        Engine.graphics.renderStates.model.preMultiply(mLocalTransform);
1723 chris 47
 
1739 chris 48
        //Engine.graphics.getPrimitiveShader().activate(new Vector4(0, 0, 1, 1));
1723 chris 49
 
1720 chris 50
        if (parts != null)
51
        {
52
            for (ModelPart part : parts)
53
            {
54
                part.render();
55
            }
56
        }
1723 chris 57
 
1739 chris 58
        //Engine.graphics.getPrimitiveShader().deactivate();
1723 chris 59
 
60
        Engine.graphics.renderStates.popModelMatrix();
1767 chris 61
    }*/
1720 chris 62
 
1778 chris 63
        /*public Matrix4 calcLocalTransform()
1774 chris 64
        {
65
                Matrix4 local = Matrix4.createIdentity();
66
                if (mScale != null)
67
                        local.multiply(Matrix4.createScale(mScale));
68
                if (mRotation != null)
69
                        local.multiply(mRotation.toMatrix());
70
                if (mTranslation != null)
71
                        local.multiply(Matrix4.createTranslation(mTranslation));
72
                return local;
1778 chris 73
        }*/
1774 chris 74
 
1720 chris 75
    // Getters/Setters==================================================================================
76
 
77
    public final String getName() { return mName; }
78
 
1774 chris 79
    /*public final Matrix4 getLocalTransform() { return mLocalTransform; }
80
    public final void setLocalTransform(Matrix4 transform) { mLocalTransform = transform; }*/
1778 chris 81
        /*public final Vector3 getTranslation() { return mTranslation; }
1774 chris 82
        public final void setTranslation(Vector3 v) { mTranslation = v; }
1751 chris 83
 
1774 chris 84
        public final Quaternion getRotation() { return mRotation; }
85
        public final void setRotation(Quaternion q) { mRotation = q; }
86
 
87
        public final Vector3 getScale() { return mScale; }
1778 chris 88
        public final void setScale(Vector3 v) { mScale = v; }*/
1774 chris 89
 
1752 chris 90
    public final Matrix4 getGlobalTransform() { return mGlobalTransform; }
91
    public final void setGlobalTransform(Matrix4 transform) { mGlobalTransform = transform; }
92
 
1808 chris 93
        public final Matrix4 getGlobalBindPose() { return mGlobalBindPose; }
94
        public final void setGlobalBindPose(Matrix4 transform) { mGlobalBindPose = transform; }
1780 chris 95
 
1808 chris 96
        public final int getParentIndex() { return mParentIndex; }
97
 
1720 chris 98
}