PhysicsObject

from panda3d.physics import PhysicsObject
class PhysicsObject

Bases: TypedReferenceCount

A body on which physics will be applied. If you’re looking to add physical motion to your class, do NOT derive from this. Derive from Physical instead.

Inheritance diagram

Inheritance diagram of PhysicsObject

__init__()

Default Constructor

__init__(copy: PhysicsObject)

copy constructor

property activebool

Process Flag Query assignment

addImpact(offset_from_center_of_mass: panda3d.core.LPoint3, impulse: panda3d.core.LVector3)

Adds an impulse and/or torque (i.e. an instantanious change in velocity) based on how well the offset and impulse align with the center of mass (aka position). If you wanted to immitate this function you could work out the impulse and torque and call addImpulse() and addTorque() respectively. offset and force are in global (or parent) coordinates.

addImpulse(impulse: panda3d.core.LVector3)

Adds an impulse force (i.e. an instantanious change in velocity). This is a quicker way to get the velocity, add a vector to it and set that value to be the new velocity.

addLocalImpact(offset_from_center_of_mass: panda3d.core.LPoint3, impulse: panda3d.core.LVector3)

Adds an impulse and/or torque (i.e. an instantanious change in velocity) based on how well the offset and impulse align with the center of mass (aka position). If you wanted to immitate this function you could work out the impulse and torque and call addImpulse() and addTorque() respectively. offset and force are in local coordinates.

addLocalImpulse(impulse: panda3d.core.LVector3)

Adds an impulse force (i.e. an instantanious change in velocity). This is a quicker way to get the velocity, add a vector to it and set that value to be the new velocity.

addLocalTorque(torque: panda3d.core.LRotation)

Adds an torque force (i.e. an instantanious change in velocity). This is a quicker way to get the angular velocity, add a vector to it and set that value to be the new angular velocity.

addTorque(torque: panda3d.core.LRotation)

Adds an torque force (i.e. an instantanious change in velocity). This is a quicker way to get the angular velocity, add a vector to it and set that value to be the new angular velocity.

assign(other: PhysicsObject)PhysicsObject
getActive()bool

Process Flag Query

static getClassType()panda3d.core.TypeHandle
getImplicitVelocity()panda3d.core.LVector3

Velocity Query over the last dt

getInertialTensor()panda3d.core.LMatrix4

returns a transform matrix that represents the object’s willingness to be forced.

getLastPosition()panda3d.core.LPoint3

Get the position of the physics object at the start of the most recent do_physics.

getLcs()panda3d.core.LMatrix4

returns a transform matrix to this object’s local coordinate system.

getMass()float

Get the mass in slugs (or kilograms).

getName()str
getOrientation()panda3d.core.LOrientation

get current orientation.

getOriented()bool

See setOriented().

getPosition()panda3d.core.LPoint3

Position Query

getRotation()panda3d.core.LRotation

get rotation per second.

getTerminalVelocity()float

tv query

getVelocity()panda3d.core.LVector3

Velocity Query per second

property implicit_velocityLVector3

Velocity Query over the last dt

property last_positionLPoint3
Getter

Get the position of the physics object at the start of the most recent do_physics.

Setter

Last position assignment

makeCopy()PhysicsObject

dynamic copy.

property massfloat

Get/Set the mass in slugs (or kilograms).

property orientationLOrientation
Getter

get current orientation.

Setter

property orientedbool

Set flag to determine whether this object should do any rotation or orientation calculations. Optimization.

output(out: panda3d.core.ostream)

Write a string representation of this instance to <out>.

property positionLPoint3
Getter

Position Query

Setter

INLINE void set_center_of_mass(const LPoint3 &pos); use setPosition().

INLINE void set_center_of_mass(const LPoint3 &pos); use setPosition().

Vector position assignment. This is also used as the center of mass.

Piecewise position assignment

resetOrientation(orientation: panda3d.core.LOrientation)

set the orientation while clearing the rotation velocity.

resetPosition(pos: panda3d.core.LPoint3)

use this to place an object in a completely new position, that has nothing to do with its last position.

property rotationLRotation
Getter

get rotation per second.

Setter

set rotation as a quaternion delta per second.

setActive(flag: bool)

Process Flag assignment

setLastPosition(pos: panda3d.core.LPoint3)

Last position assignment

setMass(param0: float)

Set the mass in slugs (or kilograms).

setName(name: str)
setOrientation(orientation: panda3d.core.LOrientation)
setOriented(flag: bool)

Set flag to determine whether this object should do any rotation or orientation calculations. Optimization.

setPosition(pos: panda3d.core.LPoint3)

Vector position assignment. This is also used as the center of mass.

setPosition(x: float, y: float, z: float)

Piecewise position assignment

setRotation(rotation: panda3d.core.LRotation)

set rotation as a quaternion delta per second.

setTerminalVelocity(tv: float)

tv assignment

setVelocity(vel: panda3d.core.LVector3)

Vector velocity assignment

setVelocity(x: float, y: float, z: float)

Piecewise velocity assignment

property terminal_velocityfloat

tv query assignment

property velocityLVector3
Getter

Velocity Query per second

Setter

Vector velocity assignment

Piecewise velocity assignment

write(out: panda3d.core.ostream, indent: int)

Write a string representation of this instance to <out>.