package fr.lyrgard.hexScape.model.model3d;
import java.util.ArrayList;
import java.util.List;
import com.jme3.material.Material;
import com.jme3.scene.Geometry;
import com.jme3.scene.Mesh;
import com.jme3.scene.Node;
import com.jme3.scene.Spatial;
public class AseExternalModel implements ExternalModel {
private List<MeshMaterialPair> meshMaterialPairs = new ArrayList<>();
private String name;
public static class MeshMaterialPair {
private Mesh mesh;
private Material mat;
public MeshMaterialPair(Mesh mesh, Material mat) {
super();
this.mesh = mesh;
this.mat = mat;
}
public Mesh getMesh() {
return mesh;
}
public Material getMat() {
return mat;
}
}
public Spatial getNewInstance() {
Node node = new Node(name);
int i = 0;
for (MeshMaterialPair pair : meshMaterialPairs) {
Geometry geometry = new Geometry(name + i , pair.getMesh());
geometry.setMaterial(pair.getMat());
node.attachChild(geometry);
i++;
}
return node;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<MeshMaterialPair> getMeshMaterialPairs() {
return meshMaterialPairs;
}
}