||A generic 3D geometric constraint solver. |
Finds a generic solution for problems formulated by cluster-constraints.
Constraints are Clusers: Rigids, Hedgehogs and Balloons.
Cluster are added and removed using the add and remove methods.
After adding each Cluster, the solver tries to merge it with
other clusters, resulting in new Clusters and Methods.
The generic solution is a directed acyclic graph of Clusters and Methods.
Particilar problems and solutions are represented by a Configuration
for each cluster.
For each Cluster a set of Configurations can be set using the
set method. Configurations are propagated via Methods and can
be retrieved with the get method (also returning a set).
- Method resolution order:
Methods defined here:
- Instantiate a ClusterSolver3D
Methods inherited from geosolver.clsolver.ClusterSolver:
- add(self, cluster)
- Add a cluster.
cluster: A Rigid
- get list of angles
- get list of balloons
- contains(self, obj)
- get list of distances
- find_dependend(self, object)
- Return a list of objects that depend on given object directly.
- find_depends(self, object)
- Return a list of objects that the given object depends on directly
- get(self, cluster)
- Return a set of configurations associated with a cluster
- get list of hedgehogs
- is_top_level(self, object)
- get list of methods
- remove(self, cluster)
- Remove a cluster.
All dependend objects are also removed.
- get list of rigids
- set(self, cluster, configurations)
- Associate a list of configurations with a cluster
- set_root(self, rigid)
- Make given rigid cluster the root cluster
cluster: A Rigid
- get top-level objects
- get list of variables
Methods inherited from geosolver.notify.Notifier:
- add_listener(self, listener)
- add a listener to the list (and self to listers' list)
- rem_listener(self, listener)
- remove a listener from the list (and self from listers' list)
- send_notify(self, message)
- send a message to all listeners