← retour à la page principale du projet
Rapport du vendredi 5 août 2005

Matin:
Je fais un bref tableau des valeurs au chargement:
méthode de récupération de position (probablement un coin d'une boîte englobante). position du centre de la boîte englobante
organe (utérus) X=0.000000  Y=0.000000  Z=0.000000 X=0.000000  Y=-21.804399  Z=13.607651
outil (paire de ciseaux) X=78.933502  Y=20.434299  Z=47.121201 X=-3.110655  Y=-12.302350  Z=0.556360
geometryObject X=0.000000  Y=0.000000  Z=0.000000 X=75.822845  Y=8.131949  Z=47.677559
Je ne comprends pas pourquoi j'ai la même position pour l'organe & geometryObjects. Je vais demander à Nicolas.
Je serai bien intéressé par récupérer les fichiers de l'indenteur & de la mâchoire à pince plate (la mâchoire dentelée que j'ai est assez mal modélisée) pour faire d'autres tests. Je demanderai alors à Nicolas la procédure à effectuer pour obtenir les fichiers .iv.
J'ai réussi à afficher les boîtes englobantes. Il faut se mettre en mode observation, clic-droit, Draw Styles, Still Drawstyle, bounding box (no depth). L'idéal serait d'afficher également les 3 axes avec les unités.
On apperçoit la boîte englobante de l'utérus, & les 2 boîtes englobantes des 2 parties du ciseau. Par contre, je ne comprends plus alors ce que fait la méthode setToolInitialPositionOutsideOrgan() (je pensais qu'elle séparait les boîtes englobantes, alors que la boîte de chacune des parties du ciseau a une intersection avec celle de l'utérus).
Je pense qu'au final, il va falloir faire un calcul pour trouver les transformation effectuée par rapport au centre de l'objet, car apparamment, SoQt ne me les donnera pas.


Après-midi:
En fait, dans Forge, les rotations peuvent s'effectuer à partir de n'importe quel centre de rotation, qu'il suffit simplement de préciser. Donc les calculs semblent faisables.
Petite conversation téléphonique avec Nicolas via Skype. Effectivement, il va falloir comprendre la signification des chiffres qui nous sont donnés. Apparemment, lors du chargement des objets 3D (que ce soit les outils ou les organes), ils sont chargés tels que le centre de gravité (différent du centre de la boîte englobante) soit placé au centre du repère (0;0;0); mais cela reste à prouver, ce n'est qu'une conjecture.
Il faudra essayer de déplacer le centre du manipulateur servant à effectuer la rotation pour être sûr que ce centre est bien le centre de gravité de la paire de ciseaux.
Il faudra aussi remplacer la manipulation setToolInitialPositionOutsideOrgan() qui se sert de l'objet topToolTranslation par quelque chose de plus propre. Dorénavant, toutes les transformations devront être effectuées sur un seul & même objet: geometryObjects. Il va falloir donc vérifier que le code le fasse correctement.
Petite réunion avec Yannick pour redéfinir l'état des lieux & les axes de recherche à venir.
Petite réunion avec Audrey: manifestement, Forge demande (via le .out): les coordonnées absolues de tous les points du maillage (dans leur position initiale) dans un tableau, ainsi que la liste des liens entre ces points.
Pour ma timeline, je ne vais stocker que la position d'un seul point & l'orientation de l'objet; on calculera le reste plus tard.


À effectuer prochainement:
Il faudra essayer de déplacer le centre du manipulateur servant à effectuer la rotation pour être sûr que ce centre est bien le centre de gravité de la paire de ciseaux.
Il faudra aussi remplacer la manipulation setToolInitialPositionOutsideOrgan() qui se sert de l'objet topToolTranslation par quelque chose de plus propre. Dorénavant, toutes les transformations devront être effectuées sur un seul & même objet: geometryObjects. Il va falloir donc vérifier que le code le fasse correctement.

Valid XHTML 1.0 Transitional