Project

General

Profile

Questions diverses sur la version OSG

Added by Théveny Frédéric over 9 years ago

Bonjour,

je suis toujours en train d’adapter mon plugin à la version basée sur OSG (r520) et j’ai quelques questions / retours sur les changements d’API et de comportement suite à cette migration OSG :

- la méthode draw() de CT_AbstractActionForGraphicsView ne semble plus appelée à chaque redraw, seulement à l’initialisation de la fenêtre, est-ce normal ?
- DM_Document::setSelectAllItemDrawableOfModel(false) ne déselectionne plus les points sélectionnés, quels sont les alternatives ? Dois-je parcourir la selection pour déselectionner ?
- il semble que le fonctionnement du CT_StandardLineDrawManager() ait changé ⇒ mes CT_Lines n’ont plus les attributs visuels qu’elles avaient avant mais les attributs par défaut.

Je posterai mes autres observations sur les changements ici en espérant que ça vous soit utile.

Fred


Replies (2)

RE: Questions diverses sur la version OSG - Added by Krebs Michaël over 9 years ago

Salut Fred,

- Oui effectivement la nouvelle version demande d’appeler une méthode lorsque tu souhaite que la méthode draw() soit appelée :

setDrawing3DChanged();
Il suffit de placer cette ligne de code au moment ou tu souhaite que l’affichage se rafraîchisse. Attention cette méthode ne fait que demander la mise à jour de l’affichage et n’est donc pas bloquante.

- Pour ta deuxième question il y a deux solutions :
  • Appeler la méthode de DocumentInterface
    setSelectAllItemDrawable(false)
  • Appeler la méthode de la GraphicsViewInterface (A préféré par rapport à l’autre méthode car plus rapide)
    setAllPointsSelected(false)

    La méthode setSelectAllItemDrawableOfModel(false, models) ne va que déselectionner que les points des items dont le model est contenu dans la liste passé en paramètre et non pas les autres items.

- Non il n’y a pas eu de changement dans CT_StandardLineDrawManager mais nous n’avons pas encore remis la possibilité de changer le type de dessin d’un trait 3D. On ne peut plus changer la taille ou l’aspect pour le moment.

    (1-2/2)