Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2014:06_06

This is an old revision of the document!


Commit 2014-06-06

Modifications de la stratégie de reset des boundingBoxs en vue de préparer le prochain commit sur le système hiérarchique de boundingBoxs

Reset des boundingBoxs

Auparavant, l’opération de reset des boundingBoxs (needToBeComuted(True)) était incluse dans la méthode resetShortCuts() des classes mtGeoCurve et mtGeoSurface. Le reset des boundingBoxs était dès lors en grande partie orchestré par les appels aux méthodes de mise à jour des classes RadialLoading, RotativeLoading et UniformLoading ainsi qu’à chaque début de détection du contact pour le maillage.

Désormais, le chemin poursuivi pour réaliser le reset des boundingBoxs est modifié. Le reset des boundingBoxs est découplé des méthodes resetShortCuts() et est réalisé non plus à partir de l’objet géométrique de la classe DBLoading mais à partir du ou des outils de contact de l'interaction. Le reset des boundingBoxs est opéré en amont dans les routines de détection du contact.

Motivations de la nouvelle stratégie de reset des boîtes

Au moyen de la précédente stratégie de reset des boîtes, si l’objet géométrique sur lequel était imposé le chargement est de plus bas niveau que celui de l’outil de contact, des boundingBoxs immobiles seraient observées pour quelques cas-tests de la batterie au commit suivant, c’est-à-dire des boîtes qui ne suivent pas leur objet géométrique - ces boîtes étant privées de toutes opérations de reset - amenant ainsi des problèmes de convergence et/ou de contacts manqués.

Ensuite, l’animation ci-dessous du cas-test apps.bImp.laursenContact3D est une illustration manifeste de la résolution des quelques problèmes de boîtes clignotantes qui pouvaient être observés lors du commit précédent suite à des resets de boîtes mal contrôlés.

<html> <iframe width=“640” height=“360” src=“www.youtube.com/embed/ILc4GrQ8YVI?rel=0” frameborder=“0” allowfullscreen></iframe> </html> =====Boucle sur les éléments des interactions dans la détection du contact===== Dans les routines de détection du contact, on peut relever un petit gaspillage du temps CPU puisque la boucle sur les éléments est réalisée quel que soit le type d’interactions. Pour éliminer ce gaspillage, la ligne de code getElementSet().initIterations() dans la méthode initIterations() est déplacée de la classe Interaction vers la classe ContactInteraction. =====Affichage des bounding boxs ===== Nettoyage partiel des routines. ==== Fichiers ajoutés/supprimés ==== <code> </code> — Yanick Crutzen 2014/06/06

commit/2014/06_06.1402557568.txt.gz · Last modified: 2016/03/30 15:22 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki