pub struct HandRadialLayer {
pub layer_name: String,
pub items: Vec<Rc<HandRadial>>,
pub start_angle: f32,
pub back_angle: f32,
/* private fields */
}
Expand description
This class represents a single layer in the HandRadialMenu. Each item in the layer is displayed around the radial menu’s circle. https://stereokit.net/Pages/StereoKit.Framework/HandRadialLayer.html
see example in HandMenuRadial
Fields§
§layer_name: String
§items: Vec<Rc<HandRadial>>
§start_angle: f32
§back_angle: f32
Implementations§
Source§impl HandRadialLayer
Creates a menu layer, this overload will calculate a back_angle if there are any back actions present in the item
list.
https://stereokit.net/Pages/StereoKit.Framework/HandRadialLayer/HandRadialLayer.html
impl HandRadialLayer
Creates a menu layer, this overload will calculate a back_angle if there are any back actions present in the item list. https://stereokit.net/Pages/StereoKit.Framework/HandRadialLayer/HandRadialLayer.html
name
- Name of the layer, this is used for layer traversal, so make sure you get the spelling right! Perhaps use const strings for these.image
- Image to display in the center of the radial menu.start_angle
- An angle offset for the layer, if you want a specific orientation for the menu’s contents. Note this may not behave as expected if you’re setting this manually and using the backAngle as well.items
- A list of menu items to display in this menu layer.
pub fn new( name: impl AsRef<str>, image: Option<Material>, start_angle_opt: Option<f32>, items_in: Vec<HandRadial>, ) -> Self
Sourcepub fn add_child(&mut self, layer: HandRadialLayer) -> &mut Self
pub fn add_child(&mut self, layer: HandRadialLayer) -> &mut Self
This adds a menu layer as a child item of this layer. https://stereokit.net/Pages/StereoKit.Framework/HandRadialLayer/AddChild.html
Sourcepub fn find_child(&self, name: impl AsRef<str>) -> Option<&HandRadialLayer>
pub fn find_child(&self, name: impl AsRef<str>) -> Option<&HandRadialLayer>
Find a child menu layer by name. Recursive function https://stereokit.net/Pages/StereoKit.Framework/HandRadialLayer/FindChild.html
Sourcepub fn remove_child(&mut self, name: impl AsRef<str>) -> bool
pub fn remove_child(&mut self, name: impl AsRef<str>) -> bool
Finds the layer in the list of child layers, and removes it, if it exists. Not recursive. self must be the layer containing the one to delete https://stereokit.net/Pages/StereoKit.Framework/HandRadialLayer/RemoveChild.html
Sourcepub fn add_item(&mut self, menu_item: HandMenuItem) -> &mut Self
pub fn add_item(&mut self, menu_item: HandMenuItem) -> &mut Self
This appends a new menu item to the end of the menu’s list. https://stereokit.net/Pages/StereoKit.Framework/HandRadialLayer/AddItem.html
Sourcepub fn find_item(&mut self, name: impl AsRef<str>) -> Option<&HandMenuItem>
pub fn find_item(&mut self, name: impl AsRef<str>) -> Option<&HandMenuItem>
Find a menu item by name. https://stereokit.net/Pages/StereoKit.Framework/HandRadialLayer/FindItem.html
Sourcepub fn remove_item(&mut self, name: impl AsRef<str>) -> bool
pub fn remove_item(&mut self, name: impl AsRef<str>) -> bool
Finds the item in the list, and removes it, if it exists. https://stereokit.net/Pages/StereoKit.Framework/HandRadialLayer/RemoveItem.html
Auto Trait Implementations§
impl !Freeze for HandRadialLayer
impl !RefUnwindSafe for HandRadialLayer
impl !Send for HandRadialLayer
impl !Sync for HandRadialLayer
impl Unpin for HandRadialLayer
impl !UnwindSafe for HandRadialLayer
Blanket Implementations§
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> 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.