com.supermap.data
类 Mesh
- java.lang.Object
-
- com.supermap.data.InternalHandle
-
- com.supermap.data.InternalHandleDisposable
-
- com.supermap.data.Mesh
-
- 所有已实现的接口:
- IDisposable
public class Mesh extends com.supermap.data.InternalHandleDisposable
网格面类。该类主要用来返回或设置网格面对应的材质、顶点数组、纹理坐标数组、顶点索引数组、颜色集合、向量集合。
- 示范代码:
- 以下代码示范了如何初始化 Mesh。
public void TestMesh() { //构造 Mesh 对象 mesh Mesh mesh = new Mesh(); double[] vertexes = new double[12]; double[] normals = new double[12]; int[] indexes =new int[8]; double[] textureCoords = new double[8]; Colors colors = new Colors(); colors.set(1, Color.RED); colors.set(2, Color.GREEN); colors.set(3, Color.BLACK); colors.set(4, Color.BLUE); //设置顶点坐标,每三个一组,对应坐标系的X、Y、Z数值 vertexes[0] = 0.0; vertexes[1] = 0.0; vertexes[2] = 0.0; vertexes[3] = 36000.0; vertexes[4] = -48000.0; vertexes[5] = 0.0; vertexes[6] = 100000.0; vertexes[7] = 0.0; vertexes[8] = 0.0; vertexes[9] = 64000.0; vertexes[10] = 0.0; vertexes[11] = 48000.0; //设置顶点索引,用于绘制图形时应用 indexes[0] = 0; indexes[1] = 1; indexes[2] = 2; indexes[3] = 0; indexes[4] = 2; indexes[5] = 3; //设置顶点的法向量方向,设置法向量可以突出Mesh的阴影效果,更加逼真。 normals[0] = 0.0; normals[1] = 0.0; normals[2] = 1.0; for (int i = 3; i < 7; i++) { normals[i] = normals[0]; normals[i + 1] = normals[1]; normals[i + 2] = normals[2]; } normals[9] = 0.0; normals[10] = -1.0; normals[11] = 0.0; //设置纹理坐标,用于设置贴图的显示效果 for (int i = 0; i < 8;i += 2 ) { textureCoords[i] = 0.0 + 0.125 * i; textureCoords[i + 1] = textureCoords[i]; } mesh.setVertices(vertexes); mesh.setIndexes(indexes); mesh.setNormals(normals); mesh.setColors(colors); mesh.setTextureCoords(textureCoords); Material material = new Material(); material.setTextureFile("C:/green.jpg"); mesh.setMaterial(material); }
-
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 void
dispose()
释放该对象所占用的资源。Color[]
getColors()
返回网格面颜色集合。int[]
getIndexes()
返回网格面顶点索引数组。Material
getMaterial()
返回网格面对应的材质。double[]
getNormals()
返回网格面顶点的向量集合。double[]
getTextureCoords()
返回网格面纹理坐标数组。double[]
getVertices()
返回网格面顶点数组。void
setColors(Color[] colors)
设置网格面颜色集合。void
setIndexes(int[] indexes)
设置网格面顶点索引数组。void
setMaterial(Material material)
设置网格面对应的材质。void
setNormals(double[] normals)
设置网格面顶点的向量集合。void
setTextureCoords(double[] textureCoords)
设置网格面纹理坐标数组。void
setVertices(double[] vertices)
设置网格面顶点数组。
-
-
-
构造器详细资料
-
Mesh
public Mesh()
构造一个新的 Mesh 对象。
-
Mesh
public Mesh(Mesh mesh)
根据给定的 Mesh 对象构造一个与其完全相同的新对象。- 参数:
mesh
- 指定的 Mesh 对象。
-
-
方法详细资料
-
dispose
public void dispose()
释放该对象所占用的资源。当调用该方法之后,此对象不再可用。
-
getColors
public Color[] getColors()
返回网格面颜色集合。- 返回:
- 网格面颜色集合。
-
setColors
public void setColors(Color[] colors)
设置网格面颜色集合。- 参数:
value
- 网格面颜色集合。
-
getIndexes
public int[] getIndexes()
返回网格面顶点索引数组。- 返回:
- 网格面顶点索引数组。
-
setIndexes
public void setIndexes(int[] indexes)
设置网格面顶点索引数组。参与构成网格面的每个顶点都有一个索引值,通过查找顶点索引值,然后构面可以节省存储空间。
- 参数:
value
- 网格面顶点索引数组。
-
getMaterial
public Material getMaterial()
返回网格面对应的材质。- 返回:
- 网格面对应的材质。
-
setMaterial
public void setMaterial(Material material)
设置网格面对应的材质。- 参数:
material
- 网格面对应的材质。
-
getNormals
public double[] getNormals()
返回网格面顶点的向量集合。- 返回:
- 网格面顶点的向量集合。
-
setNormals
public void setNormals(double[] normals)
设置网格面顶点的向量集合。- 参数:
value
- 网格面顶点的向量集合。
-
getTextureCoords
public double[] getTextureCoords()
返回网格面纹理坐标数组。- 返回:
- 网格面纹理坐标数组。
-
setTextureCoords
public void setTextureCoords(double[] textureCoords)
设置网格面纹理坐标数组。- 参数:
value
- 网格面纹理坐标数组。
-
getVertices
public double[] getVertices()
返回网格面顶点数组。- 返回:
- 网格面顶点数组。
-
setVertices
public void setVertices(double[] vertices)
设置网格面顶点数组。- 参数:
value
- 网格面顶点数组。
-
-
Copyright © 2021–2024 SuperMap. All rights reserved.