Difference between revisions of "Libpg : A parametrics/constraint library"

From BRL-CAD
m (Start)
 
(libpg : A parametrics/ constraint library: Under construction)
Line 3: Line 3:
 
Proposed sytem for parametrics and constraint implementation
 
Proposed sytem for parametrics and constraint implementation
 
by Dawn Thomas (homovulgaris)
 
by Dawn Thomas (homovulgaris)
 +
 +
Provision for Parametrics and constraints greatly improves the performance of a Computer Aided Design System both in terms of geometry generation as well as analysis. Considering the unix model of division into multiple tools and libraries for individual functions as well as the fact that parametric/constraint functionalities are '''not critical''' elements in terms of geometry generation and raytracing, a logical solution would be the implemenation of a separate library (libpg)
 +
 +
==Function==
 +
libpg adds the following provisions to BRL-CAD system
 +
 +
# Creation & Modification of parameter-based geometry objects
 +
# Creation of constraints between geometry objects
 +
# Creation & Storage of Parametric Objects (non-geometric)
 +
# Modification of geometry objects in .g files to indicate parametric nature
 +
 +
Part 1 would include building parametric objects based on existing non-parametric geometry objects as well as generation of purely parametric geometry. libpg
 +
acts as a library which sits above librt using the librt methods for creation and modification of geometry
 +
 +
 +
==Architecture==
 +
 +
Image to be uploaded
 +
 +
==Object Architecture==
 +
 +
An object oriented method of implementation would be the creation of a mixed ( in the sense that they contain both geometric and non-geometric information ) object. The object architecture is as shown below which shows the data types as well as the public and private methods
 +
 +
==Notes==
 +
 +
===Object Overlay===
 +
===Extensibility===
 +
===Interoperability

Revision as of 15:21, 28 March 2008

libpg : A parametrics/ constraint library

Proposed sytem for parametrics and constraint implementation by Dawn Thomas (homovulgaris)

Provision for Parametrics and constraints greatly improves the performance of a Computer Aided Design System both in terms of geometry generation as well as analysis. Considering the unix model of division into multiple tools and libraries for individual functions as well as the fact that parametric/constraint functionalities are not critical elements in terms of geometry generation and raytracing, a logical solution would be the implemenation of a separate library (libpg)

Function

libpg adds the following provisions to BRL-CAD system

  1. Creation & Modification of parameter-based geometry objects
  2. Creation of constraints between geometry objects
  3. Creation & Storage of Parametric Objects (non-geometric)
  4. Modification of geometry objects in .g files to indicate parametric nature

Part 1 would include building parametric objects based on existing non-parametric geometry objects as well as generation of purely parametric geometry. libpg acts as a library which sits above librt using the librt methods for creation and modification of geometry


Architecture

Image to be uploaded

Object Architecture

An object oriented method of implementation would be the creation of a mixed ( in the sense that they contain both geometric and non-geometric information ) object. The object architecture is as shown below which shows the data types as well as the public and private methods

Notes

Object Overlay

Extensibility

===Interoperability