Abstract
Implementing algorithms that are based on dynamic triangle meshes often requires updating internal datastructures 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 someInfo-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 9’. Additionally, as a feasibility study, we have implemented and integrated our concept in the OpenMesh2framework.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have