Johns version in not up today, I added some refinement but I do not think he ever incorporate them.
I can check then out this weekend.
In the Newton SDK, I imported some model, (the Cow, the Camel, the chair, the Bug)
the cow and Camel is implied, because the are too large for download.
This simplification is not a cheat, it is done with the same functionality of the Mesh Toll, it is just that those file alone are larger that all the assert in the demos.
I also have the hollow box and hollow Bessel.
anyway if you download the Newton SDK library form GitHub, and you select the simple convex decomposition demo, you can select the option show wire collision frame or show solid collision
and it will show how the look.
As I was explaining to you over the Jon Radcliff blog
http://codesuppository.blogspot.com/2011/12/new-implementation-of-hacd-algorithm.htmlThe problem I found with your concavity metric is that you assume hat that the concavity of a two buddle of face and edge selection form the selection on one split, is always lower that the concavity of the original bundle.
So you original algorithm assume the split with the lower concavity and keep doing recursively.
this is not so, it is possible to have a collision of face and each split will increase concavity, this is obvious for a set that is already convex it is also true for sets that are not convex as well.
so my adaptation Is that I do no generate a single set of splits, I generate a hierarch of splits,
the on a second pass using annealining, I walk the trees calculation the concavity of the children's. and the grand children.
and each time the grand children produce a value that with concavity close to the grand parent is recursively fuses then children and continue doing it until no more reduction can be made.
This create a hierarchical that is very much parameter less.
basically you can have select any degree co convexity you want.
for example a very dense sphere, will generate a parent that is the convex of the sphere at the top, and lot of children annealinig process delete all the children that do not increase concavity, leaning only the root.
if for example you take the sphere an add a notch, it will generate the top sphere and some splits, as children, of the desired level is reach.
All the sample in the Newton demos use that technique, and I get good results.
I am no sure if Ratclift ever added that last fixes a added.
Last time I was in contact wih him he set so that I have tow mode, the one that find the first series of decomposition and optimally the second pass, the second pass take longer and he was satisfied with the first result.
anyway I see if I can test some of those sample meshes. they seem simple enough to me, because they are all well form meshed. the mesh that present that biggest problem are the mesh with mal form topologies.
an example of that is the Cessna airplane. This is use in the OpenScen Grapfh library, and weh I try to decomposed, it expose some weakness of the algorithm and I added some fix to account for those cases.
I have no doubt that there may be still many flaws, and may fail spectacularly on some meshes, but
to me after years of Newton, I found out that people adding functionality to the library is a waste of my time.
It is more important to have good advertising and mediocre support that good support and no advertising at all.
I added many advance feature to the library, but they state dormant for years, until some one announce the same thing somewhere else, than people take a look.