[][src]Struct gdnative::api::CollisionObject2D

pub struct CollisionObject2D { /* fields omitted */ }

core class CollisionObject2D inherits Node2D (unsafe).

Official documentation

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

Class hierarchy

CollisionObject2D inherits methods from:

Safety

All types in the Godot API have "interior mutability" in Rust parlance. To enforce that the official thread-safety guidelines are followed, the typestate pattern is used in the Ref and TRef smart pointers, and the Instance API. The typestate Access in these types tracks whether the access is unique, shared, or exclusive to the current thread. For more information, see the type-level documentation on Ref.

Implementations

impl CollisionObject2D[src]

pub fn create_shape_owner(&self, owner: impl AsArg<Object>) -> i64[src]

Creates a new shape owner for the given object. Returns [code]owner_id[/code] of the new owner for future reference.

pub fn get_rid(&self) -> Rid[src]

Returns the object's [RID].

pub fn get_shape_owner_one_way_collision_margin(&self, owner_id: i64) -> f64[src]

Returns the [code]one_way_collision_margin[/code] of the shape owner identified by given [code]owner_id[/code].

pub fn get_shape_owners(&self) -> VariantArray<Shared>[src]

Returns an [Array] of [code]owner_id[/code] identifiers. You can use these ids in other methods that take [code]owner_id[/code] as an argument.

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

If [code]true[/code], this object is pickable. A pickable object can detect the mouse pointer entering/leaving, and if the mouse is inside it, report input events. Requires at least one [code]collision_layer[/code] bit to be set.

pub fn is_shape_owner_disabled(&self, owner_id: i64) -> bool[src]

If [code]true[/code], the shape owner and its shapes are disabled.

pub fn is_shape_owner_one_way_collision_enabled(&self, owner_id: i64) -> bool[src]

Returns [code]true[/code] if collisions for the shape owner originating from this [CollisionObject2D] will not be reported to collided with [CollisionObject2D]s.

pub fn remove_shape_owner(&self, owner_id: i64)[src]

Removes the given shape owner.

pub fn set_pickable(&self, enabled: bool)[src]

If [code]true[/code], this object is pickable. A pickable object can detect the mouse pointer entering/leaving, and if the mouse is inside it, report input events. Requires at least one [code]collision_layer[/code] bit to be set.

pub fn shape_find_owner(&self, shape_index: i64) -> i64[src]

Returns the [code]owner_id[/code] of the given shape.

pub fn shape_owner_add_shape(&self, owner_id: i64, shape: impl AsArg<Shape2D>)[src]

Adds a [Shape2D] to the shape owner.

pub fn shape_owner_clear_shapes(&self, owner_id: i64)[src]

Removes all shapes from the shape owner.

pub fn shape_owner_get_owner(
    &self,
    owner_id: i64
) -> Option<Ref<Object, Shared>>
[src]

Returns the parent object of the given shape owner.

pub fn shape_owner_get_shape(
    &self,
    owner_id: i64,
    shape_id: i64
) -> Option<Ref<Shape2D, Shared>>
[src]

Returns the [Shape2D] with the given id from the given shape owner.

pub fn shape_owner_get_shape_count(&self, owner_id: i64) -> i64[src]

Returns the number of shapes the given shape owner contains.

pub fn shape_owner_get_shape_index(&self, owner_id: i64, shape_id: i64) -> i64[src]

Returns the child index of the [Shape2D] with the given id from the given shape owner.

pub fn shape_owner_get_transform(
    &self,
    owner_id: i64
) -> Transform2D<f32, UnknownUnit, UnknownUnit>
[src]

Returns the shape owner's [Transform2D].

pub fn shape_owner_remove_shape(&self, owner_id: i64, shape_id: i64)[src]

Removes a shape from the given shape owner.

pub fn shape_owner_set_disabled(&self, owner_id: i64, disabled: bool)[src]

If [code]true[/code], disables the given shape owner.

pub fn shape_owner_set_one_way_collision(&self, owner_id: i64, enable: bool)[src]

If [code]enable[/code] is [code]true[/code], collisions for the shape owner originating from this [CollisionObject2D] will not be reported to collided with [CollisionObject2D]s.

pub fn shape_owner_set_one_way_collision_margin(
    &self,
    owner_id: i64,
    margin: f64
)
[src]

Sets the [code]one_way_collision_margin[/code] of the shape owner identified by given [code]owner_id[/code] to [code]margin[/code] pixels.

pub fn shape_owner_set_transform(
    &self,
    owner_id: i64,
    transform: Transform2D<f32, UnknownUnit, UnknownUnit>
)
[src]

Sets the [Transform2D] of the given shape owner.

Methods from Deref<Target = Node2D>

pub fn apply_scale(&self, ratio: Vector2D<f32, UnknownUnit>)[src]

Multiplies the current scale by the [code]ratio[/code] vector.

pub fn get_angle_to(&self, point: Vector2D<f32, UnknownUnit>) -> f64[src]

Returns the angle between the node and the [code]point[/code] in radians.

pub fn global_position(&self) -> Vector2D<f32, UnknownUnit>[src]

Global position.

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

Global rotation in radians.

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

Global rotation in degrees.

pub fn global_scale(&self) -> Vector2D<f32, UnknownUnit>[src]

Global scale.

pub fn position(&self) -> Vector2D<f32, UnknownUnit>[src]

Position, relative to the node's parent.

pub fn get_relative_transform_to_parent(
    &self,
    parent: impl AsArg<Node>
) -> Transform2D<f32, UnknownUnit, UnknownUnit>
[src]

Returns the [Transform2D] relative to this node's parent.

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

Rotation in radians, relative to the node's parent.

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

Rotation in degrees, relative to the node's parent.

pub fn scale(&self) -> Vector2D<f32, UnknownUnit>[src]

The node's scale. Unscaled value: [code](1, 1)[/code].

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

Z index. Controls the order in which the nodes render. A node with a higher Z index will display in front of others.

pub fn global_translate(&self, offset: Vector2D<f32, UnknownUnit>)[src]

Adds the [code]offset[/code] vector to the node's global position.

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

If [code]true[/code], the node's Z index is relative to its parent's Z index. If this node's Z index is 2 and its parent's effective Z index is 3, then this node's effective Z index will be 2 + 3 = 5.

pub fn look_at(&self, point: Vector2D<f32, UnknownUnit>)[src]

Rotates the node so it points towards the [code]point[/code], which is expected to use global coordinates.

pub fn move_local_x(&self, delta: f64, scaled: bool)[src]

Applies a local translation on the node's X axis based on the [method Node._process]'s [code]delta[/code]. If [code]scaled[/code] is [code]false[/code], normalizes the movement.

Default Arguments

  • scaled - false

pub fn move_local_y(&self, delta: f64, scaled: bool)[src]

Applies a local translation on the node's Y axis based on the [method Node._process]'s [code]delta[/code]. If [code]scaled[/code] is [code]false[/code], normalizes the movement.

Default Arguments

  • scaled - false

pub fn rotate(&self, radians: f64)[src]

Applies a rotation to the node, in radians, starting from its current rotation.

pub fn set_global_position(&self, position: Vector2D<f32, UnknownUnit>)[src]

Global position.

pub fn set_global_rotation(&self, radians: f64)[src]

Global rotation in radians.

pub fn set_global_rotation_degrees(&self, degrees: f64)[src]

Global rotation in degrees.

pub fn set_global_scale(&self, scale: Vector2D<f32, UnknownUnit>)[src]

Global scale.

pub fn set_global_transform(
    &self,
    xform: Transform2D<f32, UnknownUnit, UnknownUnit>
)
[src]

Global [Transform2D].

pub fn set_position(&self, position: Vector2D<f32, UnknownUnit>)[src]

Position, relative to the node's parent.

pub fn set_rotation(&self, radians: f64)[src]

Rotation in radians, relative to the node's parent.

pub fn set_rotation_degrees(&self, degrees: f64)[src]

Rotation in degrees, relative to the node's parent.

pub fn set_scale(&self, scale: Vector2D<f32, UnknownUnit>)[src]

The node's scale. Unscaled value: [code](1, 1)[/code].

pub fn set_transform(&self, xform: Transform2D<f32, UnknownUnit, UnknownUnit>)[src]

Local [Transform2D].

pub fn set_z_as_relative(&self, enable: bool)[src]

If [code]true[/code], the node's Z index is relative to its parent's Z index. If this node's Z index is 2 and its parent's effective Z index is 3, then this node's effective Z index will be 2 + 3 = 5.

pub fn set_z_index(&self, z_index: i64)[src]

Z index. Controls the order in which the nodes render. A node with a higher Z index will display in front of others.

pub fn to_global(
    &self,
    local_point: Vector2D<f32, UnknownUnit>
) -> Vector2D<f32, UnknownUnit>
[src]

Transforms the provided local position into a position in global coordinate space. The input is expected to be local relative to the [Node2D] it is called on. e.g. Applying this method to the positions of child nodes will correctly transform their positions into the global coordinate space, but applying it to a node's own position will give an incorrect result, as it will incorporate the node's own transformation into its global position.

pub fn to_local(
    &self,
    global_point: Vector2D<f32, UnknownUnit>
) -> Vector2D<f32, UnknownUnit>
[src]

Transforms the provided global position into a position in local coordinate space. The output will be local relative to the [Node2D] it is called on. e.g. It is appropriate for determining the positions of child nodes, but it is not appropriate for determining its own position relative to its parent.

pub fn translate(&self, offset: Vector2D<f32, UnknownUnit>)[src]

Translates the node by the given [code]offset[/code] in local coordinates.

Trait Implementations

impl Debug for CollisionObject2D[src]

impl Deref for CollisionObject2D[src]

type Target = Node2D

The resulting type after dereferencing.

impl DerefMut for CollisionObject2D[src]

impl GodotObject for CollisionObject2D[src]

type RefKind = ManuallyManaged

The memory management kind of this type. This modifies the behavior of the Ref smart pointer. See its type-level documentation for more information. Read more

impl QueueFree for CollisionObject2D[src]

impl SubClass<CanvasItem> for CollisionObject2D[src]

impl SubClass<CollisionObject2D> for StaticBody2D[src]

impl SubClass<CollisionObject2D> for RigidBody2D[src]

impl SubClass<CollisionObject2D> for KinematicBody2D[src]

impl SubClass<CollisionObject2D> for Area2D[src]

impl SubClass<CollisionObject2D> for PhysicsBody2D[src]

impl SubClass<Node> for CollisionObject2D[src]

impl SubClass<Node2D> for CollisionObject2D[src]

impl SubClass<Object> for CollisionObject2D[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> From<T> for T[src]

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

impl<T> SubClass<T> for T where
    T: GodotObject
[src]

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.