No problem Alex. When you're ready, feel free to follow up on the discussion on the brlcad-devel developer's mailing list and we can discuss how to go about making the structure modifications you need. Should be pretty simple to extend for user data.
Cheers! Sean On May 31, 2009, at 7:59 PM, Alex Dănilă wrote: > Dear Sean, > > thank you for this detailed reply. I skipped it somehow. > These days I hope I'll have some time to look at the options and > come back. > > In the last part of my master's thesis, as much as time allows, I > should > modify BRL-CAD to add some features needed by the sponsor, mostly > public > code. > > Best wishes, > :) Alex > > Christopher Sean Morrison wrote: >> Hi Alex, >> >> There are a few options that come to mind: >> >> a) If it's not performance intensive metadata, you can associate >> arbitrary data to any object as an attribute or set of attributes. >> Attributes are key=value string data. You could utilize that to >> store per-vertex metadata using either keys that tie to vertices or a >> single key that ties to a value set for all your vertices. >> >> b) You could maintain a parallel storage of arbitrary binary data >> using binary objects. I'd probably set an attribute (e.g., >> color_values="my_table") on your NMG object that refers to a binary >> object. The binary object ("my_table" in this example) would then >> contain whatever data you want. >> >> c) We could extend any one of the NMG structures (e.g. struct vertex) >> to have a user data pointer. Simple enough, though if this route is >> selected, it'll probably be worthwhile to add a user data pointer to >> *all* of the core NMG structures (vertex, edge, loop, face, shell, >> nmgregion, and model) or their respective use structures for >> consistency. >> >> d) You can utilize the nmg_visit_handlers interface to maintain an >> arbitrary data structure with your data when it actually comes time >> to process the data. This is probably the most effective for in- >> memory processing, but of course is not that effective as a means of >> serialization (though coupled with (b) it could be). >> >> If (c) is most appealing, we can discuss in further detail on the >> brlcad-devel list to make sure any change we make fits your needs. >> There are possibly a few other options as well, but that's just what >> immediately came to mind. >> >> Cheers! >> Sean >> >> >> >> On Apr 27, 2009, at 8:28 AM, Nu Eu wrote: >> >> >>> Hi, >>> I would like to be able to store custom data for some vertices from >>> BRL-CAD object and don't see any means to do it after reading the >>> introduction. >>> >>> The next thing I thought of is adding some structure to the base >>> vertex type. But point_t is a vector of floats, so it would be quite >>> complicated. >>> >>> What else could I use to store custom data? >>> >>> Thank you for attention, >>> Alex >>> >>> -------------------------------------------------------------------- >>> -- >>> -------- >>> Crystal Reports - New Free Runtime and 30 Day Trial >>> Check out the new simplified licensign option that enables unlimited >>> royalty-free distribution of the report engine for externally >>> facing >>> server and web deployment. >>> http://p.sf.net/sfu/businessobjects >>> _______________________________________________ >>> BRL-CAD Users mailing list >>> brlcad-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/brlcad-users >>> >> >> >> --------------------------------------------------------------------- >> --------- >> Crystal Reports - New Free Runtime and 30 Day Trial >> Check out the new simplified licensign option that enables unlimited >> royalty-free distribution of the report engine for externally >> facing >> server and web deployment. >> http://p.sf.net/sfu/businessobjects >> _______________________________________________ >> BRL-CAD Users mailing list >> brlcad-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/brlcad-users >> > > > ---------------------------------------------------------------------- > -------- > Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT > is a gathering of tech-side developers & brand creativity > professionals. Meet > the minds behind Google Creative Lab, Visual Complexity, Processing, & > iPhoneDevCamp as they present alongside digital heavyweights like > Barbarian > Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com > _______________________________________________ > BRL-CAD Users mailing list > brlcad-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/brlcad-users ------------------------------------------------------------------------------ Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers & brand creativity professionals. Meet the minds behind Google Creative Lab, Visual Complexity, Processing, & iPhoneDevCamp as they present alongside digital heavyweights like Barbarian Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com _______________________________________________ BRL-CAD Users mailing list brlcad-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/brlcad-users