#include
Inherits pe_params.
Public Attributes | |
Vec3 | pos |
quaternionf | q |
float | scale |
Note that since there's no per-entity scale, it gets 'baked' into individual parts' scales. | |
Matrix34 * | pMtx3x4 |
Optional position+orientation. | |
Matrix33 * | pMtx3x3 |
Optional orientation via 3x3 matrix. | |
int | iSimClass |
See the sim_class enum. | |
int | bRecalcBounds |
Tells to recompute the bounding boxes. | |
bool | bEntGridUseOBB |
Whether or not to use part OBBs rather than object AABB when registering in the entity grid. | |
const IPhysicalEntity * | pGridRefEnt |
New grid (set via a reference entity) | |
Sets position and orientation of entity.
#include
// Sets the position of a physical entity using the pe_params_pos structure
void SetPhysicalEntityPosition(IPhysicalEntity& physicalEntity)
{
// The pe_params_pos structure is used to set position, orientation and scale
pe_params_pos positionParams;
// Move the entity to {50,50,50} in world coordinates
positionParams.pos = Vec3(50, 50, 50);
// Reset the entity orientation
positionParams.q = IDENTITY;
// Make sure we use default scaling (100%)
positionParams.scale = 1.f;
// IPhysicalEntity::SetParams may be queued if the physics thread is empty or there are other commands queued.
// We can change isThreadSafe to 1 if we are operating on a physics thread to have to event processed immediately
int isThreadSafe = 0;
// Set the position on the entity
physicalEntity.SetParams(&positionParams, isThreadSafe);
}