Public Member Functions | |
PhyObject (World *world, QString name="unamed", const wMatrix &tm=wMatrix::identity(), bool cp=true) | |
Create a physics object with no-collision-shape and insert it in the world passed. | |
virtual | ~PhyObject () |
Destroy this object. | |
void | addForce (const wVector &force) |
void | addImpulse (const wVector &pointDeltaVeloc, const wVector &pointPosit) |
void | addTorque (const wVector &torque) |
wVector | force () |
bool | getKinematic () const |
Returns true if the object has kinematic behaviour. | |
bool | getStatic () const |
Returns true if the object is static. | |
wVector | inertiaVec () const |
wVector | invInertiaVec () const |
Return the inverse of Inertia. | |
wVector | invMassInertiaVec () const |
real | mass () |
Return the mass. | |
wVector | massInertiaVec () const |
Return the Mass and momentum of Inertia. | |
QString | material () const |
wVector | omega () |
void | reset () |
reset the object:
set the velocity to zeroset the angural velocity to zeroset any residual forces and torques to zeroremove any pending collision | |
void | setForce (const wVector &force) |
void | setKinematic (bool b, bool c=false) |
Changes between kinematic/dynamic behaviour for the object. | |
void | setMass (real) |
Set the mass without touching the Inertia data. | |
void | setMassInertiaVec (const wVector &) |
Set the Mass and momentum of Inertia: ( mass, Ixx, Iyy, Izz ) | |
void | setMaterial (QString material) |
void | setOmega (const wVector &omega) |
void | setStatic (bool b) |
Makes the object static or not. | |
void | setTorque (const wVector &torque) |
void | setVelocity (const wVector &velocity) |
wVector | torque () |
wVector | velocity () |
Public Member Functions inherited from WObject | |
WObject (World *world, QString name="unamed", const wMatrix &tm=wMatrix::identity(), bool addToWorld=true) | |
create the object and automatically put this into the world | |
virtual | ~WObject () |
destroy the Object and drop it from the world | |
QColor | color () const |
return the color of this object | |
bool | isInvisible () |
return if it is invisible | |
const wMatrix & | matrix () const |
return a reference to the transformation matrix | |
QString | name () const |
Return the name of this object. | |
virtual void | postUpdate () |
postUpdate the WObject this method is called at each step of the world just after the physic update | |
virtual void | preUpdate () |
preUpdate the WObject this method is called at each step of the world just before the physic update | |
void | setAlpha (int alpha) |
set the value of alpha channel (the transparency) | |
void | setColor (QColor c) |
Set the color to use on rendering. | |
void | setInvisible (bool b) |
set invisibility | |
void | setMatrix (const wMatrix &newm) |
set a new matrix | |
void | setPosition (const wVector &newpos) |
set the position specified in global coordinate frame | |
void | setPosition (real x, real y, real z) |
set the position specified in global coordinate frame | |
void | setTexture (QString textureName) |
Set the texture to use for this WObject when rendered. | |
void | setUseColorTextureOfOwner (bool b) |
set if the object will be rendered with the color and texture of our owner (if we have one) | |
QString | texture () const |
Return the texture name. | |
bool | useColorTextureOfOwner () const |
if true, we will use color and texture of our owner (if we have one) | |
World * | world () |
Return the world. | |
const World * | world () const |
Return the world (const version) | |
Public Member Functions inherited from Ownable | |
Ownable () | |
Constructor. | |
virtual | ~Ownable () |
Destructor. | |
const QList< Owned > & | owned () const |
Returns the list of objects owned by this one. | |
Ownable * | owner () const |
Returns the owner of this object. | |
void | setOwner (Ownable *owner, bool destroy=true) |
Sets the owner of this object. | |
Protected Member Functions | |
virtual void | changedMatrix () |
syncronize this object with underlying physic object | |
void | createPrivateObject () |
Protected Attributes | |
PhyObjectPrivate * | priv |
Engine encapsulation. | |
WorldPrivate * | worldpriv |
Protected Attributes inherited from WObject | |
QColor | colorv |
Color, it contains also alpha channel. | |
bool | invisible |
if TRUE it will not renderized | |
QString | namev |
Name of the WObject. | |
QString | texturev |
Texture name. | |
wMatrix | tm |
Trasformation matrix. | |
bool | usecolortextureofowner |
if true, we will use color and texture of our owner (if we have one). | |
World * | worldv |
World. | |
Friends | |
class | PhyCompoundObject |
class | PhyJoint |
class | PhyObjectPrivate |
class | World |
class | WorldPrivate |
Additional Inherited Members | |
Public Types inherited from Ownable | |
typedef QList< Owned > | OwnedList |
The type for the list of owned objects. | |
Detailed Description
PhyObject class.
\
- Motivation
- The PhyObject represent a physical object.
- Description
- Warnings
- Warnings
Definition at line 46 of file phyobject.h.
Constructor & Destructor Documentation
PhyObject | ( | World * | world, |
QString | name = "unamed" , |
||
const wMatrix & | tm = wMatrix::identity() , |
||
bool | cp = true |
||
) |
Create a physics object with no-collision-shape and insert it in the world passed.
- Parameters
-
world The World which object will be inserted tm rotation and position at the moment of creation cp is for internal use; ignore it
Definition at line 26 of file phyobject.cpp.
References PhyObject::changedMatrix(), and PhyObject::priv.
|
virtual |
Member Function Documentation
|
protectedvirtual |
syncronize this object with underlying physic object
Reimplemented from WObject.
Definition at line 143 of file phyobject.cpp.
References PhyObject::priv, and WObject::tm.
Referenced by PhyBox::PhyBox(), PhyCompoundObject::PhyCompoundObject(), PhyCone::PhyCone(), PhyCylinder::PhyCylinder(), PhyObject::PhyObject(), and PhySphere::PhySphere().
|
inline |
Returns true if the object has kinematic behaviour.
- Returns
- true if the object has kinematic behaviour
Definition at line 72 of file phyobject.h.
Referenced by World::smartCheckContacts().
|
inline |
Returns true if the object is static.
- Returns
- true if the object is static
Definition at line 87 of file phyobject.h.
Referenced by World::smartCheckContacts().
wVector invInertiaVec | ( | ) | const |
Return the inverse of Inertia.
Definition at line 199 of file phyobject.cpp.
real mass | ( | ) |
Return the mass.
Definition at line 232 of file phyobject.cpp.
Referenced by PhyCompoundObject::createPrivateObject(), and PhyiCub::PhyiCub().
wVector massInertiaVec | ( | ) | const |
Return the Mass and momentum of Inertia.
Definition at line 191 of file phyobject.cpp.
void reset | ( | ) |
reset the object:
set the velocity to zero
set the angural velocity to zero
set any residual forces and torques to zero
remove any pending collision
Definition at line 118 of file phyobject.cpp.
References PhyObject::priv.
void setKinematic | ( | bool | b, |
bool | c = false |
||
) |
Changes between kinematic/dynamic behaviour for the object.
A kinematic object doesn't interact at all with other objects; it can only be moved directly setting its transformation matrix. By default the object is dynamic
- Parameters
-
b if true the object is set to kinematic behaviour c if true the object collides with other objects even in kinematic mode, influencing them without being influenced (technically, we set its mass to 0 in Newton Game Dynamics engine)
Definition at line 55 of file phyobject.cpp.
References PhyObject::priv, and WObject::tm.
Referenced by PhyKhepera::doKinematicSimulation(), PhyEpuck::doKinematicSimulation(), PhyMarXbot::doKinematicSimulation(), and PhyObjectsGroup::setKinematic().
void setMass | ( | real | newmass | ) |
Set the mass without touching the Inertia data.
Definition at line 208 of file phyobject.cpp.
References PhyObject::priv.
Referenced by PhySphere::createPrivateObject(), PhyCone::createPrivateObject(), PhyCompoundObject::createPrivateObject(), PhyBox::createPrivateObject(), PhyCylinder::createPrivateObject(), PhyMarXbot::enableAttachmentDevice(), PhyEpuck::PhyEpuck(), PhyiCub::PhyiCub(), PhyKhepera::PhyKhepera(), and PhyMarXbot::PhyMarXbot().
void setMassInertiaVec | ( | const wVector & | mi | ) |
Set the Mass and momentum of Inertia: ( mass, Ixx, Iyy, Izz )
Definition at line 182 of file phyobject.cpp.
References PhyObject::priv.
void setStatic | ( | bool | b | ) |
Makes the object static or not.
A static object is unaffected by external forces
- Parameters
-
b if true the object is static
Definition at line 105 of file phyobject.cpp.
References PhyObject::priv.
Referenced by PhyObjectsGroup::setStatic().
Member Data Documentation
|
protected |
Engine encapsulation.
Definition at line 147 of file phyobject.h.
Referenced by PhyObject::changedMatrix(), World::checkContacts(), World::closestPoints(), World::collisionRayCast(), PhySphere::createPrivateObject(), PhyCone::createPrivateObject(), PhyCompoundObject::createPrivateObject(), PhyBox::createPrivateObject(), PhyCylinder::createPrivateObject(), PhyJoint::PhyJoint(), PhyObject::PhyObject(), PhyObject::reset(), PhyObject::setKinematic(), PhyObject::setMass(), PhyObject::setMassInertiaVec(), PhyObject::setStatic(), and PhyObject::~PhyObject().
The documentation for this class was generated from the following files:
- worldsim/include/phyobject.h
- worldsim/src/phyobject.cpp