godot/doc/classes/MeshDataTool.xml

395 lines
11 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<class name="MeshDataTool" inherits="Reference" category="Core" version="3.1">
<brief_description>
Helper tool to access and edit [Mesh] data.
</brief_description>
<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 [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]
</description>
<tutorials>
</tutorials>
<demos>
</demos>
<methods>
<method name="clear">
<return type="void">
</return>
<description>
Clears all data currently in MeshDataTool.
</description>
</method>
<method name="commit_to_surface">
<return type="int" enum="Error">
</return>
<argument index="0" name="mesh" type="ArrayMesh">
</argument>
<description>
Adds a new surface to specified [Mesh] with edited data.
</description>
</method>
<method name="create_from_surface">
<return type="int" enum="Error">
</return>
<argument index="0" name="mesh" type="ArrayMesh">
</argument>
<argument index="1" name="surface" type="int">
</argument>
<description>
Uses specified surface of given [Mesh] to populate data for MeshDataTool.
Requires [Mesh] with primitive type [code]PRIMITIVE_TRIANGLES[/code].
</description>
</method>
<method name="get_edge_count" qualifiers="const">
<return type="int">
</return>
<description>
Returns the number of edges in this [Mesh].
</description>
</method>
<method name="get_edge_faces" qualifiers="const">
<return type="PoolIntArray">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns array of faces that touch given edge.
</description>
</method>
<method name="get_edge_meta" qualifiers="const">
<return type="Variant">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns meta information assigned to given edge.
</description>
</method>
<method name="get_edge_vertex" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="vertex" type="int">
</argument>
<description>
Returns index of specified vertex connected to given edge.
Vertex argument can only be 0 or 1 because edges are comprised of two vertices.
</description>
</method>
<method name="get_face_count" qualifiers="const">
<return type="int">
</return>
<description>
Returns the number of faces in this [Mesh].
</description>
</method>
<method name="get_face_edge" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="edge" type="int">
</argument>
<description>
Returns specified edge associated with given face.
Edge argument must 2 or less becuase a face only has three edges.
</description>
</method>
<method name="get_face_meta" qualifiers="const">
<return type="Variant">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns meta data associated with given face.
</description>
</method>
<method name="get_face_normal" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Calculates and returns face normal of given face.
</description>
</method>
<method name="get_face_vertex" qualifiers="const">
<return type="int">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="vertex" type="int">
</argument>
<description>
Returns specified vertex of given face.
Vertex argument must be 2 or less becuase faces contain three vertices.
</description>
</method>
<method name="get_format" qualifiers="const">
<return type="int">
</return>
<description>
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] becuase [code]ARRAY_FORMAT_VERTEX[/code] is [code]1[/code] and [code]ARRAY_FORMAT_NORMAL[/code] is [code]2[/code].
For list of format flags see [ArrayMesh].
</description>
</method>
<method name="get_material" qualifiers="const">
<return type="Material">
</return>
<description>
Returns material assigned to the [Mesh].
</description>
</method>
<method name="get_vertex" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns the vertex at given index.
</description>
</method>
<method name="get_vertex_bones" qualifiers="const">
<return type="PoolIntArray">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns the bones of the given vertex.
</description>
</method>
<method name="get_vertex_color" qualifiers="const">
<return type="Color">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns the color of the given vertex.
</description>
</method>
<method name="get_vertex_count" qualifiers="const">
<return type="int">
</return>
<description>
Returns the total number of vertices in [Mesh].
</description>
</method>
<method name="get_vertex_edges" qualifiers="const">
<return type="PoolIntArray">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns array of edges that share given vertex.
</description>
</method>
<method name="get_vertex_faces" qualifiers="const">
<return type="PoolIntArray">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns array of faces that share given vertex.
</description>
</method>
<method name="get_vertex_meta" qualifiers="const">
<return type="Variant">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns meta data associated with given vertex.
</description>
</method>
<method name="get_vertex_normal" qualifiers="const">
<return type="Vector3">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns normal of given vertex.
</description>
</method>
<method name="get_vertex_tangent" qualifiers="const">
<return type="Plane">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns tangent of given vertex.
</description>
</method>
<method name="get_vertex_uv" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns UV of given vertex.
</description>
</method>
<method name="get_vertex_uv2" qualifiers="const">
<return type="Vector2">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns UV2 of given vertex.
</description>
</method>
<method name="get_vertex_weights" qualifiers="const">
<return type="PoolRealArray">
</return>
<argument index="0" name="idx" type="int">
</argument>
<description>
Returns bone weights of given vertex.
</description>
</method>
<method name="set_edge_meta">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="meta" type="Variant">
</argument>
<description>
Sets the meta data of given edge.
</description>
</method>
<method name="set_face_meta">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="meta" type="Variant">
</argument>
<description>
Sets the meta data of given face.
</description>
</method>
<method name="set_material">
<return type="void">
</return>
<argument index="0" name="material" type="Material">
</argument>
<description>
Sets the material to be used by newly constructed [Mesh].
</description>
</method>
<method name="set_vertex">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="vertex" type="Vector3">
</argument>
<description>
Sets the position of given vertex.
</description>
</method>
<method name="set_vertex_bones">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="bones" type="PoolIntArray">
</argument>
<description>
Sets the bones of given vertex.
</description>
</method>
<method name="set_vertex_color">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="color" type="Color">
</argument>
<description>
Sets the color of given vertex.
</description>
</method>
<method name="set_vertex_meta">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="meta" type="Variant">
</argument>
<description>
Sets the meta data associated with given vertex.
</description>
</method>
<method name="set_vertex_normal">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="normal" type="Vector3">
</argument>
<description>
Sets the normal of given vertex.
</description>
</method>
<method name="set_vertex_tangent">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="tangent" type="Plane">
</argument>
<description>
Sets the tangent of given vertex.
</description>
</method>
<method name="set_vertex_uv">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="uv" type="Vector2">
</argument>
<description>
Sets the UV of given vertex.
</description>
</method>
<method name="set_vertex_uv2">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="uv2" type="Vector2">
</argument>
<description>
Sets the UV2 of given vertex.
</description>
</method>
<method name="set_vertex_weights">
<return type="void">
</return>
<argument index="0" name="idx" type="int">
</argument>
<argument index="1" name="weights" type="PoolRealArray">
</argument>
<description>
Sets the bone weights of given vertex.
</description>
</method>
</methods>
<constants>
</constants>
</class>