Package object3d

Classe Object3d

Classes de ce package :

Packages - Hiérarchie - Index - Constantes et fonctions

Ascendants


Object
  |
  +--- Object3d

Description


Représentation en trois dimensions d'un agent.

Cette classe permet de rendre un agent visible, de le positionner et de l'orienter dans l'espace, et de lui affecter une représentation graphique.


Aperçu des attributs


location Position et orientation de la représentation 3D dans l'espace


Aperçu des méthodes


attachTo Attache une représentation à une autre de sorte que la modification de la position ou de l'orientation de celle-ci se répercute sur cette représentation.
cancelRotation Réinitialise l'orientation de la représentation.
delete Appelée lors de la destruction de l'instance.
getContainer Obtient la représentation parente à la représentation actuelle.
getContent Obtient la liste de toutes les représentations ayant cette représentation comme parent.
getGlobalBoundingBox Obtient la boite englobante de l'entité, exprimée dans le repère global.
getLocalBoundingBox Obtient la boite englobante de l'entité, exprimée dans le repère local à la représentation.
getNbPoints Obtient le nombre de points constituant la représentation.
getNbTriangles Obtient le nombre de facettes constituant la représentation.
getOrientation Obtient l'orientation de la représentation.
getPosition Obtient la position de la représentation.
globalToLocalOrientation Convertit une orientation dans le repère global en une orientation dans le repère local à la représentation.
globalToLocalPosition Convertit une position dans le repère global en une position dans le repère local à la représentation.
inside Indique si le point spécifié se situe à l'intérieur de cette représentation.
intersectRay Envoie un rayon à partir du point spécifié et dans la direction spécifiée, et indique s'il intersecte cette représentation.
isAttachedTo Indique si cette représentation est attachée ou non à une représentation particulière.
keyPress Appelée lorsqu'une touche a été enfoncée par l'utilisateur pendant que cette représentation est sélectionnée.
localToGlobalOrientation Convertit une orientation dans le repère local à la représentation en une orientation dans le repère global.
localToGlobalPosition Convertit une position dans le repère local à la représentation en une position dans le repère global.
mouseDrag Appelée lorsque cette représentation reçoit un événement de déplacement de la part de la souris.
new Crée une nouvelle représentation 3D.
pitch Effectue une rotation sur l'axe associé au tangage de l'objet 3D.
readShape Associe une forme 3D à cette représentation.
roll Effectue une rotation sur l'axe associé au roulis de l'objet 3D.
setOrientation Change l'orientation de la représentation.
setPosition Change la position de la représentation.
throwRay Envoie un rayon imaginaire à partir du centre de cette représentation et suivant son axe des abscisses positives dans son repère local, et obtient la première représentation éventuelle à etre intersectée par ce rayon.
translate Effectue une translation à la représentation.
view Détecte toutes les représentations d'agents de type spécifié ou d'un type dérivé situées dans un cone de visibilité spécifié.
viewFirst Détecte la représentation d'un agent de type spécifié ou d'un type dérivé la plus proche et située dans un cone de visibilité spécifié.
yaw Effectue une rotation sur l'axe associé au lacet de l'objet 3D.


Référence des attributs


location

float[] location;

Position et orientation de la représentation 3D dans l'espace


Référence des méthodes


attachTo

void attachTo(Object3d container);

Attache une représentation à une autre de sorte que la modification de la position ou de l'orientation de celle-ci se répercute sur cette représentation.

Paramètres
container - la représentation parente

cancelRotation

void cancelRotation();

Réinitialise l'orientation de la représentation. Tous les angles sont remis à zéro après l'appel à cette méthode.

delete

void delete();

Appelée lors de la destruction de l'instance.

getContainer

Object3d getContainer();

Obtient la représentation parente à la représentation actuelle.

Valeur de retour
la représentation parente, ou NONE si cette représentation n'a aucun parent

getContent

Object3d[] getContent(string className, bool recursive);

Obtient la liste de toutes les représentations ayant cette représentation comme parent.

Paramètres
className - ne renvoie que les représentation du type indiqué ici, ou d'un type dérivé
recursive - true pour lister toutes les instances descendantes, ou false pour lister que les instances filles directes
Valeur de retour
la liste des instances filles

getGlobalBoundingBox

bool getGlobalBoundingBox(float & xmin, float & ymin, float & zmin, float & xmax, float & ymax, float & zmax);

Obtient la boite englobante de l'entité, exprimée dans le repère global.

Paramètres
xmin - l'abscisse minimum de la boite
ymin - l'ordonnée minimum de la boite
zmin - la cote minimum de la boite
xmax - l'abscisse maximum de la boite
ymax - l'ordonnée maximum de la boite
zmax - la cote maximum de la boite
Valeur de retour
true si une boite englobante existe, false sinon

getLocalBoundingBox

bool getLocalBoundingBox(float & xmin, float & ymin, float & zmin, float & xmax, float & ymax, float & zmax);

Obtient la boite englobante de l'entité, exprimée dans le repère local à la représentation.

Paramètres
xmin - l'abscisse minimum de la boite
ymin - l'ordonnée minimum de la boite
zmin - la cote minimum de la boite
xmax - l'abscisse maximum de la boite
ymax - l'ordonnée maximum de la boite
zmax - la cote maximum de la boite
Valeur de retour
true si une boite englobante existe, false sinon

getNbPoints

int getNbPoints();

Obtient le nombre de points constituant la représentation.

Valeur de retour
le nombre de points

getNbTriangles

int getNbTriangles();

Obtient le nombre de facettes constituant la représentation.

Valeur de retour
le nombre de facettes

getOrientation

void getOrientation(float & roll, float & pitch, float & yaw);

Obtient l'orientation de la représentation.

Paramètres
roll - le roulis
pitch - le tangage
yaw - le lacet

getPosition

void getPosition(float & x, float & y, float & z);

Obtient la position de la représentation.

Paramètres
x - l'abscisse
y - l'ordonnée
z - l'orientation

globalToLocalOrientation

void globalToLocalOrientation(float & roll, float & pitch, float & yaw);

Convertit une orientation dans le repère global en une orientation dans le repère local à la représentation.

Paramètres
roll - l'angle de roulis à convertir, et l'angle de roulis converti après l'appel à cette méthode
pitch - l'angle de tangage à convertir, et l'angle de tangage converti après l'appel à cette méthode
yaw - l'angle de lacet à convertir, et l'angle de lacet converti après l'appel à cette méthode

globalToLocalPosition

void globalToLocalPosition(float & x, float & y, float & z);

Convertit une position dans le repère global en une position dans le repère local à la représentation.

Paramètres
x - l'abscisse à convertir, et l'abscisse convertie après l'appel à cette méthode
y - l'ordonnée à convertir, et l'ordonnée convertie après l'appel à cette méthode
z - la cote à convertir, et la cote convertie après l'appel à cette méthode

inside

bool inside(float x, float y, float z);

Indique si le point spécifié se situe à l'intérieur de cette représentation.

Paramètres
x - l'abscisse du point à tester
y - l'ordonnée du point à tester
z - la cote du point à tester
Valeur de retour
true si le point est effectivement contenu dans la représentation, ou false dans le cas contraire

intersectRay

bool intersectRay(float & xInter, float & yInter, float & zInter, float xRay, float yRay, float zRay, float yawRay, float pitchRay);

Envoie un rayon à partir du point spécifié et dans la direction spécifiée, et indique s'il intersecte cette représentation.

Paramètres
xInter - l'abscisse du point d'impact éventuel
yInter - l'ordonnée du point d'impact éventuel
zInter - la cote du point d'impact éventuel
xRay - l'abscisse du point de départ du rayon
yRay - l'ordonnée du point de départ du rayon
zRay - la cote du point de départ du rayon
yawRay - l'angle de lacet dans le repère global du rayon par rapport à son point de départ
pitchRay - l'angle de tangage dans le repère global du rayon par rapport à son point de départ
Valeur de retour
true si le rayon intersecte cette représentation, false sinon

isAttachedTo

bool isAttachedTo(Object3d container);

Indique si cette représentation est attachée ou non à une représentation particulière.

Paramètres
container - la représentation susceptible d'etre la parente
Valeur de retour
true si cette représentation est bien attachée à celle passée en paramètre

keyPress

void keyPress(string key);

Appelée lorsqu'une touche a été enfoncée par l'utilisateur pendant que cette représentation est sélectionnée.

Paramètres
key - la touche ayant été actionnée

localToGlobalOrientation

void localToGlobalOrientation(float & roll, float & pitch, float & yaw);

Convertit une orientation dans le repère local à la représentation en une orientation dans le repère global.

Paramètres
roll - l'angle de roulis à convertir, et l'angle de roulis converti après l'appel à cette méthode
pitch - l'angle de tangage à convertir, et l'angle de tangage converti après l'appel à cette méthode
yaw - l'angle de lacet à convertir, et l'angle de lacet converti après l'appel à cette méthode

localToGlobalPosition

void localToGlobalPosition(float & x, float & y, float & z);

Convertit une position dans le repère local à la représentation en une position dans le repère global.

Paramètres
x - l'abscisse à convertir, et l'abscisse convertie après l'appel à cette méthode
y - l'ordonnée à convertir, et l'ordonnée convertie après l'appel à cette méthode
z - la cote à convertir, et la cote convertie après l'appel à cette méthode

mouseDrag

void mouseDrag(float dx, float dy, float dz);

Appelée lorsque cette représentation reçoit un événement de déplacement de la part de la souris.

Paramètres
dx - la longueur en abscisse du déplacement demandé
dy - la longueur en ordonnée du déplacement demandé
dz - la longueur en cote du déplacement demandé

new

void new();

Crée une nouvelle représentation 3D.

pitch

void pitch(float dPitch);

Effectue une rotation sur l'axe associé au tangage de l'objet 3D.

Paramètres
dPitch - l'angle de rotation

readShape

bool readShape(Shape3d shape);

Associe une forme 3D à cette représentation.

Paramètres
shape - la forme à associer
Valeur de retour
true si la forme est valide, false si elle ne peut etre visible à cause d'un problème de point ou facette

roll

void roll(float dRoll);

Effectue une rotation sur l'axe associé au roulis de l'objet 3D.

Paramètres
dRoll - l'angle de rotation

setOrientation

void setOrientation(float roll, float pitch, float yaw);

Change l'orientation de la représentation.

Paramètres
roll - le nouveau roulis
pitch - le nouveau tangage
yaw - le nouveau lacet

setPosition

void setPosition(float x, float y, float z);

Change la position de la représentation.

Paramètres
x - la nouvelle abscisse
y - la nouvelle ordonnée
z - la nouvelle orientation

throwRay

Object3d throwRay(float & xInter, float & yInter, float & zInter, string className);

Envoie un rayon imaginaire à partir du centre de cette représentation et suivant son axe des abscisses positives dans son repère local, et obtient la première représentation éventuelle à etre intersectée par ce rayon.

Paramètres
xInter - l'abscisse du point d'impact du rayon et de la représentation détectée
yInter - l'ordonnée du point d'impact du rayon et de la représentation détectée
zInter - la cote du point d'impact du rayon et de la représentation détectée
className - type de représentations à détecter (filtre)
Valeur de retour
l'objet détecté

translate

void translate(float dx, float dy, float dz);

Effectue une translation à la représentation.

Paramètres
dx - déplacement sur les abscisses
dy - déplacement sur les ordonnées
dz - déplacement sur les cotes

view

Object3d[] view(float[] & xyAngle, float[] & zAngle, float[] & distance, string className, float xyVision, float zVision, float range);

Détecte toutes les représentations d'agents de type spécifié ou d'un type dérivé situées dans un cone de visibilité spécifié.

Paramètres
xyAngle - les angles relatifs entre chaque représentation détectée et cette représentation, dans le plan XY
zAngle - les angles relatifs entre chaque représentation détectée et cette représentation, autour de l'axe Z
distance - les distances relatives entre chaque représentation détectée et cette représentation
className - le type de la représentation à détecter
xyVision - l'angle d'ouverture du cone du champ de perception, dans le plan XY
zVision - l'angle d'ouverture du cone du champ de perception, autour de l'axe Z
range - la portée du cone du champ de perception
Valeur de retour
toutes les représentations détectées, ou un tableau vide si aucune représentation n'a été trouvée

viewFirst

Object3d viewFirst(float & xyAngle, float & zAngle, float & distance, string className, float xyVision, float zVision, float range);

Détecte la représentation d'un agent de type spécifié ou d'un type dérivé la plus proche et située dans un cone de visibilité spécifié.

Paramètres
xyAngle - l'angle relatif exprimé dans le plan XY entre la représentation détectée et cette représentation
zAngle - l'angle relatif exprimé par rapport à l'axe Z entre la représentation détectée et cette représentation
distance - la distance relative entre la représentation détectée et cette représentation
className - le type de la représentation à détecter
xyVision - l'angle d'ouverture exprimé dans le plan XY du cone du champ de perception
zVision - l'angle d'ouverture exprimé autour de l'axe Z du cone du champ de perception
range - la portée du cone du champ de perception
Valeur de retour
la représentation détectée, ou NONE si aucune représentation n'a été trouvée

yaw

void yaw(float dYaw);

Effectue une rotation sur l'axe associé au lacet de l'objet 3D.

Paramètres
dYaw - l'angle de rotation


© Virtualys / E.N.I.B. / LI2 - Tous droits réservés
Dernières modifications :