iRel revisions

James Porter jvporter at wisc.edu
Wed Jan 27 20:31:11 CST 2010


On Wed, 2010-01-27 at 15:29 -0600, Tim Tautges wrote:
> Hi all,
>    Based on our discussions about iRel, I've made changes to the iRel interface header; the new version is attached, 
> along with a revised document describing iRel.  Comments are welcome.  When things have settled down from that, I'll get 
> this in to the ITAPS repo and implement the changes in Lasso.

Ok, here are my comments on the interface:

 * The word "Relation" (and its abbreviation, "Rel") is overloaded a bit
   too much in my opinion. There's "Rel"/"iRel" for the interface,
   "RelationHandle" for the relation pairs, and "(get|set)*Relation" to
   access relations between entities/sets. I think I'm ok with using
   "Rel"/"iRel" to describe the interface and with using "Relation" to
   describe relations between entities/sets, but I propose something
   like "Pair" for the relation pairs, as in iRel_PairHandle. This
   would imply a few changes to function names: iRel_createPair,
   iRel_getPairInfo, iRel_destroyPair, iRel_getPairedInterfaces.

 * iRel_getRelatedInterfaces should return an array of the types of each
   related interface, since you might not know the types a priori (this
   will be a bigger issue when there's more than just iMesh/iGeom to be
   related). Alternately, remove this function and replace it with
   iRel_findRelations, which would return an array of
   iRel_RelationHandles that contain the passed-in interface. Then you
   could combine that with iRel_getRelationInfo to duplicate this 
   functionality (granted, you'd then have to worry about whether the
   related interface is first or second in the relation pair, which may
   be annoying enough to keep this function around).

 * The removal of the iGeom/iMesh-specific functions was a really good
   move.

 * iRel.h, lines 145, 150: update Doxygen for iface_type(1|2) (exclude
   iBase, update numeric values).

 * Nit: iRel_newRel makes more sense to me at the top of iRel.h. I
   always end up searching for it and then remembering later that it's
   at the bottom.


- Jim




More information about the tstt-interface mailing list