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