This is an old revision of the document!
−Table of Contents
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.
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