Struct chip::Car [−][src]
pub struct Car(_);
A car simulation.
Example
let mut car = Car::new(); car.set_pos(Point3::new(0.0, 0.0, 17.01)); car.set_vel(Vector3::new(300.0, 400.0, 500.0)); car.set_theta(Rotation3::identity()); car.set_on_ground(true); let input = Input { steer: 1.0, throttle: 1.0, ..Input::default() }; car.step(input, 1.0 / 120.0); println!("{:?}", car.pos());
Methods
impl Car
[src]
impl Car
pub fn new() -> Self
[src]
pub fn new() -> Self
Creates a Car
.
pub fn step(&mut self, input: Input, dt: f32)
[src]
pub fn step(&mut self, input: Input, dt: f32)
Simulates the next dt
seconds, and updates the car's physics values.
pub fn pos(&self) -> Point3<f32>
[src]
pub fn pos(&self) -> Point3<f32>
Gets the car's position.
pub fn set_pos(&mut self, pos: Point3<f32>)
[src]
pub fn set_pos(&mut self, pos: Point3<f32>)
Sets the car's position.
pub fn vel(&self) -> Vector3<f32>
[src]
pub fn vel(&self) -> Vector3<f32>
Gets the car's velocity.
pub fn set_vel(&mut self, vel: Vector3<f32>)
[src]
pub fn set_vel(&mut self, vel: Vector3<f32>)
Sets the car's velocity.
pub fn omega(&self) -> Vector3<f32>
[src]
pub fn omega(&self) -> Vector3<f32>
Gets the car's angular velocity.
pub fn set_omega(&mut self, omega: Vector3<f32>)
[src]
pub fn set_omega(&mut self, omega: Vector3<f32>)
Sets the car's angular velocity.
pub fn theta(&self) -> Rotation3<f32>
[src]
pub fn theta(&self) -> Rotation3<f32>
Gets the car's rotation.
pub fn set_theta(&mut self, theta: Rotation3<f32>)
[src]
pub fn set_theta(&mut self, theta: Rotation3<f32>)
Sets the car's rotation.
pub fn on_ground(&self) -> bool
[src]
pub fn on_ground(&self) -> bool
Gets whether the car's wheels are on the ground.
pub fn set_on_ground(&mut self, on_ground: bool)
[src]
pub fn set_on_ground(&mut self, on_ground: bool)
Sets whether the car's wheels are on the ground.