From: Roy S. <roy...@ic...> - 2009-03-23 22:24:37
|
On Mon, 23 Mar 2009, Derek Gaston wrote: > Ok... a first cut at this capability has been committed. Nice job! > If you call mesh.boundary_info->build_node_list_from_side_list() it > will fill the BoundaryInfo object with nodes associated with the > boundary id's of their sides. A couple of things: > > 1. Currently this wipes out all other nodes that (might) have been manually > added to the boundary info object. Hmm... is this necessary? Aside from making this feature harder to use, it makes your point 2 interface more critical. If instead the interface nodes are allowed to already have ids (whether one of the ids they share with an adjoining side, or a unique "this identifies this corner" id) then there's no need to worry about which side id they get a copy of. Of course, lots of people will be loading in files with side ids but no node ids, for which "pick an ordering and autogenerate" is always going to be the way to go. > If you _don't_ specify an order... the ordering is not guaranteed but will > be consistent. What I mean is... one boundary id will consistently win over > another one... you just have no guarantee's about which is which (does that > make sense?). In general it seems to follow some natural ordering... Didn't you just end up with short::operator< as the natural ordering? I think the std::set, Sorted Associative Container specs are supposed to guarantee that. If you want to make doubly sure, you could do a std::sort on apply_order after building it. Thanks! --- Roy |