[MOAB-dev] r2802 - MOAB/trunk
kraftche at cae.wisc.edu
kraftche at cae.wisc.edu
Mon Apr 6 08:44:27 CDT 2009
Author: kraftche
Date: 2009-04-06 08:44:27 -0500 (Mon, 06 Apr 2009)
New Revision: 2802
Modified:
MOAB/trunk/AEntityFactory.cpp
Log:
make AEntityFactory work with structured mesh
Modified: MOAB/trunk/AEntityFactory.cpp
===================================================================
--- MOAB/trunk/AEntityFactory.cpp 2009-04-03 22:02:50 UTC (rev 2801)
+++ MOAB/trunk/AEntityFactory.cpp 2009-04-06 13:44:27 UTC (rev 2802)
@@ -308,7 +308,8 @@
// need to compare the actual vertices
const MBEntityHandle *this_vertices;
int num_this_vertices;
- thisMB->get_connectivity(this_entity, this_vertices, num_this_vertices);
+ std::vector<MBEntityHandle> storage;
+ thisMB->get_connectivity(this_entity, this_vertices, num_this_vertices, false, &storage);
// see if we can get one node id to match
assert(vertex_list_size > 0);
@@ -779,7 +780,8 @@
// I know there are already vertex adjacencies for this - call
// another function to get them
- MBErrorCode result = thisMB->get_connectivity(source_entity, vertices, num_verts);
+ std::vector<MBEntityHandle> storage;
+ MBErrorCode result = thisMB->get_connectivity(source_entity, vertices, num_verts, false, &storage);
if (MB_SUCCESS != result) return result;
int has_mid_nodes[4];
@@ -1130,6 +1132,7 @@
const MBEntityHandle *source_vertices;
int num_source_vertices;
+ std::vector<MBEntityHandle> conn_storage;
// check to see whether there are any equivalent entities (same verts, different entity);
// do this by calling get_element with a 0 source_entity, and look for a MB_MULTIPLE_ENTITIES_FOUND
@@ -1138,7 +1141,7 @@
// NOTE: we only want corner vertices here, and for the code below which also uses
// source_vertices
MBErrorCode result =
- thisMB->get_connectivity(source_entity, source_vertices, num_source_vertices, true);
+ thisMB->get_connectivity(source_entity, source_vertices, num_source_vertices, true, &conn_storage);
if (MB_SUCCESS != result) return result;
MBEntityHandle temp_entity;
result = get_element(source_vertices, num_source_vertices,
@@ -1188,8 +1191,9 @@
// now filter according to whether each is adjacent to the polygon
const MBEntityHandle *connect;
int num_connect;
+ std::vector<MBEntityHandle> storage;
for (unsigned int i = 0; i < tmp_vec.size(); i++) {
- result = thisMB->get_connectivity(tmp_vec[i], connect, num_connect);
+ result = thisMB->get_connectivity(tmp_vec[i], connect, num_connect, false, &storage);
if (MB_SUCCESS != result) return result;
if (std::find(connect, connect+num_connect, source_entity) != connect+num_connect)
target_entities.push_back(tmp_vec[i]);
More information about the moab-dev
mailing list