Modules | |
Geometry API definition | |
Data Structures | |
class | PhysicsGeomDef |
Enumerations | |
enum | ActiveState { ACTIVE , INACTIVE , ALWAYS_ACTIVE } |
state of a rigidbody More... | |
Functions | |
proto bool | dBodyCreateStaticEx (notnull IEntity ent, PhysicsGeomDef geoms[]) |
proto bool | dBodyCreateGhostEx (notnull IEntity ent, PhysicsGeomDef geoms[]) |
proto bool | dBodyCreateDynamicEx (notnull IEntity ent, vector centerOfMass, float mass, PhysicsGeomDef geoms[]) |
proto native void | dBodyDestroy (notnull IEntity ent) |
Destroys attached physics body. | |
proto native bool | dBodyIsSet (notnull IEntity ent) |
Has the entity attached physics body? | |
proto native void | dBodySetInteractionLayer (notnull IEntity ent, int mask) |
proto native int | dBodyGetInteractionLayer (notnull IEntity ent) |
proto native void | dBodySetGeomInteractionLayer (notnull IEntity ent, int index, int mask) |
proto native int | dBodyGetGeomInteractionLayer (notnull IEntity ent, int index) |
proto native void | dBodyActive (notnull IEntity ent, ActiveState activeState) |
proto native void | dBodyDynamic (notnull IEntity ent, bool dynamic) |
proto native bool | dBodyIsDynamic (notnull IEntity ent) |
proto native bool | dBodyIsActive (notnull IEntity ent) |
proto native bool | dBodyEnableGravity (notnull IEntity ent, bool enable) |
proto native void | dBodySetDamping (notnull IEntity ent, float linearDamping, float angularDamping) |
proto native void | dBodySetSleepingTreshold (notnull IEntity body, float linearTreshold, float angularTreshold) |
proto native bool | dBodyIsSolid (notnull IEntity ent) |
proto native void | dBodySetSolid (notnull IEntity ent, bool solid) |
proto native void | dBodyEnableCCD (notnull IEntity body, float maxMotion, float sphereCastRadius) |
proto native void | dBodySetLinearFactor (notnull IEntity body, vector linearFactor) |
proto native vector | dBodyGetCenterOfMass (notnull IEntity body) |
returns center of mass offset | |
proto native vector | GetVelocity (notnull IEntity ent) |
Returns linear velocity. | |
proto native void | SetVelocity (notnull IEntity ent, vector vel) |
Sets linear velocity (for Rigid bodies) | |
proto native dBlock | dBodyCollisionBlock (notnull IEntity ent1, notnull IEntity ent2) |
Disables collisions between two entities. | |
proto native void | dBodyRemoveBlock (notnull IEntity worldEntity, dBlock block) |
proto native void | dBodySetInertiaTensorV (notnull IEntity body, vector v) |
proto native void | dBodySetInertiaTensorM (notnull IEntity body, vector m[3]) |
proto native float | dBodyGetMass (notnull IEntity ent) |
proto native void | dBodySetMass (notnull IEntity body, float mass) |
proto native void | dBodyApplyTorqueImpulse (notnull IEntity ent, vector torqueImpulse) |
proto native vector | dBodyGetInvInertiaDiagLocal (notnull IEntity ent) |
proto native float | dBodyComputeImpulseDenominator (notnull IEntity ent, vector position, vector normal) |
proto native float | dBodyComputeAngularImpulseDenominator (notnull IEntity ent, vector axis) |
proto native vector | dBodyGetLocalInertia (notnull IEntity ent) |
proto void | dBodyGetInvInertiaTensorWorld (notnull IEntity body, out vector inertiaTensorWS[3]) |
proto void | dBodyApplyImpulseAt (notnull IEntity body, vector impulse, vector pos) |
Applies impuls on a pos position in world coordinates. | |
proto void | dBodyApplyImpulse (notnull IEntity body, vector impulse) |
Applies impuls on a rigidbody (origin) | |
proto void | dBodyApplyForce (notnull IEntity body, vector force) |
Applies constant force on a rigidbody (origin) | |
proto void | dBodyApplyForceAt (notnull IEntity body, vector pos, vector force) |
Applies constant force on a position. | |
proto native void | dBodyApplyTorque (notnull IEntity body, vector torque) |
proto vector | dBodyGetAngularVelocity (notnull IEntity body) |
Gets angular velocity for a rigidbody. | |
proto void | dBodySetAngularVelocity (notnull IEntity body, vector angvel) |
Changed an angular velocity. | |
proto native void | dBodySetTargetMatrix (notnull IEntity body, vector matrix[4], float timeslice) |
Sets target transformation. If timeslice == dt (simulation step delta time), it will happen in next step, otherwise in time = timeslice. | |
proto native void | dBodyGetWorldTransform (notnull IEntity body, out vector matrix[4]) |
proto native void | dBodyGetDirectWorldTransform (notnull IEntity body, out vector matrix[4]) |
proto native float | dBodyGetKineticEnergy (notnull IEntity body) |
proto native vector | dBodyGetVelocityAt (notnull IEntity body, vector globalpos) |
enum ActiveState |
proto native void dBodyActive | ( | notnull IEntity | ent, |
ActiveState | activeState | ||
) |
Applies constant force on a rigidbody (origin)
Applies constant force on a position.
Applies impuls on a rigidbody (origin)
Referenced by DayZInfected::EvaluateDeathAnimation(), Entity::RegisterTransportHit(), and ThrowEntityFromInventory().
Applies impuls on a pos position in world coordinates.
Referenced by ActionPushCarCB::ApplyForce(), and ApplyForce().
Disables collisions between two entities.
proto native float dBodyComputeImpulseDenominator | ( | notnull IEntity | ent, |
vector | position, | ||
vector | normal | ||
) |
proto bool dBodyCreateDynamicEx | ( | notnull IEntity | ent, |
vector | centerOfMass, | ||
float | mass, | ||
PhysicsGeomDef | geoms[] | ||
) |
Creates RigidBody from custom made geometries. The geometries are deleted when rigid body is destroyed
centerOfMass | Offset from object-pivot to center of mass |
mass | Body mass |
geoms | array of custom made geometries autoptr PhysicsGeomDef geoms[] = {PhysicsGeomDef("", dGeomCreateBox(size), "material/default", 0xffffffff)};
dBodyCreateDynamicEx(this, center, 1.0, geoms);
Definition EnPhysics.c:32 proto bool dBodyCreateDynamicEx(notnull IEntity ent, vector centerOfMass, float mass, PhysicsGeomDef geoms[]) |
proto bool dBodyCreateGhostEx | ( | notnull IEntity | ent, |
PhysicsGeomDef | geoms[] | ||
) |
proto bool dBodyCreateStaticEx | ( | notnull IEntity | ent, |
PhysicsGeomDef | geoms[] | ||
) |
Creates RigidBody from custom made geometries. The geometries are deleted when rigid body is destroyed
geoms | array of custom made geometries autoptr PhysicsGeomDef geoms[] = {PhysicsGeomDef("", dGeomCreateBox(size), "material/default", 0xffffffff)};
dBodyCreateStaticEx(this, geoms);
proto bool dBodyCreateStaticEx(notnull IEntity ent, PhysicsGeomDef geoms[]) |
proto native void dBodyDestroy | ( | notnull IEntity | ent | ) |
Destroys attached physics body.
Referenced by ScriptConsoleItemsTab::SetPreviewObject().
If both maxMotion and shapeCastRadius is >=0 then the continuous collision detection is enabled. If you want to disable it, use -1
maxMotion | max motion threshold when sphere-cast is performed, to find time of impact. It should be little bit less than size of the geometry to catch the situation when tunelling can happen |
sphereCastRadius | The radius of the largest possible sphere, that is completelly inside the body geometry. |
Gets angular velocity for a rigidbody.
Referenced by OnUpdate().
Referenced by EntityAI::IsIgnoredObject(), and IsSpaceFor().
Referenced by ActionPushCarCB::ApplyForce(), ApplyForce(), Car::CheckContactCache(), and EntityAI::GetMomentum().
Referenced by BoatScript::EOnSimulate(), and BoatScript::OnEngineStop().
Referenced by Entity::CanBeTargetedByAI(), and FireplaceBase::ContactEvent().
Referenced by InventoryItem::OnVariablesSynchronized(), and Weapon::UseWeaponObstruction().
Changed an angular velocity.
body | Rigid body |
angvel | Angular velocity, rotation around x, y and z axis (not yaw/pitch/roll) |
Referenced by DeveloperTeleport::SetPlayerPosition().
proto native void dBodySetDamping | ( | notnull IEntity | ent, |
float | linearDamping, | ||
float | angularDamping | ||
) |
Sets scale factor for all impulses/velocities/forces. Default is <1,1,1>. Zero any axis if you want to do 2D physics
proto native void dBodySetSleepingTreshold | ( | notnull IEntity | body, |
float | linearTreshold, | ||
float | angularTreshold | ||
) |
Sets target transformation. If timeslice == dt (simulation step delta time), it will happen in next step, otherwise in time = timeslice.
Returns linear velocity.
ent | IEntity entity which origin will be set |
mat | vector [4] matrix to be set |
vector
linear velocity Referenced by Car::CheckContactCache(), BoatScript::EOnPostSimulate(), Car::EOnPostSimulate(), EntityAI::GetMomentum(), BoatHud::GetSpeedometer(), Weapon::LiftWeaponCheckEx(), DayZCreature::ModCommandHandlerBefore(), BoatScript::OnContact(), Car::OnContact(), OnUpdate(), Entity::RegisterTransportHit(), and ThrowAllItemsInInventory().
Sets linear velocity (for Rigid bodies)
ent | entity which velocity will be set |
vel | velocity vector to be set |
Referenced by Capture(), Release(), and DeveloperTeleport::SetPlayerPosition().