Struct gdnative_bindings_lily::Physics2DServerSW [−][src]
pub struct Physics2DServerSW { /* fields omitted */ }
Expand description
core class Physics2DServerSW
inherits Physics2DServer
(unsafe).
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.
Class hierarchy
Physics2DServerSW 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
.
Methods from Deref<Target = Physics2DServer>
Adds a shape to the area, along with a transform matrix. Shapes are usually referenced by their index, so you should track which shape has a given index.
Default Arguments
transform
-Transform2D( 1, 0, 0, 1, 0, 0 )
disabled
-false
Assigns the area to a descendant of Object, so it can exist in the node tree.
Removes all shapes from an area. It does not delete the shapes, so they can be reassigned later.
Creates an Area2D.
Gets the instance ID of the object the area is assigned to.
Returns an area parameter value. See [enum AreaParameter] for a list of available parameters.
Returns the [RID] of the nth shape of an area.
Returns the number of shapes assigned to an area.
Returns the transform matrix of a shape within an area.
Returns the space assigned to the area.
Returns the space override mode for the area.
Returns the transform matrix for an area.
Removes a shape from an area. It does not delete the shape, so it can be reassigned later.
pub fn area_set_area_monitor_callback(
&self,
area: Rid,
receiver: impl AsArg<Object>,
method: impl Into<GodotString>
)
pub fn area_set_area_monitor_callback(
&self,
area: Rid,
receiver: impl AsArg<Object>,
method: impl Into<GodotString>
)
Assigns the area to one or many physics layers.
Sets which physics layers the area will monitor.
pub fn area_set_monitor_callback(
&self,
area: Rid,
receiver: impl AsArg<Object>,
method: impl Into<GodotString>
)
pub fn area_set_monitor_callback(
&self,
area: Rid,
receiver: impl AsArg<Object>,
method: impl Into<GodotString>
)
Sets the function to call when any body/area enters or exits the area. This callback will be called for any object interacting with the area, and takes five parameters: 1: [constant AREA_BODY_ADDED] or [constant AREA_BODY_REMOVED], depending on whether the object entered or exited the area. 2: [RID] of the object that entered/exited the area. 3: Instance ID of the object that entered/exited the area. 4: The shape index of the object that entered/exited the area. 5: The shape index of the area where the object entered/exited.
Sets the value for an area parameter. See [enum AreaParameter] for a list of available parameters.
Substitutes a given area shape by another. The old shape is selected by its index, the new one by its [RID].
Disables a given shape in an area.
Sets the transform matrix for an area shape.
Assigns a space to the area.
Sets the space override mode for the area. See [enum AreaSpaceOverrideMode] for a list of available modes.
Sets the transform matrix for an area.
Adds a body to the list of bodies exempt from collisions.
Adds a positioned force to the applied force and torque. As with [method body_apply_impulse], both the force and the offset from the body origin are in global coordinates. A force differs from an impulse in that, while the two are forces, the impulse clears itself after being applied.
Adds a shape to the body, along with a transform matrix. Shapes are usually referenced by their index, so you should track which shape has a given index.
Default Arguments
transform
-Transform2D( 1, 0, 0, 1, 0, 0 )
disabled
-false
Adds a positioned impulse to the applied force and torque. Both the force and the offset from the body origin are in global coordinates.
Assigns the area to a descendant of Object, so it can exist in the node tree.
Removes all shapes from a body.
Creates a physics body.
Returns the physics layer or layers a body belongs to.
Returns the physics layer or layers a body can collide with.
Returns the continuous collision detection mode.
pub fn body_get_direct_state(
&self,
body: Rid
) -> Option<Ref<Physics2DDirectBodyState, Shared>>
pub fn body_get_direct_state(
&self,
body: Rid
) -> Option<Ref<Physics2DDirectBodyState, Shared>>
Returns the Physics2DDirectBodyState of the body.
Returns the maximum contacts that can be reported. See [method body_set_max_contacts_reported].
Returns the body mode.
Gets the instance ID of the object the area is assigned to.
Returns the value of a body parameter. See [enum BodyParameter] for a list of available parameters.
Returns the [RID] of the nth shape of a body.
Returns the number of shapes assigned to a body.
Returns the metadata of a shape of a body.
Returns the transform matrix of a body shape.
Returns the [RID] of the space assigned to a body.
Returns a body state.
Returns whether a body uses a callback function to calculate its own physics (see [method body_set_force_integration_callback]).
Removes a body from the list of bodies exempt from collisions.
Removes a shape from a body. The shape is not deleted, so it can be reused afterwards.
Sets an axis velocity. The velocity in the given vector axis will be set as the given vector length. This is useful for jumping behavior.
Sets the physics layer or layers a body belongs to.
Sets the physics layer or layers a body can collide with.
Sets the continuous collision detection mode using one of the [enum CCDMode] constants. Continuous collision detection tries to predict where a moving body will collide, instead of moving it and correcting its movement if it collided.
pub fn body_set_force_integration_callback(
&self,
body: Rid,
receiver: impl AsArg<Object>,
method: impl Into<GodotString>,
userdata: impl OwnedToVariant
)
pub fn body_set_force_integration_callback(
&self,
body: Rid,
receiver: impl AsArg<Object>,
method: impl Into<GodotString>,
userdata: impl OwnedToVariant
)
Sets the function used to calculate physics for an object, if that object allows it (see [method body_set_omit_force_integration]).
Default Arguments
userdata
-null
Sets the maximum contacts to report. Bodies can keep a log of the contacts with other bodies, this is enabled by setting the maximum amount of contacts reported to a number greater than 0.
Sets the body mode using one of the [enum BodyMode] constants.
Sets whether a body uses a callback function to calculate its own physics (see [method body_set_force_integration_callback]).
Sets a body parameter. See [enum BodyParameter] for a list of available parameters.
Substitutes a given body shape by another. The old shape is selected by its index, the new one by its [RID].
Enables one way collision on body if enable
is true
.
Disables shape in body if disable
is true
.
pub fn body_set_shape_metadata(
&self,
body: Rid,
shape_idx: i64,
metadata: impl OwnedToVariant
)
pub fn body_set_shape_metadata(
&self,
body: Rid,
shape_idx: i64,
metadata: impl OwnedToVariant
)
Sets metadata of a shape within a body. This metadata is different from [method Object.set_meta], and can be retrieved on shape queries.
Sets the transform matrix for a body shape.
Assigns a space to the body (see [method space_create]).
Sets a body state using one of the [enum BodyState] constants. Note that the method doesn’t take effect immediately. The state will change on the next physics frame.
pub fn body_test_motion(
&self,
body: Rid,
from: Transform2D,
motion: Vector2,
infinite_inertia: bool,
margin: f64,
result: impl AsArg<Physics2DTestMotionResult>
) -> bool
pub fn body_test_motion(
&self,
body: Rid,
from: Transform2D,
motion: Vector2,
infinite_inertia: bool,
margin: f64,
result: impl AsArg<Physics2DTestMotionResult>
) -> bool
Returns true
if a collision would result from moving in the given direction from a given point in space. Margin increases the size of the shapes involved in the collision detection. Physics2DTestMotionResult can be passed to return additional information in.
Default Arguments
margin
-0.08
result
-null
Creates a damped spring joint between two bodies. If not specified, the second body is assumed to be the joint itself.
Returns the value of a damped spring joint parameter.
Sets a damped spring joint parameter. See [enum DampedStringParam] for a list of available parameters.
Destroys any of the objects created by Physics2DServer. If the [RID] passed is not one of the objects that can be created by Physics2DServer, an error will be sent to the console.
Returns information about the current state of the 2D physics engine. See [enum ProcessInfo] for a list of available states.
Creates a groove joint between two bodies. If not specified, the bodies are assumed to be the joint itself.
Returns the value of a joint parameter.
Returns a joint’s type (see [enum JointType]).
Sets a joint parameter. See [enum JointParam] for a list of available parameters.
Creates a pin joint between two bodies. If not specified, the second body is assumed to be the joint itself.
Activates or deactivates the 2D physics engine.
Returns the shape data.
Returns a shape’s type (see [enum ShapeType]).
Sets the shape data that defines its shape and size. The data to be passed depends on the kind of shape created [method shape_get_type].
Creates a space. A space is a collection of parameters for the physics engine that can be assigned to an area or a body. It can be assigned to an area with [method area_set_space], or to a body with [method body_set_space].
pub fn space_get_direct_state(
&self,
space: Rid
) -> Option<Ref<Physics2DDirectSpaceState, Shared>>
pub fn space_get_direct_state(
&self,
space: Rid
) -> Option<Ref<Physics2DDirectSpaceState, Shared>>
Returns the state of a space, a Physics2DDirectSpaceState. This object can be used to make collision/intersection queries.
Returns the value of a space parameter.
Returns whether the space is active.
Marks a space as active. It will not have an effect, unless it is assigned to an area or body.
Sets the value for a space parameter. See [enum SpaceParameter] for a list of available parameters.
Trait Implementations
type Target = Physics2DServer
type Target = Physics2DServer
The resulting type after dereferencing.
Dereferences the value.
Mutably dereferences the value.
type RefKind = ManuallyManaged
type RefKind = ManuallyManaged
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 Physics2DServerSW
impl !Send for Physics2DServerSW
impl !Sync for Physics2DServerSW
impl Unpin for Physics2DServerSW
impl UnwindSafe for Physics2DServerSW