<?xml version="1.0" encoding="UTF-8" ?>
<class name="NavigationMeshSourceGeometryData3D" inherits="Resource" version="4.2">
	<brief_description>
		Contains parsed source geometry data for use in [NavigationMesh] baking with the [NavigationMeshGenerator].
	</brief_description>
	<description>
		Contains parsed source geometry data for use in [NavigationMesh] baking with the [NavigationMeshGenerator].
	</description>
	<tutorials>
	</tutorials>
	<methods>
		<method name="add_faces">
			<return type="void" />
			<argument index="0" name="faces" type="PoolVector3Array" />
			<argument index="1" name="xform" type="Transform" />
			<description>
				Adds an array of vertex positions to the geometry data for navigation mesh baking to form triangulated faces. For each face the array must have three vertex positions in clockwise winding order. Since [NavigationMesh] resource have no transform all vertex positions need to be offset by the node's transform using the [code]xform[/code] parameter.
			</description>
		</method>
		<method name="add_mesh">
			<return type="void" />
			<argument index="0" name="mesh" type="Mesh" />
			<argument index="1" name="xform" type="Transform" />
			<description>
				Adds the geometry data of a [Mesh] resource to the navigation mesh baking data. The mesh must have valid triangulated mesh data to be considered. Since [NavigationMesh] resource have no transform all vertex positions need to be offset by the node's transform using the [code]xform[/code] parameter.
			</description>
		</method>
		<method name="add_mesh_array">
			<return type="void" />
			<argument index="0" name="mesh_array" type="Array" />
			<argument index="1" name="xform" type="Transform" />
			<description>
				Adds an [Array] the size of [constant Mesh.ARRAY_MAX] and with vertices at index [constant Mesh.ARRAY_VERTEX] and indices at index [constant Mesh.ARRAY_INDEX] to the navigation mesh baking data. The array must have valid triangulated mesh data to be considered. Since [NavigationMesh] resource have no transform all vertex positions need to be offset by the node's transform using the [code]xform[/code] parameter.
			</description>
		</method>
		<method name="clear">
			<return type="void" />
			<description>
				Clears the internal data.
			</description>
		</method>
		<method name="get_indices" qualifiers="const">
			<return type="PoolIntArray" />
			<description>
				Returns the parsed source geometry data indices array.
			</description>
		</method>
		<method name="get_vertices" qualifiers="const">
			<return type="PoolRealArray" />
			<description>
				Returns the parsed source geometry data vertices array.
			</description>
		</method>
		<method name="has_data">
			<return type="bool" />
			<description>
				Returns [b]true[/b] when parsed source geometry data exists.
			</description>
		</method>
		<method name="set_indices">
			<return type="void" />
			<argument index="0" name="indices" type="PoolIntArray" />
			<description>
				Sets the parsed source geometry data indices. The indices need to be matched with appropriated vertices.
				[b]Warning:[/b] Inappropriate data can crash the baking process of the involved third-party libraries.
			</description>
		</method>
		<method name="set_vertices">
			<return type="void" />
			<argument index="0" name="vertices" type="PoolRealArray" />
			<description>
				Sets the parsed source geometry data vertices. The vertices need to be matched with appropriated indices.
				[b]Warning:[/b] Inappropriate data can crash the baking process of the involved third-party libraries.
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
