[MOAB-dev] MOAB API cleanup : get_connectivity

Jason Kraftcheck kraftche at cae.wisc.edu
Fri Oct 22 15:23:54 CDT 2010


I think that, before the release, we should remove the following functions
from MBInterface:

  virtual ErrorCode  get_connectivity(const EntityHandle *entity_handles,
                               const int num_handles,
                               Range &connectivity,
                               bool topological_connectivity = false) const;

  virtual ErrorCode get_connectivity( const Range& entity_handles,
                               Range &connectivity,
                               bool topological_connectivity = false) const;

Both of these are mostly redundant because get_adjacencies can be used for
exactly the same thing.  The only time they would differ is if the input
list contained a mixture of polyhedra and other elements.  But in that case,
the behavior of get_adjacencies is probably both less confusing and more useful.

Further, this function should accept an optional vector in which offsets
into the connectivity vector are stored:

  virtual ErrorCode  get_connectivity(const EntityHandle *entity_handles,
                               const int num_handles,
                               std::vector<EntityHandle> &connectivity,
                               bool topological_connectivity = false) const;


While the offset vector isn't that important when getting only topological
connectivity (verts per ent can be determined from only the type), if the
complete node list is requested for higher-order elements then this function
isn't so useful without returning an offset list.  Alternately, the final
optional argument could be removed and the function renamed as
'get_topolgocial_connectivity'.

- jason



More information about the moab-dev mailing list