package com.gebauz.bauzoid2.graphics.model;
import com.gebauz.bauzoid2.game.Engine;
import com.gebauz.bauzoid2.math.Matrix4;
import com.gebauz.bauzoid2.math.Vector4;
/**
* Created by chris on 14.12.2014.
*/
public class ModelNode
{
// Constants========================================================================================
// Embedded Types===================================================================================
// Fields===========================================================================================
private String mName =
null;
private int mParentIndex = -
1;
public ModelPart
[] parts =
null;
private Matrix4 mGlobalTransform = Matrix4.
createIdentity();
private Matrix4 mLocalTransform = Matrix4.
createIdentity();
// Methods==========================================================================================
public ModelNode
(String name,
int parentIndex
)
{
mName = name
;
mParentIndex = parentIndex
;
}
/*
public void render()
{
Engine.graphics.renderStates.pushModelMatrix();
Engine.graphics.renderStates.model.preMultiply(mLocalTransform);
//Engine.graphics.getPrimitiveShader().activate(new Vector4(0, 0, 1, 1));
if (parts != null)
{
for (ModelPart part : parts)
{
part.render();
}
}
//Engine.graphics.getPrimitiveShader().deactivate();
Engine.graphics.renderStates.popModelMatrix();
}*/
// Getters/Setters==================================================================================
public final String getName
() { return mName
; }
public final Matrix4 getLocalTransform
() { return mLocalTransform
; }
public final void setLocalTransform
(Matrix4 transform
) { mLocalTransform = transform
; }
public final Matrix4 getGlobalTransform
() { return mGlobalTransform
; }
public final void setGlobalTransform
(Matrix4 transform
) { mGlobalTransform = transform
; }
public final int getParentIndex
() { return mParentIndex
; }
}