Struct gdnative_bindings_lily::Shape2D [−][src]
pub struct Shape2D { /* fields omitted */ }
Expand description
core class Shape2D
inherits Resource
(reference counted).
Official documentation
See the documentation of this class in the Godot engine’s official documentation. The method descriptions are generated from it and typically contain code samples in GDScript, not Rust.
Memory management
The lifetime of this object is automatically managed through reference counting.
Class hierarchy
Shape2D 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
pub fn collide(
&self,
local_xform: Transform2D,
with_shape: impl AsArg<Shape2D>,
shape_xform: Transform2D
) -> bool
pub fn collide(
&self,
local_xform: Transform2D,
with_shape: impl AsArg<Shape2D>,
shape_xform: Transform2D
) -> bool
Returns true
if this shape is colliding with another.
This method needs the transformation matrix for this shape (local_xform
), the shape to check collisions with (with_shape
), and the transformation matrix of that shape (shape_xform
).
pub fn collide_and_get_contacts(
&self,
local_xform: Transform2D,
with_shape: impl AsArg<Shape2D>,
shape_xform: Transform2D
) -> VariantArray
pub fn collide_and_get_contacts(
&self,
local_xform: Transform2D,
with_shape: impl AsArg<Shape2D>,
shape_xform: Transform2D
) -> VariantArray
Returns a list of the points where this shape touches another. If there are no collisions the list is empty.
This method needs the transformation matrix for this shape (local_xform
), the shape to check collisions with (with_shape
), and the transformation matrix of that shape (shape_xform
).
pub fn collide_with_motion(
&self,
local_xform: Transform2D,
local_motion: Vector2,
with_shape: impl AsArg<Shape2D>,
shape_xform: Transform2D,
shape_motion: Vector2
) -> bool
pub fn collide_with_motion(
&self,
local_xform: Transform2D,
local_motion: Vector2,
with_shape: impl AsArg<Shape2D>,
shape_xform: Transform2D,
shape_motion: Vector2
) -> bool
Returns whether this shape would collide with another, if a given movement was applied.
This method needs the transformation matrix for this shape (local_xform
), the movement to test on this shape (local_motion
), the shape to check collisions with (with_shape
), the transformation matrix of that shape (shape_xform
), and the movement to test onto the other object (shape_motion
).
pub fn collide_with_motion_and_get_contacts(
&self,
local_xform: Transform2D,
local_motion: Vector2,
with_shape: impl AsArg<Shape2D>,
shape_xform: Transform2D,
shape_motion: Vector2
) -> VariantArray
pub fn collide_with_motion_and_get_contacts(
&self,
local_xform: Transform2D,
local_motion: Vector2,
with_shape: impl AsArg<Shape2D>,
shape_xform: Transform2D,
shape_motion: Vector2
) -> VariantArray
Returns a list of the points where this shape would touch another, if a given movement was applied. If there are no collisions the list is empty.
This method needs the transformation matrix for this shape (local_xform
), the movement to test on this shape (local_motion
), the shape to check collisions with (with_shape
), the transformation matrix of that shape (shape_xform
), and the movement to test onto the other object (shape_motion
).
Draws a solid shape onto a CanvasItem with the VisualServer API filled with the specified color
. The exact drawing method is specific for each shape and cannot be configured.
The shape’s custom solver bias.
The shape’s custom solver bias.
Methods from Deref<Target = Resource>
Duplicates the resource, returning a new resource. By default, sub-resources are shared between resource copies for efficiency. This can be changed by passing true
to the subresources
argument which will copy the subresources.
Note: If subresources
is true
, this method will only perform a shallow copy. Nested resources within subresources will not be duplicated and will still be shared.
Default Arguments
subresources
-false
If [member resource_local_to_scene] is enabled and the resource was loaded from a PackedScene instantiation, returns the local scene where this resource’s unique copy is in use. Otherwise, returns null
.
The name of the resource. This is an optional identifier.
The path to the resource. In case it has its own file, it will return its filepath. If it’s tied to the scene, it will return the scene’s path, followed by the resource’s index.
If true
, the resource will be made unique in each instance of its local scene. It can thus be modified in a scene instance without impacting other instances of that same scene.
If true
, the resource will be made unique in each instance of its local scene. It can thus be modified in a scene instance without impacting other instances of that same scene.
The name of the resource. This is an optional identifier.
The path to the resource. In case it has its own file, it will return its filepath. If it’s tied to the scene, it will return the scene’s path, followed by the resource’s index.
This method is called when a resource with [member resource_local_to_scene] enabled is loaded from a PackedScene instantiation. Its behavior can be customized by overriding [method _setup_local_to_scene] from script. For most resources, this method performs no base logic. ViewportTexture performs custom logic to properly set the proxy texture and flags in the local viewport.
Sets the path of the resource, potentially overriding an existing cache entry for this path. This differs from setting [member resource_path], as the latter would error out if another resource was already cached for the given path.
Trait Implementations
type RefKind = RefCounted
type RefKind = RefCounted
Creates an explicitly null reference of Self
as a method argument. This makes type
inference easier for the compiler compared to Option
. Read more
Creates a new instance of Self
using a zero-argument constructor, as a Unique
reference. Read more
Performs a dynamic reference downcast to target type. Read more
Performs a static reference upcast to a supertype that is guaranteed to be valid. Read more
Creates a persistent reference to the same Godot object with shared thread access. Read more
unsafe fn assume_thread_local(&self) -> Ref<Self, ThreadLocal> where
Self: GodotObject<RefKind = RefCounted>,
unsafe fn assume_thread_local(&self) -> Ref<Self, ThreadLocal> where
Self: GodotObject<RefKind = RefCounted>,
Creates a persistent reference to the same Godot object with thread-local thread access. Read more
Creates a persistent reference to the same Godot object with unique access. Read more
Recovers a instance ID previously returned by Object::get_instance_id
if the object is
still alive. See also TRef::try_from_instance_id
. Read more
Auto Trait Implementations
impl RefUnwindSafe for Shape2D
impl UnwindSafe for Shape2D