MeshDataTool

Inherits: Reference < Object

Category: Core

Brief Description

Helper tool to access and edit Mesh data.

Methods

voidclear ( )
Errorcommit_to_surface ( ArrayMesh mesh )
Errorcreate_from_surface ( ArrayMesh mesh, int surface )
intget_edge_count ( ) const
PoolIntArrayget_edge_faces ( int idx ) const
Variantget_edge_meta ( int idx ) const
intget_edge_vertex ( int idx, int vertex ) const
intget_face_count ( ) const
intget_face_edge ( int idx, int edge ) const
Variantget_face_meta ( int idx ) const
Vector3get_face_normal ( int idx ) const
intget_face_vertex ( int idx, int vertex ) const
intget_format ( ) const
Materialget_material ( ) const
Vector3get_vertex ( int idx ) const
PoolIntArrayget_vertex_bones ( int idx ) const
Colorget_vertex_color ( int idx ) const
intget_vertex_count ( ) const
PoolIntArrayget_vertex_edges ( int idx ) const
PoolIntArrayget_vertex_faces ( int idx ) const
Variantget_vertex_meta ( int idx ) const
Vector3get_vertex_normal ( int idx ) const
Planeget_vertex_tangent ( int idx ) const
Vector2get_vertex_uv ( int idx ) const
Vector2get_vertex_uv2 ( int idx ) const
PoolRealArrayget_vertex_weights ( int idx ) const
voidset_edge_meta ( int idx, Variant meta )
voidset_face_meta ( int idx, Variant meta )
voidset_material ( Material material )
voidset_vertex ( int idx, Vector3 vertex )
voidset_vertex_bones ( int idx, PoolIntArray bones )
voidset_vertex_color ( int idx, Color color )
voidset_vertex_meta ( int idx, Variant meta )
voidset_vertex_normal ( int idx, Vector3 normal )
voidset_vertex_tangent ( int idx, Plane tangent )
voidset_vertex_uv ( int idx, Vector2 uv )
voidset_vertex_uv2 ( int idx, Vector2 uv2 )
voidset_vertex_weights ( int idx, PoolRealArray weights )

Description

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 create_from_surface. When you are finished editing the data commit the data to a mesh with commit_to_surface.

Below is an example of how the MeshDataTool may be used.

  1. var mdt = MeshDataTool.new()
  2. mdt.create_from_surface(mesh, 0)
  3. for i in range(mdt.get_vertex_count()):
  4. var vertex = mdt.get_vertex(i)
  5. ...
  6. mdt.set_vertex(i, vertex)
  7. mesh.surface_remove(0)
  8. mdt.commit_to_surface(mesh)

Method Descriptions

  • void clear ( )

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 Mesh.PRIMITIVE_TRIANGLES.


  • int get_edge_count ( ) const

Returns the number of edges in this Mesh.


Returns array of faces that touch given edge.


Returns meta information assigned to given edge.


  • int get_edge_vertex ( int idx, int vertex ) const

Returns index of specified vertex connected to given edge.

Vertex argument can only be 0 or 1 because edges are comprised of two vertices.


  • int get_face_count ( ) const

Returns the number of faces in this Mesh.


  • int get_face_edge ( int idx, int edge ) const

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.


  • int get_face_vertex ( int idx, int vertex ) const

Returns specified vertex of given face.

Vertex argument must be 2 or less because faces contain three vertices.


  • int get_format ( ) const

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 3 because ArrayMesh.ARRAY_FORMAT_VERTEX is 1 and ArrayMesh.ARRAY_FORMAT_NORMAL is 2.

For list of format flags see ArrayFormat.


Returns material assigned to the Mesh.


Returns the vertex at given index.


Returns the bones of the given vertex.


  • Color get_vertex_color ( int idx ) const

Returns the color of the given vertex.


  • int get_vertex_count ( ) const

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.


  • Plane get_vertex_tangent ( int idx ) const

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.


  • void set_material ( Material material )

Sets the material to be used by newly constructed Mesh.


Sets the position of given vertex.


Sets the bones of given vertex.


  • void set_vertex_color ( int idx, Color color )

Sets the color of given vertex.


Sets the meta data associated with given vertex.


  • void set_vertex_normal ( int idx, Vector3 normal )

Sets the normal of given vertex.


  • void set_vertex_tangent ( int idx, Plane tangent )

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.