[MOAB-dev] Strategies for fixing 2nd adjacency calls in iMesh

James Porter jvporter at wisc.edu
Mon Mar 21 18:13:58 CDT 2011


Since we have a few more days until ITAPS 1.2 is released, I wanted to see if I could fix the 2nd adjacency issues with the unit tests. One way to do this would be as follows: if source_dim < bridge_dim < target_dim or source_dim > bridge_dim > target_dim, implement the 2nd adjacency in terms of a single adjacency call (otherwise, use two adjacency calls). It seems like it'd be reasonable to do this at the source, in MeshTopoUtil.cpp.

However, this actually causes *more* failures on the ITAPS unit tests because if either the bridge_dim or target_dim is iBase_ALL_TYPES, it expects the 2nd adjacency to be equivalent to two first adjacency calls. This is a problem for us, since the elements of the bridge dimension may not be explicitly represented. If people (notably Tim and/or Jason) think that my first paragraph is the way to go, then we should file a bug to fix this in the unit tests so that they use a single first adjacency call when appropriate, even when iBase_ALL_TYPES is specified.

Another option is to change the unit tests to say that a second adjacency call is ALWAYS equivalent to two first adjacency calls and get rid of the short-circuiting that it currently does.

The only other option I can think of to make this work is to create explicit versions of any implicit adjacent entities when getAdj is called. I'm not sure we want to do that, though.

- Jim


More information about the moab-dev mailing list