pub struct RegularPolygon {
pub circumcircle: Circle,
pub sides: u32,
}
Expand description
A polygon centered on the origin where all vertices lie on a circle, equally far apart.
Fields§
§circumcircle: Circle
The circumcircle on which all vertices lie
sides: u32
The number of sides
Implementations§
Source§impl RegularPolygon
impl RegularPolygon
Sourcepub fn new(circumradius: f32, sides: u32) -> RegularPolygon
pub fn new(circumradius: f32, sides: u32) -> RegularPolygon
Create a new RegularPolygon
from the radius of the circumcircle and a number of sides
§Panics
Panics if circumradius
is negative
Examples found in repository?
105fn setup_scene(
106 mut commands: Commands,
107 mut meshes: ResMut<Assets<Mesh>>,
108 mut materials: ResMut<Assets<ColorMaterial>>,
109) {
110 commands.spawn(Camera2d);
111
112 let named_shapes = [
113 (Name::new("Annulus"), meshes.add(Annulus::new(25.0, 50.0))),
114 (
115 Name::new("Bestagon"),
116 meshes.add(RegularPolygon::new(50.0, 6)),
117 ),
118 (Name::new("Rhombus"), meshes.add(Rhombus::new(75.0, 100.0))),
119 ];
120 let num_shapes = named_shapes.len();
121
122 for (i, (name, shape)) in named_shapes.into_iter().enumerate() {
123 // Distribute colors evenly across the rainbow.
124 let color = Color::hsl(360. * i as f32 / num_shapes as f32, 0.95, 0.7);
125
126 commands.spawn((
127 name,
128 DisableOnClick,
129 Mesh2d(shape),
130 MeshMaterial2d(materials.add(color)),
131 Transform::from_xyz(
132 // Distribute shapes from -X_EXTENT/2 to +X_EXTENT/2.
133 -X_EXTENT / 2. + i as f32 / (num_shapes - 1) as f32 * X_EXTENT,
134 0.0,
135 0.0,
136 ),
137 ));
138 }
139}
More examples
67 pub fn setup(
68 mut commands: Commands,
69 mut meshes: ResMut<Assets<Mesh>>,
70 mut materials: ResMut<Assets<ColorMaterial>>,
71 ) {
72 commands.spawn((Camera2d, StateScoped(super::Scene::Shapes)));
73
74 let shapes = [
75 meshes.add(Circle::new(50.0)),
76 meshes.add(CircularSector::new(50.0, 1.0)),
77 meshes.add(CircularSegment::new(50.0, 1.25)),
78 meshes.add(Ellipse::new(25.0, 50.0)),
79 meshes.add(Annulus::new(25.0, 50.0)),
80 meshes.add(Capsule2d::new(25.0, 50.0)),
81 meshes.add(Rhombus::new(75.0, 100.0)),
82 meshes.add(Rectangle::new(50.0, 100.0)),
83 meshes.add(RegularPolygon::new(50.0, 6)),
84 meshes.add(Triangle2d::new(
85 Vec2::Y * 50.0,
86 Vec2::new(-50.0, -50.0),
87 Vec2::new(50.0, -50.0),
88 )),
89 ];
90 let num_shapes = shapes.len();
91
92 for (i, shape) in shapes.into_iter().enumerate() {
93 // Distribute colors evenly across the rainbow.
94 let color = Color::hsl(360. * i as f32 / num_shapes as f32, 0.95, 0.7);
95
96 commands.spawn((
97 Mesh2d(shape),
98 MeshMaterial2d(materials.add(color)),
99 Transform::from_xyz(
100 // Distribute shapes from -X_EXTENT/2 to +X_EXTENT/2.
101 -X_EXTENT / 2. + i as f32 / (num_shapes - 1) as f32 * X_EXTENT,
102 0.0,
103 0.0,
104 ),
105 StateScoped(super::Scene::Shapes),
106 ));
107 }
108 }
109}
110
111mod bloom {
112 use bevy::{
113 core_pipeline::{bloom::Bloom, tonemapping::Tonemapping},
114 prelude::*,
115 };
116
117 pub fn setup(
118 mut commands: Commands,
119 mut meshes: ResMut<Assets<Mesh>>,
120 mut materials: ResMut<Assets<ColorMaterial>>,
121 ) {
122 commands.spawn((
123 Camera2d,
124 Camera {
125 hdr: true,
126 ..default()
127 },
128 Tonemapping::TonyMcMapface,
129 Bloom::default(),
130 StateScoped(super::Scene::Bloom),
131 ));
132
133 commands.spawn((
134 Mesh2d(meshes.add(Circle::new(100.))),
135 MeshMaterial2d(materials.add(Color::srgb(7.5, 0.0, 7.5))),
136 Transform::from_translation(Vec3::new(-200., 0., 0.)),
137 StateScoped(super::Scene::Bloom),
138 ));
139
140 commands.spawn((
141 Mesh2d(meshes.add(RegularPolygon::new(100., 6))),
142 MeshMaterial2d(materials.add(Color::srgb(6.25, 9.4, 9.1))),
143 Transform::from_translation(Vec3::new(200., 0., 0.)),
144 StateScoped(super::Scene::Bloom),
145 ));
146 }
25fn setup(
26 mut commands: Commands,
27 mut meshes: ResMut<Assets<Mesh>>,
28 mut materials: ResMut<Assets<ColorMaterial>>,
29) {
30 commands.spawn(Camera2d);
31
32 let shapes = [
33 meshes.add(Circle::new(50.0)),
34 meshes.add(CircularSector::new(50.0, 1.0)),
35 meshes.add(CircularSegment::new(50.0, 1.25)),
36 meshes.add(Ellipse::new(25.0, 50.0)),
37 meshes.add(Annulus::new(25.0, 50.0)),
38 meshes.add(Capsule2d::new(25.0, 50.0)),
39 meshes.add(Rhombus::new(75.0, 100.0)),
40 meshes.add(Rectangle::new(50.0, 100.0)),
41 meshes.add(RegularPolygon::new(50.0, 6)),
42 meshes.add(Triangle2d::new(
43 Vec2::Y * 50.0,
44 Vec2::new(-50.0, -50.0),
45 Vec2::new(50.0, -50.0),
46 )),
47 ];
48 let num_shapes = shapes.len();
49
50 for (i, shape) in shapes.into_iter().enumerate() {
51 // Distribute colors evenly across the rainbow.
52 let color = Color::hsl(360. * i as f32 / num_shapes as f32, 0.95, 0.7);
53
54 commands.spawn((
55 Mesh2d(shape),
56 MeshMaterial2d(materials.add(color)),
57 Transform::from_xyz(
58 // Distribute shapes from -X_EXTENT/2 to +X_EXTENT/2.
59 -X_EXTENT / 2. + i as f32 / (num_shapes - 1) as f32 * X_EXTENT,
60 0.0,
61 0.0,
62 ),
63 ));
64 }
65
66 #[cfg(not(target_arch = "wasm32"))]
67 commands.spawn((
68 Text::new("Press space to toggle wireframes"),
69 Node {
70 position_type: PositionType::Absolute,
71 top: Val::Px(12.0),
72 left: Val::Px(12.0),
73 ..default()
74 },
75 ));
76}
202fn setup(mut commands: Commands) {
203 commands.spawn(Camera2d);
204
205 commands.spawn((
206 Transform::from_xyz(-OFFSET_X, OFFSET_Y, 0.),
207 Shape::Circle(Circle::new(45.)),
208 DesiredVolume::Aabb,
209 Intersects::default(),
210 ));
211
212 commands.spawn((
213 Transform::from_xyz(0., OFFSET_Y, 0.),
214 Shape::Rectangle(Rectangle::new(80., 80.)),
215 Spin,
216 DesiredVolume::Circle,
217 Intersects::default(),
218 ));
219
220 commands.spawn((
221 Transform::from_xyz(OFFSET_X, OFFSET_Y, 0.),
222 Shape::Triangle(Triangle2d::new(
223 Vec2::new(-40., -40.),
224 Vec2::new(-20., 40.),
225 Vec2::new(40., 50.),
226 )),
227 Spin,
228 DesiredVolume::Aabb,
229 Intersects::default(),
230 ));
231
232 commands.spawn((
233 Transform::from_xyz(-OFFSET_X, -OFFSET_Y, 0.),
234 Shape::Line(Segment2d::from_direction_and_length(
235 Dir2::from_xy(1., 0.3).unwrap(),
236 90.,
237 )),
238 Spin,
239 DesiredVolume::Circle,
240 Intersects::default(),
241 ));
242
243 commands.spawn((
244 Transform::from_xyz(0., -OFFSET_Y, 0.),
245 Shape::Capsule(Capsule2d::new(25., 50.)),
246 Spin,
247 DesiredVolume::Aabb,
248 Intersects::default(),
249 ));
250
251 commands.spawn((
252 Transform::from_xyz(OFFSET_X, -OFFSET_Y, 0.),
253 Shape::Polygon(RegularPolygon::new(50., 6)),
254 Spin,
255 DesiredVolume::Circle,
256 Intersects::default(),
257 ));
258
259 commands.spawn((
260 Text::default(),
261 Node {
262 position_type: PositionType::Absolute,
263 top: Val::Px(12.0),
264 left: Val::Px(12.0),
265 ..default()
266 },
267 ));
268}
19fn setup(
20 mut commands: Commands,
21 mut meshes: ResMut<Assets<Mesh>>,
22 mut materials: ResMut<Assets<ColorMaterial>>,
23 asset_server: Res<AssetServer>,
24) {
25 commands.spawn((
26 Camera2d,
27 Camera {
28 hdr: true, // 1. HDR is required for bloom
29 clear_color: ClearColorConfig::Custom(Color::BLACK),
30 ..default()
31 },
32 Tonemapping::TonyMcMapface, // 2. Using a tonemapper that desaturates to white is recommended
33 Bloom::default(), // 3. Enable bloom for the camera
34 DebandDither::Enabled, // Optional: bloom causes gradients which cause banding
35 ));
36
37 // Sprite
38 commands.spawn(Sprite {
39 image: asset_server.load("branding/bevy_bird_dark.png"),
40 color: Color::srgb(5.0, 5.0, 5.0), // 4. Put something bright in a dark environment to see the effect
41 custom_size: Some(Vec2::splat(160.0)),
42 ..default()
43 });
44
45 // Circle mesh
46 commands.spawn((
47 Mesh2d(meshes.add(Circle::new(100.))),
48 // 4. Put something bright in a dark environment to see the effect
49 MeshMaterial2d(materials.add(Color::srgb(7.5, 0.0, 7.5))),
50 Transform::from_translation(Vec3::new(-200., 0., 0.)),
51 ));
52
53 // Hexagon mesh
54 commands.spawn((
55 Mesh2d(meshes.add(RegularPolygon::new(100., 6))),
56 // 4. Put something bright in a dark environment to see the effect
57 MeshMaterial2d(materials.add(Color::srgb(6.25, 9.4, 9.1))),
58 Transform::from_translation(Vec3::new(200., 0., 0.)),
59 ));
60
61 // UI
62 commands.spawn((
63 Text::default(),
64 Node {
65 position_type: PositionType::Absolute,
66 top: Val::Px(12.0),
67 left: Val::Px(12.0),
68 ..default()
69 },
70 ));
71}
Sourcepub fn circumradius(&self) -> f32
pub fn circumradius(&self) -> f32
Get the radius of the circumcircle on which all vertices of the regular polygon lie
Sourcepub fn inradius(&self) -> f32
pub fn inradius(&self) -> f32
Get the inradius or apothem of the regular polygon. This is the radius of the largest circle that can be drawn within the polygon
Sourcepub fn side_length(&self) -> f32
pub fn side_length(&self) -> f32
Get the length of one side of the regular polygon
Sourcepub fn internal_angle_degrees(&self) -> f32
pub fn internal_angle_degrees(&self) -> f32
Get the internal angle of the regular polygon in degrees.
This is the angle formed by two adjacent sides with points within the angle being in the interior of the polygon
Sourcepub fn internal_angle_radians(&self) -> f32
pub fn internal_angle_radians(&self) -> f32
Get the internal angle of the regular polygon in radians.
This is the angle formed by two adjacent sides with points within the angle being in the interior of the polygon
Sourcepub fn external_angle_degrees(&self) -> f32
pub fn external_angle_degrees(&self) -> f32
Get the external angle of the regular polygon in degrees.
This is the angle formed by two adjacent sides with points within the angle being in the exterior of the polygon
Sourcepub fn external_angle_radians(&self) -> f32
pub fn external_angle_radians(&self) -> f32
Get the external angle of the regular polygon in radians.
This is the angle formed by two adjacent sides with points within the angle being in the exterior of the polygon
Sourcepub fn vertices(self, rotation: f32) -> impl IntoIterator<Item = Vec2>
pub fn vertices(self, rotation: f32) -> impl IntoIterator<Item = Vec2>
Returns an iterator over the vertices of the regular polygon, rotated counterclockwise by the given angle in radians.
With a rotation of 0, a vertex will be placed at the top (0.0, circumradius)
.
Trait Implementations§
Source§impl Bounded2d for RegularPolygon
impl Bounded2d for RegularPolygon
Source§fn aabb_2d(&self, isometry: impl Into<Isometry2d>) -> Aabb2d
fn aabb_2d(&self, isometry: impl Into<Isometry2d>) -> Aabb2d
Source§fn bounding_circle(&self, isometry: impl Into<Isometry2d>) -> BoundingCircle
fn bounding_circle(&self, isometry: impl Into<Isometry2d>) -> BoundingCircle
Source§impl BoundedExtrusion for RegularPolygon
impl BoundedExtrusion for RegularPolygon
Source§fn extrusion_aabb_3d(
&self,
half_depth: f32,
isometry: impl Into<Isometry3d>,
) -> Aabb3d
fn extrusion_aabb_3d( &self, half_depth: f32, isometry: impl Into<Isometry3d>, ) -> Aabb3d
half_depth
, transformed by the given translation
and rotation
.Source§fn extrusion_bounding_sphere(
&self,
half_depth: f32,
isometry: impl Into<Isometry3d>,
) -> BoundingSphere
fn extrusion_bounding_sphere( &self, half_depth: f32, isometry: impl Into<Isometry3d>, ) -> BoundingSphere
base_shape
with the given half_depth
with the given translation and rotationSource§impl Clone for RegularPolygon
impl Clone for RegularPolygon
Source§fn clone(&self) -> RegularPolygon
fn clone(&self) -> RegularPolygon
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for RegularPolygon
impl Debug for RegularPolygon
Source§impl Default for RegularPolygon
impl Default for RegularPolygon
Source§fn default() -> RegularPolygon
fn default() -> RegularPolygon
Returns the default RegularPolygon
with six sides (a hexagon) and a circumradius of 0.5
.
Source§impl<'de> Deserialize<'de> for RegularPolygon
impl<'de> Deserialize<'de> for RegularPolygon
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<RegularPolygon, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<RegularPolygon, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl From<RegularPolygon> for Mesh
impl From<RegularPolygon> for Mesh
Source§fn from(polygon: RegularPolygon) -> Mesh
fn from(polygon: RegularPolygon) -> Mesh
Source§impl FromArg for &'static RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl FromArg for &'static RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl FromArg for &'static mut RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl FromArg for &'static mut RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl FromArg for RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl FromArg for RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl FromReflect for RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl FromReflect for RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn from_reflect(
reflect: &(dyn PartialReflect + 'static),
) -> Option<RegularPolygon>
fn from_reflect( reflect: &(dyn PartialReflect + 'static), ) -> Option<RegularPolygon>
Self
from a reflected value.Source§fn take_from_reflect(
reflect: Box<dyn PartialReflect>,
) -> Result<Self, Box<dyn PartialReflect>>
fn take_from_reflect( reflect: Box<dyn PartialReflect>, ) -> Result<Self, Box<dyn PartialReflect>>
Self
using,
constructing the value using from_reflect
if that fails. Read moreSource§impl GetOwnership for &RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl GetOwnership for &RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl GetOwnership for &mut RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl GetOwnership for &mut RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl GetOwnership for RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl GetOwnership for RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl GetTypeRegistration for RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl GetTypeRegistration for RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn get_type_registration() -> TypeRegistration
fn get_type_registration() -> TypeRegistration
TypeRegistration
for this type.Source§fn register_type_dependencies(registry: &mut TypeRegistry)
fn register_type_dependencies(registry: &mut TypeRegistry)
Source§impl<Config, Clear> GizmoPrimitive2d<RegularPolygon> for GizmoBuffer<Config, Clear>
impl<Config, Clear> GizmoPrimitive2d<RegularPolygon> for GizmoBuffer<Config, Clear>
Source§type Output<'a> = ()
where
GizmoBuffer<Config, Clear>: 'a
type Output<'a> = () where GizmoBuffer<Config, Clear>: 'a
primitive_2d
. This is a builder to set non-default values.Source§fn primitive_2d(
&mut self,
primitive: &RegularPolygon,
isometry: impl Into<Isometry2d>,
color: impl Into<Color>,
) -> <GizmoBuffer<Config, Clear> as GizmoPrimitive2d<RegularPolygon>>::Output<'_>
fn primitive_2d( &mut self, primitive: &RegularPolygon, isometry: impl Into<Isometry2d>, color: impl Into<Color>, ) -> <GizmoBuffer<Config, Clear> as GizmoPrimitive2d<RegularPolygon>>::Output<'_>
Source§impl IntoReturn for &RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl IntoReturn for &RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn into_return<'into_return>(self) -> Return<'into_return>where
&RegularPolygon: 'into_return,
fn into_return<'into_return>(self) -> Return<'into_return>where
&RegularPolygon: 'into_return,
Source§impl IntoReturn for &mut RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl IntoReturn for &mut RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn into_return<'into_return>(self) -> Return<'into_return>where
&mut RegularPolygon: 'into_return,
fn into_return<'into_return>(self) -> Return<'into_return>where
&mut RegularPolygon: 'into_return,
Source§impl IntoReturn for RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl IntoReturn for RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn into_return<'into_return>(self) -> Return<'into_return>where
RegularPolygon: 'into_return,
fn into_return<'into_return>(self) -> Return<'into_return>where
RegularPolygon: 'into_return,
Source§impl Measured2d for RegularPolygon
impl Measured2d for RegularPolygon
Source§impl Meshable for RegularPolygon
impl Meshable for RegularPolygon
Source§impl PartialEq for RegularPolygon
impl PartialEq for RegularPolygon
Source§impl PartialReflect for RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl PartialReflect for RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
Source§fn try_apply(
&mut self,
value: &(dyn PartialReflect + 'static),
) -> Result<(), ApplyError>
fn try_apply( &mut self, value: &(dyn PartialReflect + 'static), ) -> Result<(), ApplyError>
Source§fn reflect_kind(&self) -> ReflectKind
fn reflect_kind(&self) -> ReflectKind
Source§fn reflect_ref(&self) -> ReflectRef<'_>
fn reflect_ref(&self) -> ReflectRef<'_>
Source§fn reflect_mut(&mut self) -> ReflectMut<'_>
fn reflect_mut(&mut self) -> ReflectMut<'_>
Source§fn reflect_owned(self: Box<RegularPolygon>) -> ReflectOwned
fn reflect_owned(self: Box<RegularPolygon>) -> ReflectOwned
Source§fn try_into_reflect(
self: Box<RegularPolygon>,
) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
fn try_into_reflect( self: Box<RegularPolygon>, ) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
Source§fn try_as_reflect(&self) -> Option<&(dyn Reflect + 'static)>
fn try_as_reflect(&self) -> Option<&(dyn Reflect + 'static)>
Source§fn try_as_reflect_mut(&mut self) -> Option<&mut (dyn Reflect + 'static)>
fn try_as_reflect_mut(&mut self) -> Option<&mut (dyn Reflect + 'static)>
Source§fn into_partial_reflect(self: Box<RegularPolygon>) -> Box<dyn PartialReflect>
fn into_partial_reflect(self: Box<RegularPolygon>) -> Box<dyn PartialReflect>
Source§fn as_partial_reflect(&self) -> &(dyn PartialReflect + 'static)
fn as_partial_reflect(&self) -> &(dyn PartialReflect + 'static)
Source§fn as_partial_reflect_mut(&mut self) -> &mut (dyn PartialReflect + 'static)
fn as_partial_reflect_mut(&mut self) -> &mut (dyn PartialReflect + 'static)
Source§fn reflect_partial_eq(
&self,
value: &(dyn PartialReflect + 'static),
) -> Option<bool>
fn reflect_partial_eq( &self, value: &(dyn PartialReflect + 'static), ) -> Option<bool>
Source§fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Source§fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
Self
using reflection. Read moreSource§fn apply(&mut self, value: &(dyn PartialReflect + 'static))
fn apply(&mut self, value: &(dyn PartialReflect + 'static))
Source§fn clone_value(&self) -> Box<dyn PartialReflect>
fn clone_value(&self) -> Box<dyn PartialReflect>
reflect_clone
. To convert reflected values to dynamic ones, use to_dynamic
.Self
into its dynamic representation. Read moreSource§fn to_dynamic(&self) -> Box<dyn PartialReflect>
fn to_dynamic(&self) -> Box<dyn PartialReflect>
Source§fn reflect_hash(&self) -> Option<u64>
fn reflect_hash(&self) -> Option<u64>
Source§fn is_dynamic(&self) -> bool
fn is_dynamic(&self) -> bool
Source§impl Reflect for RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Reflect for RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn into_any(self: Box<RegularPolygon>) -> Box<dyn Any>
fn into_any(self: Box<RegularPolygon>) -> Box<dyn Any>
Box<dyn Any>
. Read moreSource§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut dyn Any
. Read moreSource§fn into_reflect(self: Box<RegularPolygon>) -> Box<dyn Reflect>
fn into_reflect(self: Box<RegularPolygon>) -> Box<dyn Reflect>
Source§fn as_reflect(&self) -> &(dyn Reflect + 'static)
fn as_reflect(&self) -> &(dyn Reflect + 'static)
Source§fn as_reflect_mut(&mut self) -> &mut (dyn Reflect + 'static)
fn as_reflect_mut(&mut self) -> &mut (dyn Reflect + 'static)
Source§impl Serialize for RegularPolygon
impl Serialize for RegularPolygon
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Source§impl Struct for RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Struct for RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn field(&self, name: &str) -> Option<&(dyn PartialReflect + 'static)>
fn field(&self, name: &str) -> Option<&(dyn PartialReflect + 'static)>
name
as a &dyn PartialReflect
.Source§fn field_mut(
&mut self,
name: &str,
) -> Option<&mut (dyn PartialReflect + 'static)>
fn field_mut( &mut self, name: &str, ) -> Option<&mut (dyn PartialReflect + 'static)>
name
as a
&mut dyn PartialReflect
.Source§fn field_at(&self, index: usize) -> Option<&(dyn PartialReflect + 'static)>
fn field_at(&self, index: usize) -> Option<&(dyn PartialReflect + 'static)>
index
as a
&dyn PartialReflect
.Source§fn field_at_mut(
&mut self,
index: usize,
) -> Option<&mut (dyn PartialReflect + 'static)>
fn field_at_mut( &mut self, index: usize, ) -> Option<&mut (dyn PartialReflect + 'static)>
index
as a &mut dyn PartialReflect
.Source§fn name_at(&self, index: usize) -> Option<&str>
fn name_at(&self, index: usize) -> Option<&str>
index
.Source§fn iter_fields(&self) -> FieldIter<'_> ⓘ
fn iter_fields(&self) -> FieldIter<'_> ⓘ
fn to_dynamic_struct(&self) -> DynamicStruct
Source§fn clone_dynamic(&self) -> DynamicStruct
fn clone_dynamic(&self) -> DynamicStruct
to_dynamic_struct
insteadDynamicStruct
.Source§fn get_represented_struct_info(&self) -> Option<&'static StructInfo>
fn get_represented_struct_info(&self) -> Option<&'static StructInfo>
None
if TypeInfo
is not available.Source§impl TypePath for RegularPolygon
impl TypePath for RegularPolygon
Source§fn type_path() -> &'static str
fn type_path() -> &'static str
Source§fn short_type_path() -> &'static str
fn short_type_path() -> &'static str
Source§fn type_ident() -> Option<&'static str>
fn type_ident() -> Option<&'static str>
Source§fn crate_name() -> Option<&'static str>
fn crate_name() -> Option<&'static str>
Source§impl Typed for RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Typed for RegularPolygonwhere
RegularPolygon: Any + Send + Sync,
Circle: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
u32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Copy for RegularPolygon
impl Primitive2d for RegularPolygon
impl StructuralPartialEq for RegularPolygon
Auto Trait Implementations§
impl Freeze for RegularPolygon
impl RefUnwindSafe for RegularPolygon
impl Send for RegularPolygon
impl Sync for RegularPolygon
impl Unpin for RegularPolygon
impl UnwindSafe for RegularPolygon
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist.Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which can then be further
downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> DynamicTypePath for Twhere
T: TypePath,
impl<T> DynamicTypePath for Twhere
T: TypePath,
Source§fn reflect_type_path(&self) -> &str
fn reflect_type_path(&self) -> &str
TypePath::type_path
.Source§fn reflect_short_type_path(&self) -> &str
fn reflect_short_type_path(&self) -> &str
Source§fn reflect_type_ident(&self) -> Option<&str>
fn reflect_type_ident(&self) -> Option<&str>
TypePath::type_ident
.Source§fn reflect_crate_name(&self) -> Option<&str>
fn reflect_crate_name(&self) -> Option<&str>
TypePath::crate_name
.Source§fn reflect_module_path(&self) -> Option<&str>
fn reflect_module_path(&self) -> Option<&str>
Source§impl<T> DynamicTyped for Twhere
T: Typed,
impl<T> DynamicTyped for Twhere
T: Typed,
Source§fn reflect_type_info(&self) -> &'static TypeInfo
fn reflect_type_info(&self) -> &'static TypeInfo
Typed::type_info
.Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self
using default()
.
Source§impl<S> GetField for Swhere
S: Struct,
impl<S> GetField for Swhere
S: Struct,
Source§impl<T> GetPath for T
impl<T> GetPath for T
Source§fn reflect_path<'p>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&(dyn PartialReflect + 'static), ReflectPathError<'p>>
fn reflect_path<'p>( &self, path: impl ReflectPath<'p>, ) -> Result<&(dyn PartialReflect + 'static), ReflectPathError<'p>>
path
. Read moreSource§fn reflect_path_mut<'p>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut (dyn PartialReflect + 'static), ReflectPathError<'p>>
fn reflect_path_mut<'p>( &mut self, path: impl ReflectPath<'p>, ) -> Result<&mut (dyn PartialReflect + 'static), ReflectPathError<'p>>
path
. Read moreSource§fn path<'p, T>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&T, ReflectPathError<'p>>where
T: Reflect,
fn path<'p, T>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&T, ReflectPathError<'p>>where
T: Reflect,
path
. Read moreSource§fn path_mut<'p, T>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut T, ReflectPathError<'p>>where
T: Reflect,
fn path_mut<'p, T>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut T, ReflectPathError<'p>>where
T: Reflect,
path
. Read moreSource§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian()
.Source§impl<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>
fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.