PhyObject class. More...

Inheritance diagram for PhyObject:

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. More...
 
virtual ~PhyObject ()
 Destroy this object. More...
 
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. More...
 
bool getStatic () const
 Returns true if the object is static. More...
 
wVector inertiaVec () const
 
wVector invInertiaVec () const
 Return the inverse of Inertia. More...
 
wVector invMassInertiaVec () const
 
bool isCollidable () const
 Returns true if this object collides with other object. More...
 
real mass ()
 Return the mass. More...
 
wVector massInertiaVec () const
 Return the Mass and momentum of Inertia. More...
 
QString material () const
 
wVector omega ()
 
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

More...
 
void setForce (const wVector &force)
 
void setKinematic (bool b, bool c=false)
 Changes between kinematic/dynamic behaviour for the object. More...
 
void setMass (real)
 Set the mass without touching the Inertia data. More...
 
void setMassInertiaVec (const wVector &)
 Set the Mass and momentum of Inertia: ( mass, Ixx, Iyy, Izz ) More...
 
void setMaterial (QString material)
 
void setOmega (const wVector &omega)
 
void setStatic (bool b)
 Makes the object static or not. More...
 
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 More...
 
virtual ~WObject ()
 destroy the Object and drop it from the world More...
 
QColor color () const
 return the color of this object More...
 
void drawLocalAxes (bool d)
 Sets whether the object local frame of reference should be drawn or not. More...
 
bool isInvisible () const
 return if it is invisible More...
 
const QString & label () const
 Returns the text label to render along with the object. More...
 
const QColor & labelColor () const
 Returns the color of the label. More...
 
const wVectorlabelPosition () const
 Returns the label position relative to this object. More...
 
bool labelShown () const
 Returns whether the label is shown or not. More...
 
bool localAxesDrawn () const
 Returns true if the local frame of refecence of the object should be drawn. More...
 
const wMatrixmatrix () const
 return a reference to the transformation matrix More...
 
QString name () const
 Return the name of this object. More...
 
virtual void postUpdate ()
 postUpdate the WObject this method is called at each step of the world just after the physic update More...
 
virtual void preUpdate ()
 preUpdate the WObject this method is called at each step of the world just before the physic update More...
 
void setAlpha (int alpha)
 set the value of alpha channel (the transparency) More...
 
void setColor (QColor c)
 Set the color to use on rendering. More...
 
void setInvisible (bool b)
 set invisibility More...
 
void setLabel (QString label)
 Sets a text label to render along with the object. More...
 
void setLabel (QString label, wVector pos)
 Sets a text label to render along with the object and its position. More...
 
void setLabel (QString label, wVector pos, QColor color)
 Sets a text label to render along with the object and its position and color. More...
 
void setLabelColor (const QColor &color)
 Sets the color of the label. More...
 
void setLabelPosition (const wVector &pos)
 Sets the label position relative to this object. More...
 
void setMatrix (const wMatrix &newm)
 set a new matrix More...
 
void setPosition (const wVector &newpos)
 set the position specified in global coordinate frame More...
 
void setPosition (real x, real y, real z)
 set the position specified in global coordinate frame More...
 
void setTexture (QString textureName)
 Set the texture to use for this WObject when rendered. More...
 
void setUseColorTextureOfOwner (bool b)
 set if the object will be rendered with the color and texture of our owner (if we have one) More...
 
void showLabel (bool show)
 Sets whether to show the label or not. More...
 
QString texture () const
 Return the texture name. More...
 
bool useColorTextureOfOwner () const
 if true, we will use color and texture of our owner (if we have one) More...
 
Worldworld ()
 Return the world. More...
 
const Worldworld () const
 Return the world (const version) More...
 
- Public Member Functions inherited from Ownable
 Ownable ()
 Constructor. More...
 
virtual ~Ownable ()
 Destructor. More...
 
const QList< Owned > & owned () const
 Returns the list of objects owned by this one. More...
 
Ownableowner () const
 Returns the owner of this object. More...
 
void setOwner (Ownable *owner, bool destroy=true)
 Sets the owner of this object. More...
 

Protected Member Functions

virtual void changedMatrix ()
 syncronize this object with underlying physic object More...
 
void createPrivateObject ()
 

Protected Attributes

PhyObjectPrivate * priv
 Engine encapsulation. More...
 
WorldPrivate * worldpriv
 
- Protected Attributes inherited from WObject
QColor colorv
 Color, it contains also alpha channel. More...
 
bool invisible
 if TRUE it will not renderized More...
 
QColor labelcol
 The color of the label. More...
 
bool labeldrawn
 Whether the label should be rendered or not. More...
 
wVector labelpos
 The position of the label in the object frame of reference. More...
 
QString labelv
 The text label of the object. More...
 
bool localFrameOfReferenceDrawn
 If true, the local frame of reference of the object is drawn. More...
 
QString namev
 Name of the WObject. More...
 
QString texturev
 Texture name. More...
 
wMatrix tm
 Trasformation matrix. More...
 
bool usecolortextureofowner
 if true, we will use color and texture of our owner (if we have one). More...
 
Worldworldv
 World. More...
 

Friends

class PhyCompoundObject
 
class PhyJoint
 
class PhyObjectPrivate
 
class World
 
class WorldPrivate
 

Additional Inherited Members

- Public Types inherited from Ownable
typedef QList< OwnedOwnedList
 The type for the list of owned objects. More...
 

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
worldThe World which object will be inserted
tmrotation and position at the moment of creation
cpis for internal use; ignore it

Definition at line 26 of file phyobject.cpp.

References PhyObject::changedMatrix(), and PhyObject::priv.

~PhyObject ( )
virtual

Destroy this object.

Definition at line 46 of file phyobject.cpp.

References PhyObject::priv.

Member Function Documentation

void changedMatrix ( )
protectedvirtual

syncronize this object with underlying physic object

Reimplemented from WObject.

Definition at line 145 of file phyobject.cpp.

References PhyObject::priv, and WObject::tm.

Referenced by PhyBox::PhyBox(), PhyCompoundObject::PhyCompoundObject(), PhyCone::PhyCone(), PhyCylinder::PhyCylinder(), PhyEllipsoid::PhyEllipsoid(), PhyObject::PhyObject(), and PhySphere::PhySphere().

bool getKinematic ( ) const
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().

bool getStatic ( ) const
inline

Returns true if the object is static.

Returns
true if the object is static

Definition at line 97 of file phyobject.h.

Referenced by World::smartCheckContacts().

wVector invInertiaVec ( ) const

Return the inverse of Inertia.

Definition at line 210 of file phyobject.cpp.

bool isCollidable ( ) const
inline

Returns true if this object collides with other object.

To collide with other objects, this must be non-kinematic or, if it is, setKinematic must have been called with the c parameter set to true

Returns
true if this object collides with other object.

Definition at line 82 of file phyobject.h.

real mass ( )

Return the mass.

Definition at line 243 of file phyobject.cpp.

Referenced by PhyCompoundObject::createPrivateObject().

wVector massInertiaVec ( ) const

Return the Mass and momentum of Inertia.

Definition at line 193 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 120 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
bif true the object is set to kinematic behaviour
cif 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 56 of file phyobject.cpp.

References PhyObject::priv, and WObject::tm.

Referenced by PhyKhepera::doKinematicSimulation(), PhyEpuck::doKinematicSimulation(), and PhyMarXbot::doKinematicSimulation().

void setMassInertiaVec ( const wVector mi)

Set the Mass and momentum of Inertia: ( mass, Ixx, Iyy, Izz )

Definition at line 184 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
bif true the object is static

Definition at line 107 of file phyobject.cpp.

References PhyObject::priv.

Member Data Documentation


The documentation for this class was generated from the following files: