Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ rhea Public
forked from Nocte-/rhea

A constraint solver based on Cassowary

License

Notifications You must be signed in to change notification settings

hfossli/rhea

 
 

Repository files navigation

Rhea

Build status Coverage Status

About

Rhea is an incremental constraint solver based on Cassowary, originally developed by Greg J. Badros and Alan Borning. The main differences are:

  • Allows the programmer to write constraints in a natural way
  • Rewritten in C++11, fixes some bugs and memory leaks
  • CMake instead of GNU Autoconfig
  • Unit tests use the Boost Test Framework
  • Uses Doxygen for documentation
  • Expression parser based on Boost Spirit
  • Does not have a finite domain subsolver

Quick example

#include <rhea/simplex_solver.hpp>
#include <rhea/iostream.hpp>

main()
{
    rhea::variable x (0), y (0);
    rhea::simplex_solver solver;

    solver.add_constraints(
    {
        x <= y,
        y == x + 3,
        x == 10
    });

    std::cout << x << " " << y << std::endl;
    // Prints "10 13"
}

Status

This software is alpha. It does pass all unit tests, but it hasn't been used in an actual application yet. Use at your own peril.

License

Rhea is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 3.

About

A constraint solver based on Cassowary

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 97.2%
  • CMake 2.8%