Proposal for Requiring Save/Restore of Sets and Tags
Jason Kraftcheck
kraftche at cae.wisc.edu
Thu Oct 21 17:06:01 CDT 2010
On 10/21/2010 12:35 PM, Mark Miller wrote:
> So, I think we're agreed that cycles in the set inclusion structure are
> out, right? I mean, I am not seeing any strong opposition there.
Well, I still think that enforcing such a restriction will be too expensive.
I'd rather deal with handling cycles correctly in queries and IO than
traverse an entire graph for every link creation.
> And, I
> have to say that I strongly agree with Carl's observation that the only
> 'legitimate' case of cycles in set inclusion structure is for some,
> possibility arbitrary long, chain of sets which are all equal to each
> other. What value can allow that possibly serve? What use case requires
> that and which NOT allowing cycles in set inclusion cause undue hardship
> for?
>
> So, the real issue is with cycles int the Prnt/Chld structure, right?
>
> Jason, you mention below "...naming the [Prn/Chld] functions in such a
> way as to be least confusing for the majority of uses..."
>
> I have to say that the whole concept of Prnt/Chld functions in the
> interface was a major confusion to me when I first started learning it.
> My source of confusion was that I thought the set inclusion structure
> already imposed which sets were 'parents' of other sets by virtue of
> their containment relationships. So, as far as naming these functions
> go, I think Prnt/Chld is actually MORE confusing that something like
>
> void addSetGraphDirectedLink(iMesh_instance inst,
> iBase_EntitySetHandle tail_set,
> iBase_EntitySetHandle head_set
> int *err);
>
> void addSetGraphUndirectedLink(iMesh_instance inst,
> iBase_EntitySetHandle one_set,
> iBase_EntitySetHandle another_set,
> int *err);
>
We don't really need the latter. One could construct an undirected graph by
creating pairs of directed links. We'd probably implement it that way
underneath anyway. It's a little bit more work for the application, but
unless it is a widely used feature, I'm not worried about that.
> And, I'd really, like to put tag data on graph links too.
>
I've also considered that in the past, but it would rather large
implementation change late in the game.
- jason
More information about the tstt-interface
mailing list