[cgma-dev] r4131 - in cgm/trunk: geom geom/OCC geom/parallel itaps
hongjun at mcs.anl.gov
hongjun at mcs.anl.gov
Mon Sep 20 16:30:31 CDT 2010
Author: hongjun
Date: 2010-09-20 16:30:31 -0500 (Mon, 20 Sep 2010)
New Revision: 4131
Added:
cgm/trunk/geom/parallel/CGMReadParallel.cpp
cgm/trunk/geom/parallel/CGMReadParallel.hpp
Removed:
cgm/trunk/geom/parallel/ParallelGeomTool.cpp
cgm/trunk/geom/parallel/ParallelGeomTool.hpp
Modified:
cgm/trunk/geom/GeometryQueryTool.cpp
cgm/trunk/geom/OCC/OCCQueryEngine.cpp
cgm/trunk/geom/OCC/OCCQueryEngine.hpp
cgm/trunk/geom/parallel/CABodies.cpp
cgm/trunk/geom/parallel/CABodies.hpp
cgm/trunk/geom/parallel/CGMParallelComm.cpp
cgm/trunk/geom/parallel/CGMParallelComm.hpp
cgm/trunk/geom/parallel/CGMProcConfig.hpp
cgm/trunk/geom/parallel/Makefile.am
cgm/trunk/geom/parallel/TDParallel.cpp
cgm/trunk/geom/parallel/TDParallel.hpp
cgm/trunk/itaps/iGeom_CGMA.cc
cgm/trunk/itaps/partest.cpp
Log:
o Parallel CGM is updated
o itaps/partest.cpp is a parallel CGM test file through iGeom. It is built with "make check" command, but it is not in the list of TEST
o OCC solid model import and export functions with buffer can now attach geomtry attributes
o Parallel tool data, "TDParallel.*pp" is updated
o Application specific atttribute "CABodies" having parallel "Body" distribution information is updated
o geom/parallel/ParallelGeomTool.*pp is removed
o geom/parallel/CGMReadParallel.*pp is added. It parses parallel command and calls functions for parallel distribution. It balances geometry too.
o geom/parallel/CGMParallelComm.*pp distributes(broadcast, scatter) and communicate geometry in parallel
Modified: cgm/trunk/geom/GeometryQueryTool.cpp
===================================================================
--- cgm/trunk/geom/GeometryQueryTool.cpp 2010-09-20 19:32:31 UTC (rev 4130)
+++ cgm/trunk/geom/GeometryQueryTool.cpp 2010-09-20 21:30:31 UTC (rev 4131)
@@ -507,16 +507,34 @@
return result;
}
+// export entities to buffer
CubitStatus GeometryQueryTool::export_solid_model(DLIList<RefEntity*>& ref_entity_list,
char*& p_buffer,
int& n_buffer_size,
bool b_export_buffer)
{
+ if (0 == gqeList.size())
+ {
+ PRINT_WARNING("No active geometry engine.\n");
+ return CUBIT_FAILURE;
+ }
+
+ int i;
+
+ if (ref_entity_list.size() == 0) {
+ // All bodies are to be exported
+ RefEntityFactory::instance()->ref_entity_list("Body",
+ ref_entity_list);
+
+ // add free ref entities
+ get_free_ref_entities(ref_entity_list);
+ }
+
// Get TopologyBridges from RefEntities.
- DLIList<TopologyBridge*> bridge_list(ref_entity_list.size()), ref_ent_bridges;
+ DLIList<TopologyBridge*> bridge_list(ref_entity_list.size()),
+ parent_bridges, ref_ent_bridges;
ref_entity_list.reset();
- for( int i = ref_entity_list.size(); i--; )
- {
+ for( i = ref_entity_list.size(); i--; ) {
ref_ent_bridges.clean_out();
TopologyEntity* topo_ptr = dynamic_cast<TopologyEntity*>(ref_entity_list.get_and_step());
if( topo_ptr )
@@ -524,12 +542,117 @@
bridge_list += ref_ent_bridges;
}
- bridge_list.reset();
- GeometryQueryEngine *gqe = bridge_list.get()->get_geometry_query_engine();
+ // Get all child RefEntities
+ DLIList<RefEntity*> child_list;
+ RefEntity::get_all_child_ref_entities( ref_entity_list, child_list );
More information about the cgma-dev
mailing list