← Back to team overview

yade-dev team mailing list archive

facet topology

 

Hi (Sega),

I added FacetTopologyAnalyzer yesterday and a few fields to InteractingFacet. Since probably not everybody will use topology information, the question is how to store it inside InteractingFacet. Currently, this entails int edgeAdjIds[3] and Real edgeAdjAngles[3] (not yet used), something like 24 bytes in total. There are 3 possibilities, it seems:

(1) Just make new data members in InteractingFacet; this is what I do now and it is what I would prefer (also for simplicity sake).

(2) Add shared_ptr<FacetTopologyInfo> topologyInfo pointer to InteractingFacet, which will be used only if topology is really used (8 bytes, I think).

(3) Make a class derived from InteractingFacet that will add everything as needed. The (big) disadvantage is that engines using those data would have to exist in 2 flavors (one with, one without topology).

I hope it is OK to go with (1).

The intention is to solve double interactions (non-smooth surface) by defining that one half of the angle around common edge should be handled by facet A, and the other half by facet B. There will be no double interactions then, and at the same time we will avoid looking up whether an interaction with the other facet exists.

Vaclav



Follow ups