iRel revisions
Tim Tautges
tautges at mcs.anl.gov
Wed Jan 27 22:48:48 CST 2010
James Porter wrote:
> 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.
>
In general, I agree with this sentiment. It's a fairly big change, so I'd like to hear others' opinions. FWIW, in
Lasso (the only current implementation), we have AssocPair objects to represent these thingies.
> * 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).
>
Jim and I talked about this today, and concluded that we should replace the getRelatedInterfaces function with a
getRelations or getPairs function, which would return an array of (what's currently called) RelationHandle's, from which
the other details could be retrieved with getRelationInfo.
Also, we concluded that getRelationInfo also needs to return the interface types for each of the interfaces, since you
can't get that directly from the interface handles.
> * 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).
>
Noted.
> * 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.
>
Good point; that positioning is an artifact from when we had a SIDL-based spec; looks like it's already been corrected
in iMesh.h, at least MOAB's copy of it.
- tim
>
> - Jim
>
>
>
--
================================================================
"You will keep in perfect peace him whose mind is
steadfast, because he trusts in you." Isaiah 26:3
Tim Tautges Argonne National Laboratory
(tautges at mcs.anl.gov) (telecommuting from UW-Madison)
phone: (608) 263-8485 1500 Engineering Dr.
fax: (608) 263-4499 Madison, WI 53706
More information about the tstt-interface
mailing list