pub struct TransformMapTranslationComponent;Implementations§
Source§impl TransformMapTranslationComponent
impl TransformMapTranslationComponent
Sourcepub fn new() -> Self
pub fn new() -> Self
Examples found in repository?
examples/vr-input.rs (line 155)
115fn spawn_controller_cube(
116 universe: &mut engine::Universe,
117 xr_rig: engine::ecs::ComponentId,
118 hand: ControllerHand,
119 color: (f32, f32, f32, f32),
120 rotation_smoothing: f32,
121 use_rotation_filter_pipeline: bool,
122) -> engine::ecs::ComponentId {
123 let controller_marker = universe.world.add_component(ControllerXRComponent::new(
124 true,
125 hand,
126 ControllerPoseKind::Aim,
127 ));
128 let _ = universe.attach(xr_rig, controller_marker);
129
130 // Transform driven by OpenXRSystem (TransformComponent child of ControllerXRComponent).
131 let controller_t = universe
132 .world
133 .add_component(TransformComponent::new().with_scale(0.06, 0.06, 0.12));
134 let _ = universe.attach(controller_marker, controller_t);
135
136 if !use_rotation_filter_pipeline {
137 let cube = universe.world.add_component(RenderableComponent::cube());
138 let cube_color = universe
139 .world
140 .add_component(ColorComponent::rgba(color.0, color.1, color.2, color.3));
141
142 let _ = universe.attach(controller_t, cube);
143 let _ = universe.attach(cube, cube_color);
144
145 return controller_marker;
146 }
147
148 let fork = universe
149 .world
150 .add_component(TransformForkTRSComponent::new());
151 let _ = universe.attach(controller_t, fork);
152
153 let map_translation = universe
154 .world
155 .add_component(TransformMapTranslationComponent::new());
156 let _ = universe.attach(fork, map_translation);
157
158 let map_rotation = universe
159 .world
160 .add_component(TransformMapRotationComponent::new());
161 let _ = universe.attach(fork, map_rotation);
162 let rotation_filter = universe.world.add_component(
163 QuatTemporalFilterComponent::new().with_smoothing_factor(rotation_smoothing),
164 );
165 let _ = universe.attach(map_rotation, rotation_filter);
166
167 let map_scale = universe
168 .world
169 .add_component(TransformMapScaleComponent::new());
170 let _ = universe.attach(fork, map_scale);
171
172 let filtered_t = universe.world.add_component(TransformComponent::new());
173 let _ = universe.attach(fork, filtered_t);
174
175 let cube = universe.world.add_component(RenderableComponent::cube());
176 let cube_color = universe
177 .world
178 .add_component(ColorComponent::rgba(color.0, color.1, color.2, color.3));
179
180 let _ = universe.attach(filtered_t, cube);
181 let _ = universe.attach(cube, cube_color);
182
183 controller_marker
184}Trait Implementations§
Source§impl Clone for TransformMapTranslationComponent
impl Clone for TransformMapTranslationComponent
Source§fn clone(&self) -> TransformMapTranslationComponent
fn clone(&self) -> TransformMapTranslationComponent
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Component for TransformMapTranslationComponent
impl Component for TransformMapTranslationComponent
Source§fn name(&self) -> &'static str
fn name(&self) -> &'static str
Short debug/type name for this component kind (e.g. “transform”, “camera”).
fn as_any(&self) -> &dyn Any
fn as_any_mut(&mut self) -> &mut dyn Any
fn set_id(&mut self, _component: ComponentId)
Source§fn init(&mut self, _emit: &mut dyn SignalEmitter, _component: ComponentId)
fn init(&mut self, _emit: &mut dyn SignalEmitter, _component: ComponentId)
Called when component is added to the World
Source§fn cleanup(&mut self, _emit: &mut dyn SignalEmitter, _component: ComponentId)
fn cleanup(&mut self, _emit: &mut dyn SignalEmitter, _component: ComponentId)
Called when component is removed from the World.
Source§fn encode(&self) -> HashMap<String, Value>
fn encode(&self) -> HashMap<String, Value>
Encode component data to a HashMap for serialization. Read more
Source§fn decode(&mut self, _data: &HashMap<String, Value>) -> Result<(), String>
fn decode(&mut self, _data: &HashMap<String, Value>) -> Result<(), String>
Decode component data from a HashMap after deserialization. Read more
Source§fn to_mms_ast(&self, _world: &World) -> ComponentExpression
fn to_mms_ast(&self, _world: &World) -> ComponentExpression
Encode this component as an MMS Component Expression AST node. Read more
impl Copy for TransformMapTranslationComponent
Source§impl Default for TransformMapTranslationComponent
impl Default for TransformMapTranslationComponent
Source§fn default() -> TransformMapTranslationComponent
fn default() -> TransformMapTranslationComponent
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for TransformMapTranslationComponent
impl RefUnwindSafe for TransformMapTranslationComponent
impl Send for TransformMapTranslationComponent
impl Sync for TransformMapTranslationComponent
impl Unpin for TransformMapTranslationComponent
impl UnsafeUnpin for TransformMapTranslationComponent
impl UnwindSafe for TransformMapTranslationComponent
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
Mutably borrows from an owned value. Read more
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>
Convert
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>
Convert
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)
Convert
&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)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.