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