aboutsummaryrefslogtreecommitdiff
path: root/engine/src/blender/com/jme3/scene/plugins/blender/meshes/MeshContext.java
diff options
context:
space:
mode:
Diffstat (limited to 'engine/src/blender/com/jme3/scene/plugins/blender/meshes/MeshContext.java')
-rw-r--r--engine/src/blender/com/jme3/scene/plugins/blender/meshes/MeshContext.java105
1 files changed, 105 insertions, 0 deletions
diff --git a/engine/src/blender/com/jme3/scene/plugins/blender/meshes/MeshContext.java b/engine/src/blender/com/jme3/scene/plugins/blender/meshes/MeshContext.java
new file mode 100644
index 0000000..de43db7
--- /dev/null
+++ b/engine/src/blender/com/jme3/scene/plugins/blender/meshes/MeshContext.java
@@ -0,0 +1,105 @@
+package com.jme3.scene.plugins.blender.meshes;
+
+import com.jme3.math.Vector3f;
+import com.jme3.scene.Geometry;
+import com.jme3.scene.VertexBuffer;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Class that holds information about the mesh.
+ *
+ * @author Marcin Roguski (Kaelthas)
+ */
+public class MeshContext {
+ /** The mesh stored here as a list of geometries. */
+ private List<Geometry> mesh;
+ /** Vertex list that is referenced by all the geometries. */
+ private List<Vector3f> vertexList;
+ /** The vertex reference map. */
+ private Map<Integer, List<Integer>> vertexReferenceMap;
+ /** The UV-coordinates for each of the geometries. */
+ private Map<Geometry, VertexBuffer> uvCoordinates = new HashMap<Geometry, VertexBuffer>();
+
+ /**
+ * This method returns the referenced mesh.
+ *
+ * @return the referenced mesh
+ */
+ public List<Geometry> getMesh() {
+ return mesh;
+ }
+
+ /**
+ * This method sets the referenced mesh.
+ *
+ * @param mesh
+ * the referenced mesh
+ */
+ public void setMesh(List<Geometry> mesh) {
+ this.mesh = mesh;
+ }
+
+ /**
+ * This method returns the vertex list.
+ *
+ * @return the vertex list
+ */
+ public List<Vector3f> getVertexList() {
+ return vertexList;
+ }
+
+ /**
+ * This method sets the vertex list.
+ *
+ * @param vertexList
+ * the vertex list
+ */
+ public void setVertexList(List<Vector3f> vertexList) {
+ this.vertexList = vertexList;
+ }
+
+ /**
+ * This method returns the vertex reference map.
+ *
+ * @return the vertex reference map
+ */
+ public Map<Integer, List<Integer>> getVertexReferenceMap() {
+ return vertexReferenceMap;
+ }
+
+ /**
+ * This method sets the vertex reference map.
+ *
+ * @param vertexReferenceMap
+ * the vertex reference map
+ */
+ public void setVertexReferenceMap(
+ Map<Integer, List<Integer>> vertexReferenceMap) {
+ this.vertexReferenceMap = vertexReferenceMap;
+ }
+
+ /**
+ * This method adds the mesh's UV-coordinates.
+ *
+ * @param geometry
+ * the mesh that has the UV-coordinates
+ * @param vertexBuffer
+ * the mesh's UV-coordinates
+ */
+ public void addUVCoordinates(Geometry geometry, VertexBuffer vertexBuffer) {
+ uvCoordinates.put(geometry, vertexBuffer);
+ }
+
+ /**
+ * This method returns the mesh's UV-coordinates.
+ *
+ * @param geometry
+ * the mesh
+ * @return the mesh's UV-coordinates
+ */
+ public VertexBuffer getUVCoordinates(Geometry geometry) {
+ return uvCoordinates.get(geometry);
+ }
+}