mirror of
https://github.com/Insality/druid
synced 2025-06-27 10:27:48 +02:00
275 lines
10 KiB
Lua
275 lines
10 KiB
Lua
--[[
|
|
Generated with github.com/astrochili/defold-annotations
|
|
Defold 1.8.0
|
|
|
|
Box2D b2Body documentation
|
|
|
|
Functions for interacting with Box2D bodies.
|
|
--]]
|
|
|
|
---@diagnostic disable: lowercase-global
|
|
---@diagnostic disable: missing-return
|
|
---@diagnostic disable: duplicate-doc-param
|
|
---@diagnostic disable: duplicate-set-field
|
|
|
|
---@class defold_api.b2d.body
|
|
b2d.body = {}
|
|
|
|
---Dynamic body
|
|
b2d.body.B2_DYNAMIC_BODY = nil
|
|
|
|
---Kinematic body
|
|
b2d.body.B2_KINEMATIC_BODY = nil
|
|
|
|
---Static (immovable) body
|
|
b2d.body.B2_STATIC_BODY = nil
|
|
|
|
---Apply an angular impulse.
|
|
---@param body b2Body body
|
|
---@param impulse number impulse the angular impulse in units of kgmm/s
|
|
function b2d.body.apply_angular_impulse(body, impulse) end
|
|
|
|
---Apply a force at a world point. If the force is not
|
|
---applied at the center of mass, it will generate a torque and
|
|
---affect the angular velocity. This wakes up the body.
|
|
---@param body b2Body body
|
|
---@param force vector3 the world force vector, usually in Newtons (N).
|
|
---@param point vector3 the world position of the point of application.
|
|
function b2d.body.apply_force(body, force, point) end
|
|
|
|
---Apply a force to the center of mass. This wakes up the body.
|
|
---@param body b2Body body
|
|
---@param force vector3 the world force vector, usually in Newtons (N).
|
|
function b2d.body.apply_force_to_center(body, force) end
|
|
|
|
---Apply an impulse at a point. This immediately modifies the velocity.
|
|
---It also modifies the angular velocity if the point of application
|
|
---is not at the center of mass. This wakes up the body.
|
|
---@param body b2Body body
|
|
---@param impulse vector3 the world impulse vector, usually in N-seconds or kg-m/s.
|
|
---@param point vector3 the world position of the point of application.
|
|
function b2d.body.apply_linear_impulse(body, impulse, point) end
|
|
|
|
---Apply a torque. This affects the angular velocity
|
|
---without affecting the linear velocity of the center of mass.
|
|
---This wakes up the body.
|
|
---@param body b2Body body
|
|
---@param torque number torque about the z-axis (out of the screen), usually in N-m.
|
|
function b2d.body.apply_torque(body, torque) end
|
|
|
|
---Print the body representation to the log output
|
|
---@param body b2Body body
|
|
function b2d.body.dump(body) end
|
|
|
|
---Get the angular damping of the body.
|
|
---@param body b2Body body
|
|
---@return number damping the damping
|
|
function b2d.body.get_angular_damping(body) end
|
|
|
|
---Get the angular velocity.
|
|
---@param body b2Body body
|
|
---@return number velocity the angular velocity in radians/second.
|
|
function b2d.body.get_angular_velocity(body) end
|
|
|
|
---Set the angular velocity.
|
|
---@param body b2Body body
|
|
---@param omega number the new angular velocity in radians/second.
|
|
function b2d.body.get_angular_velocity(body, omega) end
|
|
|
|
---Get the gravity scale of the body.
|
|
---@param body b2Body body
|
|
---@return number scale the scale
|
|
function b2d.body.get_gravity_scale(body) end
|
|
|
|
---Get the rotational inertia of the body about the local origin.
|
|
---@param body b2Body body
|
|
---@return number inertia the rotational inertia, usually in kg-m^2.
|
|
function b2d.body.get_inertia(body) end
|
|
|
|
---Get the linear damping of the body.
|
|
---@param body b2Body body
|
|
---@return number damping the damping
|
|
function b2d.body.get_linear_damping(body) end
|
|
|
|
---Get the linear velocity of the center of mass.
|
|
---@param body b2Body body
|
|
---@return vector3 velocity the linear velocity of the center of mass.
|
|
function b2d.body.get_linear_velocity(body) end
|
|
|
|
---Get the world velocity of a local point.
|
|
---@param body b2Body body
|
|
---@param world_point vector3 a point in local coordinates.
|
|
---@return vector3 velocity the world velocity of a point.
|
|
function b2d.body.get_linear_velocity_from_world_point(body, world_point) end
|
|
|
|
---Get the world linear velocity of a world point attached to this body.
|
|
---@param body b2Body body
|
|
---@param world_point vector3 a point in world coordinates.
|
|
---@return vector3 velocity the world velocity of a point.
|
|
function b2d.body.get_linear_velocity_from_world_point(body, world_point) end
|
|
|
|
---Get the local position of the center of mass.
|
|
---@param body b2Body body
|
|
---@return vector3 center Get the local position of the center of mass.
|
|
function b2d.body.get_local_center(body) end
|
|
|
|
---Gets a local point relative to the body's origin given a world point.
|
|
---@param body b2Body body
|
|
---@param world_point vector3 a point in world coordinates.
|
|
---@return vector3 vector the corresponding local point relative to the body's origin.
|
|
function b2d.body.get_local_point(body, world_point) end
|
|
|
|
---Gets a local vector given a world vector.
|
|
---@param body b2Body body
|
|
---@param world_vector vector3 a vector in world coordinates.
|
|
---@return vector3 vector the corresponding local vector.
|
|
function b2d.body.get_local_vector(body, world_vector) end
|
|
|
|
---Get the total mass of the body.
|
|
---@param body b2Body body
|
|
---@return number mass the mass, usually in kilograms (kg).
|
|
function b2d.body.get_mass(body) end
|
|
|
|
---Get the next body in the world's body list.
|
|
---@param body b2Body body
|
|
---@return b2Body body the next body
|
|
function b2d.body.get_next(body) end
|
|
|
|
---Get the world body origin position.
|
|
---@param body b2Body body
|
|
---@return vector3 position the world position of the body's origin.
|
|
function b2d.body.get_position(body) end
|
|
|
|
---Get the type of this body.
|
|
---@param body b2Body body
|
|
---@return b2BodyType type the body type
|
|
function b2d.body.get_type(body) end
|
|
|
|
---Get the parent world of this body.
|
|
---@param body b2Body body
|
|
---@return b2World world
|
|
function b2d.body.get_world(body) end
|
|
|
|
---Get the angle in radians.
|
|
---@param body b2Body body
|
|
---@return number angle the current world rotation angle in radians.
|
|
function b2d.body.get_world_center(body) end
|
|
|
|
---Get the world position of the center of mass.
|
|
---@param body b2Body body
|
|
---@return vector3 center Get the world position of the center of mass.
|
|
function b2d.body.get_world_center(body) end
|
|
|
|
---Get the world coordinates of a point given the local coordinates.
|
|
---@param body b2Body body
|
|
---@param local_vector vector3 localPoint a point on the body measured relative the the body's origin.
|
|
---@return vector3 vector the same point expressed in world coordinates.
|
|
function b2d.body.get_world_point(body, local_vector) end
|
|
|
|
---Get the world coordinates of a vector given the local coordinates.
|
|
---@param body b2Body body
|
|
---@param local_vector vector3 a vector fixed in the body.
|
|
---@return vector3 vector the same vector expressed in world coordinates.
|
|
function b2d.body.get_world_vector(body, local_vector) end
|
|
|
|
---Get the active state of the body.
|
|
---@param body b2Body body
|
|
---@return bool enabled is the body active
|
|
function b2d.body.is_active(body) end
|
|
|
|
---Get the sleeping state of this body.
|
|
---@param body b2Body body
|
|
---@return bool enabled true if the body is awake, false if it's sleeping.
|
|
function b2d.body.is_awake(body) end
|
|
|
|
---Is this body in bullet mode
|
|
---@param body b2Body body
|
|
---@return bool enabled true if the body is in bullet mode
|
|
function b2d.body.is_bullet(body) end
|
|
|
|
---Does this body have fixed rotation?
|
|
---@param body b2Body body
|
|
---@return bool enabled is the rotation fixed
|
|
function b2d.body.is_fixed_rotation(body) end
|
|
|
|
---Is this body allowed to sleep
|
|
---@param body b2Body body
|
|
---@return bool enabled true if the body is allowed to sleep
|
|
function b2d.body.is_sleeping_allowed(body) end
|
|
|
|
---This resets the mass properties to the sum of the mass properties of the fixtures.
|
|
---This normally does not need to be called unless you called SetMassData to override
|
|
---@param body b2Body body
|
|
function b2d.body.reset_mass_data(body) end
|
|
|
|
---Set the active state of the body. An inactive body is not
|
|
---simulated and cannot be collided with or woken up.
|
|
---If you pass a flag of true, all fixtures will be added to the
|
|
---broad-phase.
|
|
---If you pass a flag of false, all fixtures will be removed from
|
|
---the broad-phase and all contacts will be destroyed.
|
|
---Fixtures and joints are otherwise unaffected. You may continue
|
|
---to create/destroy fixtures and joints on inactive bodies.
|
|
---Fixtures on an inactive body are implicitly inactive and will
|
|
---not participate in collisions, ray-casts, or queries.
|
|
---Joints connected to an inactive body are implicitly inactive.
|
|
---An inactive body is still owned by a b2World object and remains
|
|
---in the body list.
|
|
---@param body b2Body body
|
|
---@param enable bool true if the body should be active
|
|
function b2d.body.set_active(body, enable) end
|
|
|
|
---Set the angular damping of the body.
|
|
---@param body b2Body body
|
|
---@param damping number the damping
|
|
function b2d.body.set_angular_damping(body, damping) end
|
|
|
|
---Set the sleep state of the body. A sleeping body has very low CPU cost.
|
|
---@param body b2Body body
|
|
---@param enable bool flag set to false to put body to sleep, true to wake it.
|
|
function b2d.body.set_awake(body, enable) end
|
|
|
|
---Should this body be treated like a bullet for continuous collision detection?
|
|
---@param body b2Body body
|
|
---@param enable bool if true, the body will be in bullet mode
|
|
function b2d.body.set_bullet(body, enable) end
|
|
|
|
---Set this body to have fixed rotation. This causes the mass to be reset.
|
|
---@param body b2Body body
|
|
---@param enable bool true if the rotation should be fixed
|
|
function b2d.body.set_fixed_rotation(body, enable) end
|
|
|
|
---Set the gravity scale of the body.
|
|
---@param body b2Body body
|
|
---@param scale number the scale
|
|
function b2d.body.set_gravity_scale(body, scale) end
|
|
|
|
---Set the linear damping of the body.
|
|
---@param body b2Body body
|
|
---@param damping number the damping
|
|
function b2d.body.set_linear_damping(body, damping) end
|
|
|
|
---Set the linear velocity of the center of mass.
|
|
---@param body b2Body body
|
|
---@param velocity vector3 the new linear velocity of the center of mass.
|
|
function b2d.body.set_linear_velocity(body, velocity) end
|
|
|
|
---You can disable sleeping on this body. If you disable sleeping, the body will be woken.
|
|
---@param body b2Body body
|
|
---@param enable bool if false, the body will never sleep, and consume more CPU
|
|
function b2d.body.set_sleeping_allowed(body, enable) end
|
|
|
|
---Set the position of the body's origin and rotation.
|
|
---This breaks any contacts and wakes the other bodies.
|
|
---Manipulating a body's transform may cause non-physical behavior.
|
|
---@param body b2Body body
|
|
---@param position vector3 the world position of the body's local origin.
|
|
---@param angle number the world position of the body's local origin.
|
|
function b2d.body.set_transform(body, position, angle) end
|
|
|
|
---Set the type of this body. This may alter the mass and velocity.
|
|
---@param body b2Body body
|
|
---@param type b2BodyType the body type
|
|
function b2d.body.set_type(body, type) end
|
|
|
|
return b2d.body |