[MOAB-dev] r4846 - MOAB/trunk/src

James Porter jvporter at wisc.edu
Wed May 18 17:09:42 CDT 2011


With this and my proposed patch for the iMesh unit tests, MOAB will
finally have 100% on the unit tests (yay, woohoo, etc).

- Jim

On Wed, 2011-05-18 at 17:13 -0500, jvporter at wisc.edu wrote:
> Author: jvporter
> Date: 2011-05-18 17:13:06 -0500 (Wed, 18 May 2011)
> New Revision: 4846
> 
> Modified:
>    MOAB/trunk/src/AEntityFactory.cpp
>    MOAB/trunk/src/AEntityFactory.hpp
> Log:
> Don't allow deletion of vertices if they have upward adjacencies
> 
> 
> Modified: MOAB/trunk/src/AEntityFactory.cpp
> ===================================================================
> --- MOAB/trunk/src/AEntityFactory.cpp	2011-05-18 20:40:51 UTC (rev 4845)
> +++ MOAB/trunk/src/AEntityFactory.cpp	2011-05-18 22:13:06 UTC (rev 4846)
> @@ -1512,5 +1512,24 @@
>    amortized += min_per_ent;
>    return (rval == MB_FAILURE) ? MB_SUCCESS : rval;
>  }   
> +
> +/*! 
> +   calling code is notifying this that an entity is going to be deleted
> +   from the database
> +*/
> +ErrorCode AEntityFactory::notify_delete_entity(EntityHandle entity)
> +{
> +  if (TYPE_FROM_HANDLE(entity) == MBVERTEX) {
> +    std::vector<EntityHandle> adj_entities;
> +    for (int dim = 1; dim < 4; ++dim) {
> +      get_adjacencies(entity, dim, false, adj_entities);
> +      if (!adj_entities.empty())
> +        return MB_FAILURE;
> +    }
> +  }
> +
> +  // remove any references to this entity from other entities
> +  return remove_all_adjacencies(entity, true);
> +}
>    
>  } // namespace moab
> 
> Modified: MOAB/trunk/src/AEntityFactory.hpp
> ===================================================================
> --- MOAB/trunk/src/AEntityFactory.hpp	2011-05-18 20:40:51 UTC (rev 4845)
> +++ MOAB/trunk/src/AEntityFactory.hpp	2011-05-18 22:13:06 UTC (rev 4846)
> @@ -230,17 +230,7 @@
>    ErrorCode create_explicit_adjs(EntityHandle this_ent);
>    
>  };
> -
> -/*! 
> -   calling code is notifying this that an entity is going to be deleted
> -   from the database
> -*/
> -inline ErrorCode AEntityFactory::notify_delete_entity(EntityHandle entity)
> -{
> -  // remove any references to this entity from other entities
> -  return remove_all_adjacencies(entity, true);
> -}
> -  
> + 
>  } // namespace moab




More information about the moab-dev mailing list