ausblenden:
Schlagwörter:
-
Zusammenfassung:
Implementing algorithms that are based on dynamic triangle meshes
often requires updating internal data-structures as soon as the
connectivity of the mesh changes. The design of a class hierarchy
that is able to deal with such changes is particularly challenging if the
system reaches a certain complexity.
The paper proposes a software design that enables the users to
efficiently implement algorithms that can handle these dynamic
changes while still maintaining a certain encapsulation of the
single components.
Our design is based on a callback mechanism. A client can register at some {\tt
Info}-object and gets informed whenever a change of the connectivity occurs.
This way the client is able to keep internal data up-to-date. Our framework
enables us to write small client classes that cover just a small dedicated
aspect of necessary updates related to the changing connectivity. These small
components can be combined to more complex modules and can often easily be
reused. Moreover, we do not have to store related 'dynamic data' in one central
place, e.g. the mesh, which could lead to a significant memory overhead if an
application uses some modules just for a short time.
We have used and tested this class design extensively for
implementing 'Dynamic Connectivity Meshes and
Applications~\cite{Vorsatz:2003:DRA}'. Additionally, as a
feasibility study, we have implemented and integrated our concept in the
\OM-framework.