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 <[email protected]>:
>
>
> 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
> [email protected]
> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-devel