# Geometric Constraint Solver

Previous GSoC projects have made progress towards a parametrics/constraint library. Please check libpc Developer Doc as well as the libpc source. The work is effectively long-term considering the amount of work required. Talk to the developers before proposing this task to obtain project status.

BRL-CAD does not presently provide the means to specify values that are undetermined or otherwise dependent calculations. That is to say that there is no support for constraints and parametrics such that a modeler can define a sphere such that the sphere's radius necessarily maintains tangency with a given planar surface. This task would focus on implementing basic support for this feature in the BRL-CAD geometry format. Parametric representation of Geometry (and constraints) provides a good foundation for various aspects of Design computation, Geometry Generative Algorithms, and A more logically connected model not to mention significant reduction in Modeling time (since the process of modeling during an actual design cycle is inherently iterative).

# References

- src/libpc
- include/pc.h
- src/other/boost
- needs updating

- src/librt/primitives/table.c
- contains primitive callback definitions

- src/librt/primitives/**
- each primitive needs to implement a routine that returns available parameters, rt_*_param().

Requirements:

- Familiarity with C/C++
- General understanding of constraint solving