<?xml version="1.0" encoding="UTF-8" ?>
<class name="CubeMesh" inherits="PrimitiveMesh" version="3.2">
	<brief_description>
		Generate an axis-aligned cuboid [PrimitiveMesh].
	</brief_description>
	<description>
		Generate an axis-aligned cuboid [PrimitiveMesh].
		The cube's UV layout is arranged in a 3×2 layout that allows texturing each face individually. To apply the same texture on all faces, change the material's UV property to [code]Vector3(3, 2, 1)[/code].
		[b]Note:[/b] When using a large textured [CubeMesh] (e.g. as a floor), you may stumble upon UV jittering issues depending on the camera angle. To solve this, increase [member subdivide_depth], [member subdivide_height] and [member subdivide_width] until you no longer notice UV jittering.
	</description>
	<tutorials>
	</tutorials>
	<methods>
	</methods>
	<members>
		<member name="size" type="Vector3" setter="set_size" getter="get_size" default="Vector3( 2, 2, 2 )">
			Size of the cuboid mesh.
		</member>
		<member name="subdivide_depth" type="int" setter="set_subdivide_depth" getter="get_subdivide_depth" default="0">
			Number of extra edge loops inserted along the Z axis.
		</member>
		<member name="subdivide_height" type="int" setter="set_subdivide_height" getter="get_subdivide_height" default="0">
			Number of extra edge loops inserted along the Y axis.
		</member>
		<member name="subdivide_width" type="int" setter="set_subdivide_width" getter="get_subdivide_width" default="0">
			Number of extra edge loops inserted along the X axis.
		</member>
	</members>
	<constants>
	</constants>
</class>
