[][src]Struct gdnative::KinematicBody

pub struct KinematicBody { /* fields omitted */ }

core class KinematicBody inherits PhysicsBody (unsafe).

Official documentation

See the documentation of this class in the Godot engine's official documentation.

Memory management

Non reference counted objects such as the ones of this type are usually owned by the engine.

KinematicBody is an unsafe pointer, and all of its methods are unsafe.

In the cases where Rust code owns an object of this type, for example if the object was just created on the Rust side and not passed to the engine yet, ownership should be either given to the engine or the object must be manually destroyed using KinematicBody::free.

Class hierarchy

KinematicBody inherits methods from:

Methods

impl KinematicBody[src]

pub fn new() -> KinematicBody[src]

Constructor.

Because this type is not reference counted, the lifetime of the returned object is not automatically managed. Immediately after creation, the object is owned by the caller, and can be passed to the engine (in which case the engine will be responsible for destroying the object) or destroyed manually using KinematicBody::free.

pub unsafe fn free(self)[src]

Manually deallocate the object.

pub unsafe fn get_axis_lock(&self, axis: i64) -> bool[src]

pub unsafe fn get_floor_normal(&self) -> Vector3D<f32, UnknownUnit>[src]

pub unsafe fn get_floor_velocity(&self) -> Vector3D<f32, UnknownUnit>[src]

pub unsafe fn get_safe_margin(&self) -> f64[src]

pub unsafe fn get_slide_collision(
    &mut self,
    slide_idx: i64
) -> Option<KinematicCollision>
[src]

pub unsafe fn get_slide_count(&self) -> i64[src]

pub unsafe fn is_on_ceiling(&self) -> bool[src]

pub unsafe fn is_on_floor(&self) -> bool[src]

pub unsafe fn is_on_wall(&self) -> bool[src]

pub unsafe fn move_and_collide(
    &mut self,
    rel_vec: Vector3D<f32, UnknownUnit>,
    infinite_inertia: bool,
    exclude_raycast_shapes: bool,
    test_only: bool
) -> Option<KinematicCollision>
[src]

pub unsafe fn move_and_slide(
    &mut self,
    linear_velocity: Vector3D<f32, UnknownUnit>,
    up_direction: Vector3D<f32, UnknownUnit>,
    stop_on_slope: bool,
    max_slides: i64,
    floor_max_angle: f64,
    infinite_inertia: bool
) -> Vector3D<f32, UnknownUnit>
[src]

pub unsafe fn move_and_slide_with_snap(
    &mut self,
    linear_velocity: Vector3D<f32, UnknownUnit>,
    snap: Vector3D<f32, UnknownUnit>,
    up_direction: Vector3D<f32, UnknownUnit>,
    stop_on_slope: bool,
    max_slides: i64,
    floor_max_angle: f64,
    infinite_inertia: bool
) -> Vector3D<f32, UnknownUnit>
[src]

pub unsafe fn set_axis_lock(&mut self, axis: i64, lock: bool)[src]

pub unsafe fn set_safe_margin(&mut self, pixels: f64)[src]

pub unsafe fn test_move(
    &mut self,
    from: Transform,
    rel_vec: Vector3D<f32, UnknownUnit>,
    infinite_inertia: bool
) -> bool
[src]

pub unsafe fn to_physics_body(&self) -> PhysicsBody[src]

Up-cast.

pub unsafe fn to_collision_object(&self) -> CollisionObject[src]

Up-cast.

pub unsafe fn to_spatial(&self) -> Spatial[src]

Up-cast.

pub unsafe fn to_node(&self) -> Node[src]

Up-cast.

pub unsafe fn to_object(&self) -> Object[src]

Up-cast.

pub unsafe fn cast<T>(&self) -> Option<T> where
    T: GodotObject
[src]

Generic dynamic cast.

Methods from Deref<Target = PhysicsBody>

pub unsafe fn _get_layers(&self) -> i64[src]

pub unsafe fn _set_layers(&mut self, mask: i64)[src]

pub unsafe fn add_collision_exception_with(&mut self, body: Option<Node>)[src]

pub unsafe fn get_collision_exceptions(&mut self) -> VariantArray[src]

pub unsafe fn get_collision_layer(&self) -> i64[src]

pub unsafe fn get_collision_layer_bit(&self, bit: i64) -> bool[src]

pub unsafe fn get_collision_mask(&self) -> i64[src]

pub unsafe fn get_collision_mask_bit(&self, bit: i64) -> bool[src]

pub unsafe fn remove_collision_exception_with(&mut self, body: Option<Node>)[src]

pub unsafe fn set_collision_layer(&mut self, layer: i64)[src]

pub unsafe fn set_collision_layer_bit(&mut self, bit: i64, value: bool)[src]

pub unsafe fn set_collision_mask(&mut self, mask: i64)[src]

pub unsafe fn set_collision_mask_bit(&mut self, bit: i64, value: bool)[src]

pub unsafe fn to_collision_object(&self) -> CollisionObject[src]

Up-cast.

pub unsafe fn to_spatial(&self) -> Spatial[src]

Up-cast.

pub unsafe fn to_node(&self) -> Node[src]

Up-cast.

pub unsafe fn to_object(&self) -> Object[src]

Up-cast.

pub unsafe fn cast<T>(&self) -> Option<T> where
    T: GodotObject
[src]

Generic dynamic cast.

Trait Implementations

impl Clone for KinematicBody[src]

impl Copy for KinematicBody[src]

impl Debug for KinematicBody[src]

impl Deref for KinematicBody[src]

type Target = PhysicsBody

The resulting type after dereferencing.

impl DerefMut for KinematicBody[src]

impl Free for KinematicBody[src]

impl FromVariant for KinematicBody[src]

impl GodotObject for KinematicBody[src]

impl Instanciable for KinematicBody[src]

impl QueueFree for KinematicBody[src]

impl ToVariant for KinematicBody[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Export for T where
    T: GodotObject + ToVariant
[src]

type Hint = ()

A type-specific hint type that is valid for the type being exported.

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.