Browse Source

Merge pull request #49864 from Calinou/cylindermesh-allow-zero-radius

Allow a top and bottom radius equal to 0 in CylinderMesh
Rémi Verschelde 4 years ago
parent
commit
9ace46a7d2
2 changed files with 8 additions and 8 deletions
  1. 5 5
      doc/classes/CylinderMesh.xml
  2. 3 3
      scene/resources/primitive_meshes.cpp

+ 5 - 5
doc/classes/CylinderMesh.xml

@@ -4,7 +4,7 @@
 		Class representing a cylindrical [PrimitiveMesh].
 		Class representing a cylindrical [PrimitiveMesh].
 	</brief_description>
 	</brief_description>
 	<description>
 	<description>
-		Class representing a cylindrical [PrimitiveMesh]. This class can be used to create cones by setting either the [member top_radius] or [member bottom_radius] properties to 0.0.
+		Class representing a cylindrical [PrimitiveMesh]. This class can be used to create cones by setting either the [member top_radius] or [member bottom_radius] properties to [code]0.0[/code].
 	</description>
 	</description>
 	<tutorials>
 	<tutorials>
 	</tutorials>
 	</tutorials>
@@ -12,19 +12,19 @@
 	</methods>
 	</methods>
 	<members>
 	<members>
 		<member name="bottom_radius" type="float" setter="set_bottom_radius" getter="get_bottom_radius" default="1.0">
 		<member name="bottom_radius" type="float" setter="set_bottom_radius" getter="get_bottom_radius" default="1.0">
-			Bottom radius of the cylinder.
+			Bottom radius of the cylinder. If set to [code]0.0[/code], the bottom faces will not be generated, resulting in a conic shape.
 		</member>
 		</member>
 		<member name="height" type="float" setter="set_height" getter="get_height" default="2.0">
 		<member name="height" type="float" setter="set_height" getter="get_height" default="2.0">
 			Full height of the cylinder.
 			Full height of the cylinder.
 		</member>
 		</member>
 		<member name="radial_segments" type="int" setter="set_radial_segments" getter="get_radial_segments" default="64">
 		<member name="radial_segments" type="int" setter="set_radial_segments" getter="get_radial_segments" default="64">
-			Number of radial segments on the cylinder.
+			Number of radial segments on the cylinder. Higher values result in a more detailed cylinder/cone at the cost of performance.
 		</member>
 		</member>
 		<member name="rings" type="int" setter="set_rings" getter="get_rings" default="4">
 		<member name="rings" type="int" setter="set_rings" getter="get_rings" default="4">
-			Number of edge rings along the height of the cylinder.
+			Number of edge rings along the height of the cylinder. Changing [member rings] does not have any visual impact unless a shader or procedural mesh tool is used to alter the vertex data. Higher values result in more subdivisions, which can be used to create smoother-looking effects with shaders or procedural mesh tools (at the cost of performance). When not altering the vertex data using a shader or procedural mesh tool, [member rings] should be kept to its default value.
 		</member>
 		</member>
 		<member name="top_radius" type="float" setter="set_top_radius" getter="get_top_radius" default="1.0">
 		<member name="top_radius" type="float" setter="set_top_radius" getter="get_top_radius" default="1.0">
-			Top radius of the cylinder.
+			Top radius of the cylinder. If set to [code]0.0[/code], the top faces will not be generated, resulting in a conic shape.
 		</member>
 		</member>
 	</members>
 	</members>
 	<constants>
 	<constants>

+ 3 - 3
scene/resources/primitive_meshes.cpp

@@ -866,9 +866,9 @@ void CylinderMesh::_bind_methods() {
 	ClassDB::bind_method(D_METHOD("set_rings", "rings"), &CylinderMesh::set_rings);
 	ClassDB::bind_method(D_METHOD("set_rings", "rings"), &CylinderMesh::set_rings);
 	ClassDB::bind_method(D_METHOD("get_rings"), &CylinderMesh::get_rings);
 	ClassDB::bind_method(D_METHOD("get_rings"), &CylinderMesh::get_rings);
 
 
-	ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "top_radius", PROPERTY_HINT_RANGE, "0.001,100.0,0.001,or_greater"), "set_top_radius", "get_top_radius");
-	ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "bottom_radius", PROPERTY_HINT_RANGE, "0.001,100.0,0.001,or_greater"), "set_bottom_radius", "get_bottom_radius");
-	ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "height", PROPERTY_HINT_RANGE, "0.001,100.0,0.001,or_greater"), "set_height", "get_height");
+	ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "top_radius", PROPERTY_HINT_RANGE, "0,100,0.001,or_greater"), "set_top_radius", "get_top_radius");
+	ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "bottom_radius", PROPERTY_HINT_RANGE, "0,100,0.001,or_greater"), "set_bottom_radius", "get_bottom_radius");
+	ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "height", PROPERTY_HINT_RANGE, "0.001,100,0.001,or_greater"), "set_height", "get_height");
 	ADD_PROPERTY(PropertyInfo(Variant::INT, "radial_segments", PROPERTY_HINT_RANGE, "1,100,1,or_greater"), "set_radial_segments", "get_radial_segments");
 	ADD_PROPERTY(PropertyInfo(Variant::INT, "radial_segments", PROPERTY_HINT_RANGE, "1,100,1,or_greater"), "set_radial_segments", "get_radial_segments");
 	ADD_PROPERTY(PropertyInfo(Variant::INT, "rings", PROPERTY_HINT_RANGE, "1,100,1,or_greater"), "set_rings", "get_rings");
 	ADD_PROPERTY(PropertyInfo(Variant::INT, "rings", PROPERTY_HINT_RANGE, "1,100,1,or_greater"), "set_rings", "get_rings");
 }
 }