The Implementation of the Colored Abstract Simplicial Complex and its Application to Mesh Generation.
- Author(s): Lee, Christopher T;
- Moody, John B;
- Amaro, Rommie E;
- McCammon, J Andrew;
- Holst, Michael J
- et al.
Published Web Locationhttps://dl.acm.org/citation.cfm?doid=3349340.3321515
We introduce CASC: a new, modern, and header-only C++ library which provides a data structure to represent arbitrary dimension abstract simplicial complexes (ASC) with user-defined classes stored directly on the simplices at each dimension. This is accomplished by using the latest C++ language features including variadic template parameters introduced in C++11 and automatic function return type deduction from C++14. Effectively CASC decouples the representation of the topology from the interactions of user data. We present the innovations and design principles of the data structure and related algorithms. This includes a metadata aware decimation algorithm which is general for collapsing simplices of any dimension. We also present an example application of this library to represent an orientable surface mesh.