Struct gdnative_bindings_lily::BulletPhysicsServer [−][src]
pub struct BulletPhysicsServer { /* fields omitted */ }
Expand description
core class BulletPhysicsServer
inherits PhysicsServer
(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
BulletPhysicsServer 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 = PhysicsServer>
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
-Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 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 Area.
Gets the instance ID of the object the area is assigned to.
Returns an area parameter value. A list of available parameters is on the [enum AreaParameter] constants.
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.
If true
, area collides with rays.
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. A list of available parameters is on the [enum AreaParameter] constants.
Sets object pickable with rays.
Substitutes a given area shape by another. The old shape is selected by its index, the new one by its [RID].
Sets the transform matrix for an area shape.
Assigns a space to the area.
Sets the space override mode for the area. The modes are described in the [enum AreaSpaceOverrideMode] constants.
Sets the transform matrix for an area.
Adds a body to the list of bodies exempt from collisions.
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
-Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )
disabled
-false
Gives the body a push at a position
in the direction of the impulse
.
Gives the body a push to rotate it.
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. The first parameter can be any value from [enum BodyMode] constants, for the type of body created. Additionally, the body can be created in sleeping state to save processing time.
Default Arguments
mode
-2
init_sleeping
-false
Returns the physics layer or layers a body belongs to.
Returns the physics layer or layers a body can collide with.
Returns the PhysicsDirectBodyState 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. A list of available parameters is on the [enum BodyParameter] constants.
Returns the [RID] of the nth shape of a body.
Returns the number of shapes assigned to a body.
Returns the transform matrix of a body shape.
Returns the [RID] of the space assigned to a body.
Returns a body state.
If true
, the continuous collision detection mode is enabled.
Returns whether a body uses a callback function to calculate its own physics (see [method body_set_force_integration_callback]).
If true
, the body can be detected by rays.
Removes a body from the list of bodies exempt from collisions. Continuous collision detection tries to predict where a moving body will collide, instead of moving it and correcting its movement if it collided.
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.
If true
, the continuous collision detection mode is enabled.
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, from 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. A list of available parameters is on the [enum BodyParameter] constants.
Sets the body pickable with rays if enabled
is set.
Substitutes a given body shape by another. The old shape is selected by its index, the new one by its [RID].
Sets the transform matrix for a body shape.
Assigns a space to the body (see [method space_create]).
Sets a body state (see [enum BodyState] constants).
Gets a cone_twist_joint parameter (see [enum ConeTwistJointParam] constants).
Sets a cone_twist_joint parameter (see [enum ConeTwistJointParam] constants).
Destroys any of the objects created by PhysicsServer. If the [RID] passed is not one of the objects that can be created by PhysicsServer, an error will be sent to the console.
Gets a generic_6_DOF_joint flag (see [enum G6DOFJointAxisFlag] constants).
Gets a generic_6_DOF_joint parameter (see [enum G6DOFJointAxisParam] constants).
Sets a generic_6_DOF_joint flag (see [enum G6DOFJointAxisFlag] constants).
Sets a generic_6_DOF_joint parameter (see [enum G6DOFJointAxisParam] constants).
Returns an Info defined by the [enum ProcessInfo] input given.
Gets a hinge_joint flag (see [enum HingeJointFlag] constants).
Gets a hinge_joint parameter (see [enum HingeJointParam]).
Sets a hinge_joint flag (see [enum HingeJointFlag] constants).
Sets a hinge_joint parameter (see [enum HingeJointParam] constants).
Creates a ConeTwistJoint.
Creates a Generic6DOFJoint.
Creates a HingeJoint.
Creates a PinJoint.
Creates a SliderJoint.
Gets the priority value of the Joint.
Returns the type of the Joint.
Sets the priority value of the Joint.
Returns position of the joint in the local space of body a of the joint.
Returns position of the joint in the local space of body b of the joint.
Gets a pin_joint parameter (see [enum PinJointParam] constants).
Sets position of the joint in the local space of body a of the joint.
Sets position of the joint in the local space of body b of the joint.
Sets a pin_joint parameter (see [enum PinJointParam] constants).
Activates or deactivates the 3D physics engine.
Creates a shape of a type from [enum ShapeType]. Does not assign it to a body or an area. To do so, you must use [method area_set_shape] or [method body_set_shape].
Returns the shape data.
Returns the type of shape (see [enum ShapeType] constants).
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].
Gets a slider_joint parameter (see [enum SliderJointParam] constants).
Gets a slider_joint parameter (see [enum SliderJointParam] constants).
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<PhysicsDirectSpaceState, Shared>>
pub fn space_get_direct_state(
&self,
space: Rid
) -> Option<Ref<PhysicsDirectSpaceState, Shared>>
Returns the state of a space, a PhysicsDirectSpaceState. 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. A list of available parameters is on the [enum SpaceParameter] constants.
Trait Implementations
type Target = PhysicsServer
type Target = PhysicsServer
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 BulletPhysicsServer
impl !Send for BulletPhysicsServer
impl !Sync for BulletPhysicsServer
impl Unpin for BulletPhysicsServer
impl UnwindSafe for BulletPhysicsServer