Helper tool to access and edit [Mesh] data.
The MeshDataTool provides access to individual vertices in a [Mesh]. It allows users to read and edit vertex data of meshes. It also creates an array of faces and edges.
To use the MeshDataTool, load a mesh with [method create_from_surface]. When you are finished editing the data commit the data to a mesh with [method commit_to_surface].
Below is an example of how the MeshDataTool may be used.
[codeblock]
var mdt = MeshDataTool.new()
mdt.create_from_surface(mesh, 0)
for i in range(mdt.get_vertex_count()):
var vertex = mdt.get_vertex(i)
...
mdt.set_vertex(i, vertex)
mesh.surface_remove(0)
mdt.commit_to_surface(mesh)
[/codeblock]
Clears all data currently in MeshDataTool.
Adds a new surface to specified [Mesh] with edited data.
Uses specified surface of given [Mesh] to populate data for MeshDataTool.
Requires [Mesh] with primitive type [constant Mesh.PRIMITIVE_TRIANGLES].
Returns the number of edges in this [Mesh].
Returns array of faces that touch given edge.
Returns meta information assigned to given edge.
Returns index of specified vertex connected to given edge.
Vertex argument can only be 0 or 1 because edges are comprised of two vertices.
Returns the number of faces in this [Mesh].
Returns specified edge associated with given face.
Edge argument must 2 or less because a face only has three edges.
Returns meta data associated with given face.
Calculates and returns face normal of given face.
Returns specified vertex of given face.
Vertex argument must be 2 or less because faces contain three vertices.
Returns format of [Mesh]. Format is an integer made up of [Mesh] format flags combined together. For example, a mesh containing both vertices and normals would return a format of [code]3[/code] because [constant ArrayMesh.ARRAY_FORMAT_VERTEX] is [code]1[/code] and [constant ArrayMesh.ARRAY_FORMAT_NORMAL] is [code]2[/code].
For list of format flags see [enum ArrayMesh.ArrayFormat].
Returns material assigned to the [Mesh].
Returns the vertex at given index.
Returns the bones of the given vertex.
Returns the color of the given vertex.
Returns the total number of vertices in [Mesh].
Returns array of edges that share given vertex.
Returns array of faces that share given vertex.
Returns meta data associated with given vertex.
Returns normal of given vertex.
Returns tangent of given vertex.
Returns UV of given vertex.
Returns UV2 of given vertex.
Returns bone weights of given vertex.
Sets the meta data of given edge.
Sets the meta data of given face.
Sets the material to be used by newly constructed [Mesh].
Sets the position of given vertex.
Sets the bones of given vertex.
Sets the color of given vertex.
Sets the meta data associated with given vertex.
Sets the normal of given vertex.
Sets the tangent of given vertex.
Sets the UV of given vertex.
Sets the UV2 of given vertex.
Sets the bone weights of given vertex.