Added new method to Cone 3D primitive (#14325)
				
					
				
			Reference to #14299. # Objective - Ensuring consistent practice of instantiating 3D primitive shapes in Bevy. ## Solution - Add `new` method, containing `radius` and `height` arguments, to Cone 3D primitive shape. ## Testing - Instantiated cone using same values (radius is `2.` and height is `5.`), using the current method and the added `new` method. - Basic setup of Bevy Default Plugins and `3DCameraBundle`. --- ## Showcase <details> <summary>Click to view showcase</summary> ```rust use bevy::prelude::*; fn main() { App::new() .add_plugins(DefaultPlugins) .add_systems(Startup, setup) .run(); } fn setup( mut commands: Commands, mut meshes: ResMut<Assets<Mesh>>, mut materials: ResMut<Assets<StandardMaterial>>, ) { let new_cone = meshes.add(Cone::new(2., 5.)); commands.spawn(PbrBundle { mesh: new_cone, ..default() }); let old_cone = meshes.add(Cone { radius: 2., height: 5., }); commands.spawn(PbrBundle { mesh: old_cone, material: materials.add(Color::WHITE), transform: Transform::from_xyz(10., 0., 0.), ..default() }); commands.spawn(Camera3dBundle { transform: Transform::from_xyz(20., 20., 20.).looking_at(Vec3::ZERO, Dir3::Y), ..default() }); } ``` </details>  - Pink Cone is created using the `new` method. - Black Cone is created using the existing method. ## Migration Guide - Addition of `new` method to the 3D primitive Cone struct.
This commit is contained in:
		
							parent
							
								
									cfcb56f5b9
								
							
						
					
					
						commit
						0e13b1ca5e
					
				| @ -625,6 +625,10 @@ impl Default for Cone { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| impl Cone { | impl Cone { | ||||||
|  |     /// Create a new [`Cone`] from a radius and height.
 | ||||||
|  |     pub fn new(radius: f32, height: f32) -> Self { | ||||||
|  |         Self { radius, height } | ||||||
|  |     } | ||||||
|     /// Get the base of the cone as a [`Circle`]
 |     /// Get the base of the cone as a [`Circle`]
 | ||||||
|     #[inline(always)] |     #[inline(always)] | ||||||
|     pub fn base(&self) -> Circle { |     pub fn base(&self) -> Circle { | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Steve Frampton
						Steve Frampton