Subversion Repositories AndroidProjects

Rev

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