Robot Class Reference

Gestion des Robots (déplacements, travail...). More...

#include <Robot.h>

List of all members.

Public Member Functions

 Robot (String Name, String DescFile, SceneNode *ParentNode, SceneManager *SceneMgr)
 Constructeur.
virtual ~Robot ()
 Destruction.
long getTypeID (void) const
 Surchage de la fonction d'identification de la classe UserDefinedObject.
void addToScene ()
 Ajoute le robot à la scene courante.
void removeFromScene ()
 Retire le robot de la scene courante.
void setEngineOn ()
 Met en route le son du moteur du Robot.
void setEngineOff ()
 Coupe le son du moteur du Robot.
void setBroken (bool broken)
 Le robot est endommagé (fumée et buitage).
void setPosition (Vector3 Position)
 Definit la position du robot (X=Gauche - Y=Haut - Z=devant).
void setOrientation (int Orientation)
 Definit l'orientation du robot (en degres).
String getName ()
 Renvoie le Nom du robot.
Vector3 getPosition ()
 Renvoie la position du robot (position relative a son ParentNode).
void adjustAltitude ()
 Positionne le Robot en Y à sa bonne altitude par rapport au sol le plus proche.
void gotoPoint (Vector3 Destination)
 Memorise le point de destination du Robot, et declenche le mouvement.
void gotoNode (String NodeName)
 Memorise le point de destination du Robot, et declenche le mouvement.
void setFocusOn ()
 On active le focus au moment ou la souris passe sur l'objet.
void setFocusOff ()
 Quand on perd le focus, on détruit le GUI d'interface Robot.
void activateRobot (bool quick=false)
 On active le Robot.
void deactivateRobot (bool quick=false)
 Desactivation du Robot: Il s'éteint et tombe sur le sol.
void removeInterface ()
 Détruit un objet d'Interface Robot (GUI).
void createInterface ()
 Crée un objet d'Interface Robot (GUI).
void hideInterface ()
 L'interface est masquée mais pas détruite.
void work (bool Working)
 Le robot travaille.
void requestExitInterface (Real seconds)
 Mémorise une demande de fin de la GUI.
bool isExitInterfaceRequiered ()
 Renvoie TRUE si une demande de sortie de GUI est en cours.
bool isInterfaceDisabled ()
 Renvoie TRUE si le GUI est inactif (cad non affiché).
bool isBroken ()
 Renvoie TRUE si le robot est endommagé.
bool isDown ()
 Renvoie si le robot est activé ou non (shutdown).
bool isVisible ()
 Renvoie TRUE si le robot est visible.
void attachToNode (SceneNode *ParentNode=NULL)
 Le Node du Robot est rattaché à un nouveau ParentNode.
void setActionString (String ActionString)
 Change la Description de l'action en cours du robot.
String getActionString ()
 Renvoie la description de l'action en cours du robot.
SubEntity * getSubEntity (String MaterialName)
 Retrouve une SubEntity du Robot par son nom de Materiel.

Protected Types

enum  SoundList {
  ENGINE, SPARKS, FOCUS, SHUTDOWN,
  ACTIVATION, ANALYSE, WORK
}

Protected Member Functions

Radian findAngle ()
 Determine l'angle vers la destination.
void updateSoundSource (int Channel)
 Mise a jour de la position des sons 3D (moteur, etc).
void vibrate (const FrameEvent &evt)
void move (const FrameEvent &evt)
 Effectue un mouvement en avant (progressif).
void moveVertical (const FrameEvent &evt)
 Effectue un mouvement vertical (progressif).
void gotoNextWaypoint ()
 Le Robot continue un trajet initié avec gotoNode().
void rotate (const FrameEvent &evt)
void playSound (SoundList soundtype)
 Joue les sons du robot.
bool frameStarted (const FrameEvent &evt)
 Gère les mouvements du robot (déplacement, vibration, etc).
void startAnimation (String AnimationName, bool Loop)
 Commence a jouer l'animation demandée.
void loadDescription (String DescFile)
 Charge les parametres initiaux du Robot.
void loadObject ()
 Charge l'etat initial du Robot (position, état, etc).

Protected Attributes

Root * mRoot
SceneManager * mSceneMgr
SceneNode * mRobotNode
SceneNode * mParentNode
Entity * mRobotEntity
String mRobotName
bool mEngineOn
bool mBroken
bool mTurning
bool mMoving
bool mMovingUpDown
bool mWorking
bool mHasFocus
bool mDown
int mNormalAltitude
int mTargetAltitude
String mActionString
Robot_InterfacemRobot_GUI
bool mExitGui
Real mExitGuiDelay
Real mSpeed
Real mVy
Vector3 mDestination
SceneNode * mNextWaypoint
SceneNode * mLastWaypoint
SceneNode * mCurrentWaypoint
int mHelloChannel
int mSparkChannel
int mWork1Channel
int mWork2Channel
int mEngineChannel
int mShutdownChannel
int mActivationChannel
SceneNode * mSourceNode
ParticleSystem * mSmoke
ParticleSystem * mSparks
String mMeshFile
String mInterfaceFile
String mHelloSoundFile
String mSparkSoundFile
String mWork1SoundFile
String mWork2SoundFile
String mEngineSoundFile
String mShutdownSoundFile
String mActivationSoundFile
String mStatusFile
String mEngineAnimation
AnimationState * mEngineAnimationState
String mHelloAnimation
AnimationState * mHelloAnimationState
String mWork1Animation
AnimationState * mWork1AnimationState
String mWork2Animation
AnimationState * mWork2AnimationState
String mShutdownAnimation
AnimationState * mShutdownAnimationState
String mActivationAnimation
AnimationState * mActivationAnimationState
AnimationState * mAnimationState
Real mAnimationSpeed

Friends

class Robot_Interface


Detailed Description

Gestion des Robots (déplacements, travail...).


Member Enumeration Documentation

enum Robot::SoundList [protected]
 

Enumerator:
ENGINE 
SPARKS 
FOCUS 
SHUTDOWN 
ACTIVATION 
ANALYSE 
WORK 


Constructor & Destructor Documentation

Robot::Robot String  Name,
String  DescFile,
SceneNode *  ParentNode,
SceneManager *  SceneMgr
 

Constructeur.

Robot::~Robot  )  [virtual]
 

Destruction.


Member Function Documentation

void Robot::activateRobot bool  quick = false  ) 
 

On active le Robot.

Si le robot est endommagé, cela active aussi les particules de fumée.

Parameters:
quick Si TRUE, l'action est faite sans faire de bruit.

void Robot::addToScene  ) 
 

Ajoute le robot à la scene courante.

void Robot::adjustAltitude  ) 
 

Positionne le Robot en Y à sa bonne altitude par rapport au sol le plus proche.

void Robot::attachToNode SceneNode *  ParentNode = NULL  ) 
 

Le Node du Robot est rattaché à un nouveau ParentNode.

void Robot::createInterface  ) 
 

Crée un objet d'Interface Robot (GUI).

void Robot::deactivateRobot bool  quick = false  ) 
 

Desactivation du Robot: Il s'éteint et tombe sur le sol.

Si le robot est endommagé, cela arrète aussi les particules de fumée.

Parameters:
quick Si TRUE, l'action est faite sans faire de bruit.

Radian Robot::findAngle  )  [protected]
 

Determine l'angle vers la destination.

bool Robot::frameStarted const FrameEvent &  evt  )  [protected]
 

Gère les mouvements du robot (déplacement, vibration, etc).

TODO : peut-il y avoir plusieurs animations à la fois ?

String Robot::getActionString  ) 
 

Renvoie la description de l'action en cours du robot.

String Robot::getName  ) 
 

Renvoie le Nom du robot.

Vector3 Robot::getPosition  ) 
 

Renvoie la position du robot (position relative a son ParentNode).

SubEntity * Robot::getSubEntity String  MaterialName  ) 
 

Retrouve une SubEntity du Robot par son nom de Materiel.

long Robot::getTypeID void   )  const
 

Surchage de la fonction d'identification de la classe UserDefinedObject.

void Robot::gotoNextWaypoint  )  [protected]
 

Le Robot continue un trajet initié avec gotoNode().

void Robot::gotoNode String  NodeName  ) 
 

Memorise le point de destination du Robot, et declenche le mouvement.

void Robot::gotoPoint Vector3  Destination  ) 
 

Memorise le point de destination du Robot, et declenche le mouvement.

void Robot::hideInterface  ) 
 

L'interface est masquée mais pas détruite.

bool Robot::isBroken  ) 
 

Renvoie TRUE si le robot est endommagé.

bool Robot::isDown  ) 
 

Renvoie si le robot est activé ou non (shutdown).

bool Robot::isExitInterfaceRequiered  ) 
 

Renvoie TRUE si une demande de sortie de GUI est en cours.

Renvoie FALSE si aucune demande de sortie n'est en cours.

bool Robot::isInterfaceDisabled  ) 
 

Renvoie TRUE si le GUI est inactif (cad non affiché).

bool Robot::isVisible  ) 
 

Renvoie TRUE si le robot est visible.

void Robot::loadDescription String  DescFile  )  [protected]
 

Charge les parametres initiaux du Robot.

Lecture des parametres du fichier de config

void Robot::loadObject  )  [protected]
 

Charge l'etat initial du Robot (position, état, etc).

Lecture des parametres du fichier de status

void Robot::move const FrameEvent &  evt  )  [protected]
 

Effectue un mouvement en avant (progressif).

TODO: on a un bug si Angle = 180°: le robot, part tout droit au lieu de faire demi-tour...

void Robot::moveVertical const FrameEvent &  evt  )  [protected]
 

Effectue un mouvement vertical (progressif).

void Robot::playSound SoundList  soundtype  )  [protected]
 

Joue les sons du robot.

void Robot::removeFromScene  ) 
 

Retire le robot de la scene courante.

void Robot::removeInterface  ) 
 

Détruit un objet d'Interface Robot (GUI).

void Robot::requestExitInterface Real  seconds  ) 
 

Mémorise une demande de fin de la GUI.

void Robot::rotate const FrameEvent &  evt  )  [protected]
 

void Robot::setActionString String  ActionString  ) 
 

Change la Description de l'action en cours du robot.

void Robot::setBroken bool  broken  ) 
 

Le robot est endommagé (fumée et buitage).

void Robot::setEngineOff  ) 
 

Coupe le son du moteur du Robot.

void Robot::setEngineOn  ) 
 

Met en route le son du moteur du Robot.

void Robot::setFocusOff  ) 
 

Quand on perd le focus, on détruit le GUI d'interface Robot.

On libère le channel Audio

On efface l'interface

void Robot::setFocusOn  ) 
 

On active le focus au moment ou la souris passe sur l'objet.

S'il n'a pas deja le focus: on émet un son.

On affiche un message

On lance l'animation Hello

void Robot::setOrientation int  Orientation  ) 
 

Definit l'orientation du robot (en degres).

void Robot::setPosition Vector3  Position  ) 
 

Definit la position du robot (X=Gauche - Y=Haut - Z=devant).

void Robot::startAnimation String  AnimationName,
bool  Loop
[protected]
 

Commence a jouer l'animation demandée.

void Robot::updateSoundSource int  Channel  )  [protected]
 

Mise a jour de la position des sons 3D (moteur, etc).

void Robot::vibrate const FrameEvent &  evt  )  [protected]
 

void Robot::work bool  Working  ) 
 

Le robot travaille.


Friends And Related Function Documentation

friend class Robot_Interface [friend]
 


Member Data Documentation

String Robot::mActionString [protected]
 

String Robot::mActivationAnimation [protected]
 

AnimationState* Robot::mActivationAnimationState [protected]
 

int Robot::mActivationChannel [protected]
 

String Robot::mActivationSoundFile [protected]
 

Real Robot::mAnimationSpeed [protected]
 

AnimationState* Robot::mAnimationState [protected]
 

bool Robot::mBroken [protected]
 

SceneNode* Robot::mCurrentWaypoint [protected]
 

Vector3 Robot::mDestination [protected]
 

bool Robot::mDown [protected]
 

String Robot::mEngineAnimation [protected]
 

AnimationState* Robot::mEngineAnimationState [protected]
 

int Robot::mEngineChannel [protected]
 

bool Robot::mEngineOn [protected]
 

String Robot::mEngineSoundFile [protected]
 

bool Robot::mExitGui [protected]
 

Real Robot::mExitGuiDelay [protected]
 

bool Robot::mHasFocus [protected]
 

String Robot::mHelloAnimation [protected]
 

AnimationState* Robot::mHelloAnimationState [protected]
 

int Robot::mHelloChannel [protected]
 

String Robot::mHelloSoundFile [protected]
 

String Robot::mInterfaceFile [protected]
 

SceneNode* Robot::mLastWaypoint [protected]
 

String Robot::mMeshFile [protected]
 

bool Robot::mMoving [protected]
 

bool Robot::mMovingUpDown [protected]
 

SceneNode* Robot::mNextWaypoint [protected]
 

int Robot::mNormalAltitude [protected]
 

SceneNode* Robot::mParentNode [protected]
 

Robot_Interface* Robot::mRobot_GUI [protected]
 

Entity* Robot::mRobotEntity [protected]
 

String Robot::mRobotName [protected]
 

SceneNode* Robot::mRobotNode [protected]
 

Root* Robot::mRoot [protected]
 

SceneManager* Robot::mSceneMgr [protected]
 

String Robot::mShutdownAnimation [protected]
 

AnimationState* Robot::mShutdownAnimationState [protected]
 

int Robot::mShutdownChannel [protected]
 

String Robot::mShutdownSoundFile [protected]
 

ParticleSystem* Robot::mSmoke [protected]
 

SceneNode* Robot::mSourceNode [protected]
 

int Robot::mSparkChannel [protected]
 

ParticleSystem* Robot::mSparks [protected]
 

String Robot::mSparkSoundFile [protected]
 

Real Robot::mSpeed [protected]
 

String Robot::mStatusFile [protected]
 

int Robot::mTargetAltitude [protected]
 

bool Robot::mTurning [protected]
 

Real Robot::mVy [protected]
 

String Robot::mWork1Animation [protected]
 

AnimationState* Robot::mWork1AnimationState [protected]
 

int Robot::mWork1Channel [protected]
 

String Robot::mWork1SoundFile [protected]
 

String Robot::mWork2Animation [protected]
 

AnimationState* Robot::mWork2AnimationState [protected]
 

int Robot::mWork2Channel [protected]
 

String Robot::mWork2SoundFile [protected]
 

bool Robot::mWorking [protected]
 


The documentation for this class was generated from the following files:
Generated on Mon Mar 27 21:33:15 2006 for Long Forgotten Earth by  doxygen 1.4.6-NO