Editing Geometry Conversion Library

From BRL-CAD

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
 
One of the most common uses of BRL-CAD is to convert geometry from one format to another.  This is a task all CAD systems must perform, and often one of the more difficult.  BRL-CAD has a wide variety of converters, both import and export, that are coded as stand-alone tools.
 
One of the most common uses of BRL-CAD is to convert geometry from one format to another.  This is a task all CAD systems must perform, and often one of the more difficult.  BRL-CAD has a wide variety of converters, both import and export, that are coded as stand-alone tools.
  
Many of the geometry conversion tools share the same or very similar code - src/conv is the of the hot-spots for removing duplicate code in BRL-CAD.  (Duplicated code is an unnecessary maintenance burden, as a problem in one instance must be fixed in all).  This project would work on a conversion library (LIBGCV) that provides a clean API for converting to and from different formats.
+
Many of the geometry conversion tools share the same or very similar code - src/conv is the of the hot-spots for removing duplicate code in BRL-CAD.  (Duplicated code is an unnecessary maintenance burden, as a problem in one instance must be fixed in all).  This project would work on a conversion library that provides a clean API for converting to and from different formats.
  
Geometry conversion is an immense topic, so a student proposal should concentrate on the design of the library rather than the details of each individual format, using just a few formats as focuses for initial development.  The library design should allow formats to be added to the library as plugins.  Students submitting proposals for this topic should discuss it beforehand with developers via IRC or email.
+
Geometry conversion is an immense topic, so a student proposal should concentrate on the design of the library rather than the details of each individual format, using just a few formats as focuses for initial development.  At the same time, the library design should be general enough that new formats can be added to the library without running into API limitations.  Students submitting proposals for this topic should discuss it beforehand with developers via IRC or email.
  
=References=
+
Requirements:
 
 
* src/conv
 
** dozens of importers and exporters in here, most are one .c file per converter
 
** the more complex converters are in subdirectories
 
* src/libgcv
 
** this is a placeholder for the new awesomeness, each converter should be an input/output plugin to the library
 
 
 
=Requirements=
 
  
 
*Familiarity with C/C++
 
*Familiarity with C/C++
 
*Familiarity with file parsing issues (lex/yacc a plus)
 
*Familiarity with file parsing issues (lex/yacc a plus)
 
*Basic understanding of geometry information (will be needed for understanding conversion issues)
 
*Basic understanding of geometry information (will be needed for understanding conversion issues)

Please note that all contributions to BRL-CAD may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see BRL-CAD:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)