Nuclide
Software Development Kit for id Tech
|
This entity class represents physically-simulated entities. More...
#include <NSPhysicsEntity.h>
Public Member Functions | |
void | NSPhysicsEntity (void) |
virtual void | Respawn (void) |
Server: Called when the entity first spawns or when game-logic requests the entity to return to its original spawn state. More... | |
virtual void | SpawnKey (string, string) |
This method handles entity key/value pairs on map load. More... | |
virtual void | Spawned (void) |
Called when the entity is fulled initialized. More... | |
virtual void | Pain (entity, entity, int, vector, int) |
Called whenever the entity receives damage. More... | |
virtual void | Death (entity, entity, int, vector, int) |
Called when the health is equal or below 0. More... | |
virtual void | EvaluateEntity (void) |
Run each tic after physics are run to determine if we need to send updates over the network. More... | |
virtual float | SendEntity (entity, float) |
Called by the engine whenever we need to send a client an update about this entity. More... | |
virtual void | Save (float) |
Handles saving a copy of this entity to a given filehandle. More... | |
virtual void | Restore (string, string) |
Similar to NSIO::SpawnKey but for save-game fields. More... | |
virtual void | Touch (entity) |
Called whenever we're touching another entity. More... | |
virtual void | ReceiveEntity (float, float) |
Client: Handles network updates from the server for the associated entity. More... | |
virtual void | postdraw (void) |
Client: Run after the rendering of 3D world is complete. More... | |
nonvirtual void | _UpdateBuoyancy (void) |
nonvirtual void | _UpdateMass (void) |
nonvirtual void | SetFriction (float) |
Sets the friction multiplier for this entity. More... | |
nonvirtual float | GetFriction (void) |
Returns the friction multiplayer for this entity. More... | |
nonvirtual float | CalculateImpactDamage (int, int) |
Called by the physics routine to figure out the impact damage. More... | |
nonvirtual vector | AlignAngles (vector, vector) |
Call to align angles of the object to the ones passed. More... | |
nonvirtual void | ApplyForceCenter (vector) |
Call to apply a force (absolute velocity vector) to the center of the entity. More... | |
nonvirtual void | ApplyForceOffset (vector, vector) |
Call to apply force (absolute velocity vector) to an absolute position on the entity. More... | |
nonvirtual void | ApplyTorqueCenter (vector) |
Call to apply torque (angular velocity vector) to the center of the entity. More... | |
nonvirtual void | EnableDrag (bool) |
Call to set whether the entity should be affected by drag. More... | |
nonvirtual void | EnableGravity (bool) |
Call to set whether the entity should be affected by gravity. More... | |
nonvirtual void | EnableMotion (bool) |
Call to set whether the entity should be able to move. More... | |
nonvirtual float | GetLinearDamping (void) |
Returns the linear damping of the entity. More... | |
nonvirtual float | GetAngularDamping (void) |
Returns the angular damping of the entity. More... | |
nonvirtual float | GetEnergy (void) |
Returns the linear and rotational kinetic energy combined. More... | |
nonvirtual float | GetInertia (void) |
Returns the inertia modifier of this entity. More... | |
nonvirtual float | GetInvInertia (void) |
Returns 1 divided by the angular inertia of this entity. More... | |
nonvirtual float | GetInvMass (void) |
Returns 1 divided by the mass of this entity. More... | |
nonvirtual float | GetMass (void) |
Returns the mass of the entity. More... | |
nonvirtual vector | GetMassCenter (void) |
Returns the center of mass of the entity. More... | |
nonvirtual float | GetRotDamping (void) |
Returns the rotational damping of the entity. More... | |
nonvirtual float | GetSpeedDamping (void) |
Returns the speed damping of the entity. More... | |
nonvirtual float | GetSurfaceArea (void) |
Returns the surface area of the entity. More... | |
nonvirtual float | GetVolume (void) |
Returns the volume of the entity. More... | |
nonvirtual bool | IsAsleep (void) |
Returns whether the entity is at rest and not moving. More... | |
nonvirtual bool | IsCollisionEnabled (void) |
Returns whether the entity is able to collide with anything. More... | |
nonvirtual bool | IsDragEnabled (void) |
Returns whether the entity is affected by drag. More... | |
nonvirtual bool | IsGravityEnabled (void) |
Returns whether the entity is affected by gravity. More... | |
nonvirtual bool | IsMotionEnabled (void) |
Returns whether the entity is able to move by itself. More... | |
nonvirtual bool | IsMoveable (void) |
Returns whether the entity is able to move. More... | |
nonvirtual bool | IsPenetrating (void) |
Returns whether the entity is penetrating another object. More... | |
nonvirtual void | SetAngleDragCoefficient (float) |
Call to set the amount of rotational drag the entity experiences. More... | |
nonvirtual void | SetBuoyancyRatio (float) |
Call to set the buoyancy ratio of the entity. More... | |
nonvirtual void | SetDamping (float, float) |
Call to set the linear and angular damping of the entity. More... | |
nonvirtual void | SetDragCoefficient (float) |
Call to set how much drag affects the entity. More... | |
nonvirtual void | SetInertia (float) |
Sets the angular inertia for this entity. More... | |
nonvirtual void | SetMass (float) |
Sets the mass of the entity in kilograms. More... | |
nonvirtual void | Wake (void) |
Call to enable physics simulation on this entity. More... | |
nonvirtual void | Sleep (void) |
Call to freeze physics simulation on this entity. More... | |
This entity class represents physically-simulated entities.
The physics simulator used is controlled by the engine and may be subject to change.
Units of mass is defined in kilograms, a standard unit of measurement. You will find the API to be mostly compatible of that offered by Garry's Mod.
vector NSPhysicsEntity::AlignAngles | ( | vector | from, |
vector | to | ||
) |
Call to align angles of the object to the ones passed.
void NSPhysicsEntity::ApplyForceCenter | ( | vector | vecForce | ) |
Call to apply a force (absolute velocity vector) to the center of the entity.
void NSPhysicsEntity::ApplyForceOffset | ( | vector | vecForce, |
vector | vecOffset | ||
) |
Call to apply force (absolute velocity vector) to an absolute position on the entity.
void NSPhysicsEntity::ApplyTorqueCenter | ( | vector | vecTorque | ) |
Call to apply torque (angular velocity vector) to the center of the entity.
float NSPhysicsEntity::CalculateImpactDamage | ( | int | iDamage, |
int | dmgType | ||
) |
Called by the physics routine to figure out the impact damage.
|
virtual |
Called when the health is equal or below 0.
Reimplemented from NSSurfacePropEntity.
void NSPhysicsEntity::EnableDrag | ( | bool | setEnabled | ) |
Call to set whether the entity should be affected by drag.
void NSPhysicsEntity::EnableGravity | ( | bool | setEnabled | ) |
Call to set whether the entity should be affected by gravity.
void NSPhysicsEntity::EnableMotion | ( | bool | setEnabled | ) |
Call to set whether the entity should be able to move.
Run each tic after physics are run to determine if we need to send updates over the network.
Reimplemented from NSSurfacePropEntity.
Returns the linear and rotational kinetic energy combined.
Returns 1 divided by the angular inertia of this entity.
vector NSPhysicsEntity::GetMassCenter | ( | void | ) |
Returns the center of mass of the entity.
bool NSPhysicsEntity::IsAsleep | ( | void | ) |
Returns whether the entity is at rest and not moving.
bool NSPhysicsEntity::IsCollisionEnabled | ( | void | ) |
Returns whether the entity is able to collide with anything.
bool NSPhysicsEntity::IsDragEnabled | ( | void | ) |
Returns whether the entity is affected by drag.
bool NSPhysicsEntity::IsGravityEnabled | ( | void | ) |
Returns whether the entity is affected by gravity.
bool NSPhysicsEntity::IsMotionEnabled | ( | void | ) |
Returns whether the entity is able to move by itself.
bool NSPhysicsEntity::IsMoveable | ( | void | ) |
Returns whether the entity is able to move.
bool NSPhysicsEntity::IsPenetrating | ( | void | ) |
Returns whether the entity is penetrating another object.
|
virtual |
Called whenever the entity receives damage.
Reimplemented from NSSurfacePropEntity.
Client: Run after the rendering of 3D world is complete.
2D calls can happen here.
Reimplemented from NSRenderableEntity.
Client: Handles network updates from the server for the associated entity.
Reimplemented from NSSurfacePropEntity.
Server: Called when the entity first spawns or when game-logic requests the entity to return to its original spawn state.
Reimplemented from NSSurfacePropEntity.
Reimplemented in prop_static, func_physbox, prop_physics, and prop_static.
Similar to NSIO::SpawnKey
but for save-game fields.
Whatever you write into file handles within your NSIO::Save()
method needs to be read back in here.
Reimplemented from NSSurfacePropEntity.
Handles saving a copy of this entity to a given filehandle.
Within you want to use the NSIO::SaveFloat() etc. methods to write the internal member attributes to the specified file handle.
Reimplemented from NSSurfacePropEntity.
Called by the engine whenever we need to send a client an update about this entity.
Reimplemented from NSSurfacePropEntity.
Call to set the amount of rotational drag the entity experiences.
Call to set the buoyancy ratio of the entity.
0 is not buoyant, 1 is very buoyant.
Call to set the linear and angular damping of the entity.
Call to set how much drag affects the entity.
Sets the friction multiplier for this entity.
Default is 1.0
Called when the entity is fulled initialized.
Any spawn key/value info pairs have already been dealt with. So now we can make full decisions on the entity. Always make sure to call super::Spawned();
inside your method when overriding.
Reimplemented from NSSurfacePropEntity.
Reimplemented in prop_static.
This method handles entity key/value pairs on map load.
You can easily convert the strValue
parameter using the ReadFloat etc. methods that are part of NSIO.
Reimplemented from NSSurfacePropEntity.
Reimplemented in prop_static, func_physbox, and prop_physics.
|
virtual |