QOCA
QOCA is a library for incrementally solving systems of linear equations with various goal functions. It was developed by Kim Marriott and Sitt Sen Chok at Monash University, starting in 1992. The library provides three different solvers, one of which is based on the Cassowary algorithm. It can provide linear equalities and inequalities, using either Euclidean or Manhattan distances. C++ and Java implementations are available. The QOCA toolkit was designed for interactive graphical applications and uses an object-oriented approach to constraint solving. It supports linear arithmetic constraints and provides different distance metrics for solving constraint systems. The toolkit includes multiple solvers for efficiently resolving constraints during direct manipulation.
QOCA follows an object-oriented design. Its interface is based on metric space. Constraints can be added or removed, and “edit” variables can be applied and adjusted. It was designed to be suitable for real-time applications. In a 1997 technical report comparing QOCA to Cassowary, researchers described the former as being “considerably more sophisticated” and having “much better performance” than the latter.
QOCA is licensed under the GNU General Public License, version 2.
Sources and credits
This article is adapted from the Wikipedia article “QOCA”, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.
Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.