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().