Hi Margaret,

Think of this library as a hub which converts one CAD file format to
another with the BRL-CAD database format in the middle.  Looking at
src/conv you will see that many of the conversion algorithms are
already available.  E.g. to to go from *.stl to *.obj you would first
use stl-g and then g-obj.

I.e. such a project wouldn't be about conversion algorithms but
software architecture: How would you design such a hub?  How should
additional file formats be added (plugged in)?  How to provide a set
of often used functionality for the converters? -  And then implement
it for some of the existing formats as a proof of concept.

Regarding the "basic understanding of geometry information", for
example: Many file formats carry a boundary representation of their
geometric objects.  BRL-CAD is based on combinatoric constructive
solid geometry (CSG).  Do you know what the difference is?


Regards,
    Daniel

2016-03-04 7:15 GMT+01:00 Margaret Hu <margaret.ss...@gmail.com>:
>
>
> My name is Margaret Hu, I am a student at Ohlone College Fremnt California,
> I am interested in the project "Geometry Conversion Library"
>
> For the three requirement for this project
> * Familiar with C/C++ :  YES
> * Familiar with file parsing issue (lex/yacc a plus) : YES, I know
> flex/bison and regex
> * Basic understanding of geometry information (will be needed for
> understanding conversion issue) : Not sure here, perhaps it involves some
> x,y,z coordinates? Not familiar with the various file format. I took a look
> at the src/conv directory, the biggest file is obj-g.c with 3971 lines of
> code.
>
> I believe the idea is, assume we have File_Format_A (FFA) File_Format_B, ...
> etc. we need to first convert it into an Internal_Data_Structure that can
> represent all the information we need to do CAD, later we can either use
> this data structure directly or dump it into any file format.
>
> typedef enum {FFA, FFB, ...} Format_t;
>
> /*for input: */
> Internal_Data_Structure *root;
> switch () {
> FFA:
>  root = parse("file.ffa", FFA);
>  break;
> FFB:
>  root = parse("file.ffb", FFB);
>  break;
> default:
> }
>
> /*for output: */
> int status;
> switch () {
> FFA:
>  status = dump(root, FFA);
>  break;
> FFB:
>  root = dump(root, FFB);
>  break;
> default:
> }
>
>
> ------------------------------------------------------------------------------
> Site24x7 APM Insight: Get Deep Visibility into Application Performance
> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
> Monitor end-to-end web transactions and take corrective actions now
> Troubleshoot faster and improve end-user experience. Signup Now!
> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
> _______________________________________________
> BRL-CAD Developer mailing list
> brlcad-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/brlcad-devel
>

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
BRL-CAD Developer mailing list
brlcad-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-devel

Reply via email to