yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #01192
facet topology
-
To:
Yade Development Group <yade-dev@xxxxxxxxxxxxxxxxxxx>
-
From:
Václav Šmilauer <eudoxos@xxxxxxxx>
-
Date:
Thu, 09 Apr 2009 08:36:37 +0200
-
User-agent:
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.19) Gecko/20090105 Lightning/0.8 Thunderbird/2.0.0.19 Mnenhy/0.7.6.666
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