Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2017:12_09

This is an old revision of the document!


Commit 2017-11-26

Ce commit est pour ajouter les DualGraphTree et le BottomUpBVHBuilder dans le but de rapatrier mes derniers développements.

Dual Graph Tree

Bottom Up BVH Builder

Sur base du graphe dual d'une skin ou d'un wire, il est possible de créer une hiérarchie de volume frontière en partant des feuilles de l'arbre vers le sommet de l'arbre, en groupant au fur et à mesure les différentes courbes et faces. Cette procédure est indispensable pour le cas de l'auto-contact pour pouvoir tenir compte du critère de courbure local et d'adjacence.

Si le wire ou la skin sont discontinue, une erreur est signalée ! En effet, on suppose que le wire ou la skin sont simplement connectées. Il est possible d'adapter la procédure sur des cas disconnectés mais pour ça il faut adapter la procédure de regroupement des supercoubes et supersurfaces disjointes !

Tests

J'ai ajouté des tests pour la recherche globale du contact en auto-contact et en contact avec une hiérarchie de volume frontière.

Pour pouvoir utiliser cette fonctionnalité, il suffit de générer un BVHOptions et le transmettre à l'interaction de contact :

ci = Rd|Sc|Dd|FdRd|ContactInteraction(1)
option = BVHOptions()
option.setBottomUp(True|False)
option.setVerbose(True|False)
option.setVerboseTimer(True|False)
option.setDebug(True|False)
option.setLeafSize(N) et N est un entier positif.
option.setUseSelfBVH(True|False)
ci.setBVHOptions(option) 

Références

[1] [2] [3]

Fichiers ajoutés/supprimés

[a]:oo_meta\mtGeo\mtGeoAAOBBoundaryVolume.cpp
[a]:oo_meta\mtGeo\mtGeoAAOBBoundaryVolume.h
[a]:oo_meta\mtGeo\mtGeoBottomUpBVHBuilder.cpp
[a]:oo_meta\mtGeo\mtGeoBottomUpBVHBuilder.h
[a]:oo_meta\mtGeo\mtGeoBucketSort.cpp
[a]:oo_meta\mtGeo\mtGeoBucketSort.h
[a]:oo_meta\mtGeo\mtGeoBVHOptions.cpp
[a]:oo_meta\mtGeo\mtGeoBVHOptions.h
[a]:oo_meta\mtGeo\mtGeoCurveWithDualGraph.cpp
[a]:oo_meta\mtGeo\mtGeoCurveWithDualGraph.h
[a]:oo_meta\mtGeo\mtGeoDualGraphEdge.cpp
[a]:oo_meta\mtGeo\mtGeoDualGraphEdge.h
[a]:oo_meta\mtGeo\mtGeoDualGraphNode.cpp
[a]:oo_meta\mtGeo\mtGeoDualGraphNode.h
[a]:oo_meta\mtGeo\mtGeoDualGraphTree.cpp
[a]:oo_meta\mtGeo\mtGeoDualGraphTree.h
[a]:oo_meta\mtGeo\mtGeoSelfBottomUpBVHBuilder.cpp
[a]:oo_meta\mtGeo\mtGeoSelfBottomUpBVHBuilder.h
[a]:oo_meta\mtGeo\mtGeoSelfBoundaryVolumeHierarchy.cpp
[a]:oo_meta\mtGeo\mtGeoSelfBoundaryVolumeHierarchy.h
[a]:oo_meta\mtGeo\mtGeoSideWithDualGraph.cpp
[a]:oo_meta\mtGeo\mtGeoSideWithDualGraph.h
[a]:oo_meta\mtGeo\mtGeoSkinDualGraphEdge.cpp
[a]:oo_meta\mtGeo\mtGeoSkinDualGraphEdge.h
[a]:oo_meta\mtGeo\mtGeoSkinDualGraphNode.cpp
[a]:oo_meta\mtGeo\mtGeoSkinDualGraphNode.h
[a]:oo_meta\mtGeo\mtGeoSkinDualGraphTree.cpp
[a]:oo_meta\mtGeo\mtGeoSkinDualGraphTree.h
[a]:oo_meta\mtGeo\mtGeoSkinSelfBoundaryVolumeHierarchy.cpp
[a]:oo_meta\mtGeo\mtGeoSkinSelfBoundaryVolumeHierarchy.h
[a]:oo_meta\mtGeo\mtGeoWireDualGraphEdge.cpp
[a]:oo_meta\mtGeo\mtGeoWireDualGraphEdge.h
[a]:oo_meta\mtGeo\mtGeoWireDualGraphNode.cpp
[a]:oo_meta\mtGeo\mtGeoWireDualGraphNode.h
[a]:oo_meta\mtGeo\mtGeoWireDualGraphTree.cpp
[a]:oo_meta\mtGeo\mtGeoWireDualGraphTree.h
[a]:oo_meta\mtGeo\mtGeoWireSelfBoundaryVolumeHierarchy.cpp
[a]:oo_meta\mtGeo\mtGeoWireSelfBoundaryVolumeHierarchy.h
[a]:oo_meta\mtGeo\mtGeoWithDualGraph.cpp
[a]:oo_meta\mtGeo\mtGeoWithDualGraph.h
[r]:

Cas tests ajoutés/supprimés

[a]:oo_nda\meca0464/tests/threeRingsContactTestBVHBottomUp.py
[a]:oo_nda\meca0464/tests/threeRingsContactTestSelfBVHBottomUp.py
[a]:oo_nda\meca0464/tests/twoRingsContactTestBVHBottomUp.py
[a]:oo_nda\meca0464\tests\threeRingsContactTestBVHBottomUp.tsc
[a]:oo_nda\meca0464\tests\threeRingsContactTestSelfBVHBottomUp.tsc
[a]:oo_nda\meca0464\tests\twoRingsContactTestBVHBottomUp.tsc
[a]:oo_meta\apps\imp\ddrawingBVHBottomUp.py
[a]:oo_meta\apps\imp\ddrawingBVHBottomUp.tsc
[a]:oo_meta\mtContact\tests\threeBeamsRingContactTestBVHBottomUp.py
[a]:oo_meta\mtContact\tests\threePlatesCylinderContactTestBVHBottomUp.py
[a]:oo_meta\mtContact\tests\torusCylinderContactTestBVHBottomUp.py
[a]:oo_meta\mtContact\tests\twoToriContactTestBVHBottomUp.py
[a]:oo_meta\mtContact\tests\threeBeamsRingContactTestBVHBottomUp.tsc
[a]:oo_meta\mtContact\tests\threePlatesCylinderContactTestBVHBottomUp.tsc
[a]:oo_meta\mtContact\tests\torusCylinderContactTestBVHBottomUp.tsc
[a]:oo_meta\mtContact\tests\twoToriContactTestBVHBottomUp.tsc
[r]:

gaëtan 2017/12/09 18:00

commit/2017/12_09.1512921365.txt.gz · Last modified: 2017/12/10 16:56 by wautelet

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki