# Libpc

From BRL-CAD

## Contents

## libpc: Introduction[edit]

## Objectives[edit]

The objectives encompassed by libpc are the following

**Front-end**

- An Abstraction of Parameters over the present components of primitives
- Representation of complex (see examples) constraints between Parameters
- Framework for selection of Design/Alternative Configurations

**Back-end**

- Fast Geometric Constraint Solution

### Advantages[edit]

- Reduction of Modeling time in case of Iterative designs
- Logic of Design represented in the geometry file itself
- Capability for complex geometry generation

## Constraint Satisfaction Process[edit]

## Possible Approaches in BRL-CAD[edit]

## Structure[edit]

libpc is composed of the following modules

- Reprsentation of Parameters and Constraints in Storage
- Representation of Parameters in Memory
- Representation of Constraints in Memory / DataStructure
- Associated MathGrammar and MathVM

- Generation of 2 and 3 from 1
- Solution System
- Constraint Network Generation from 4
- Constraint Satisfaction

- Parameter and Geometry updation