Colored Abstract Simplicial Complex (CASC)

Colored Abstract Simplicial Complex (CASC) represents and manipulates arbitrary-dimensional abstract simplicial complexes, enabling storage of user-defined classes on simplices at each dimension and topology-aware operations such as metadata-aware decimation.


Key Features:

  • Header-only C++ library: Implemented as a header-only C++ library to provide compile-time composition of types and templates.
  • Arbitrary-Dimensional Representation: Represents abstract simplicial complexes (ASCs) in arbitrary dimensions.
  • User-Defined Data Storage: Stores user-defined classes directly on simplices at each dimension.
  • C++11 and C++14 language features: Uses variadic templates from C++11 and automatic function return type deduction from C++14 to enable flexible type and API composition.
  • Decoupled Topology and User Data: Employs metatemplate programming to separate topology representation from user data and interactions.
  • Metadata-Aware Decimation Algorithm: Provides a decimation algorithm that can collapse simplices of any dimension while respecting stored metadata.
  • Hasse Diagram Topology Storage: Stores full combinatorial topology according to a Hasse diagram representation.

Scientific Applications:

  • Computational Topology: Enables construction and manipulation of ASCs for topological analysis and algorithms.
  • Mesh Generation and Geometric Modeling: Represents meshes and supports operations relevant to mesh generation and geometric modeling.
  • Orientable Surface Mesh Representation: Represents orientable surface meshes used in computer graphics, 3D modeling, and scientific visualization.
  • Data Reduction and Simplification: Applies the metadata-aware decimation algorithm for data reduction and simplification tasks across domains.

Methodology:

Stores combinatorial topology via a Hasse diagram; uses metatemplate programming to decouple topology and user data; implements C++11 variadic templates and C++14 automatic return type deduction; includes a metadata-aware decimation algorithm that collapses simplices of arbitrary dimension.

Topics

Details

License:
LGPL-2.1
Programming Languages:
C++
Added:
11/14/2019
Last Updated:
12/10/2020

Operations

Publications

Lee CT, Moody JB, Amaro RE, Mccammon JA, Holst MJ. The Implementation of the Colored Abstract Simplicial Complex and Its Application to Mesh Generation. ACM Transactions on Mathematical Software. 2019;45(3):1-20. doi:10.1145/3321515. PMID:31474782. PMCID:PMC6716611.

PMID: 31474782
PMCID: PMC6716611
Funding: - Division of Mathematical Sciences: DMS-CM1620366, DMS-FRG1262982 - National Institutes of Health: P41-GM103426, RO1-GM31749, T32-GM008326