Subversion Repositories AndroidProjects

Rev

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