[cgma-dev] r2506 - in cgm/trunk/geom: . ACIS_SRC OCC facet

janehu at mcs.anl.gov janehu at mcs.anl.gov
Tue Jan 6 14:27:07 CST 2009


Author: janehu
Date: 2009-01-06 14:27:06 -0600 (Tue, 06 Jan 2009)
New Revision: 2506

Modified:
   cgm/trunk/geom/ACIS_SRC/AcisModifyEngine.cpp
   cgm/trunk/geom/ACIS_SRC/AcisModifyEngine.hpp
   cgm/trunk/geom/GeometryModifyEngine.hpp
   cgm/trunk/geom/GeometryModifyTool.cpp
   cgm/trunk/geom/OCC/OCCModifyEngine.cpp
   cgm/trunk/geom/OCC/OCCModifyEngine.hpp
   cgm/trunk/geom/facet/FacetModifyEngine.cpp
   cgm/trunk/geom/facet/FacetModifyEngine.hpp
Log:
Updated for get_mid_plane as well as get_mid_surface to return a list of BodySM's instead of returning a single compound BodySM,because although OCC supports a compound body with only shells or surfaces, those shells and surfaces don't have correponding lumps, which will make make_Body call to fail in geom level.

Modified: cgm/trunk/geom/ACIS_SRC/AcisModifyEngine.cpp
===================================================================
--- cgm/trunk/geom/ACIS_SRC/AcisModifyEngine.cpp	2009-01-05 20:16:58 UTC (rev 2505)
+++ cgm/trunk/geom/ACIS_SRC/AcisModifyEngine.cpp	2009-01-06 20:27:06 UTC (rev 2506)
@@ -844,7 +844,7 @@
                                              const CubitVector &point_2,
                                              const CubitVector &point_3,
                                              BodySM *body_to_trim_to,
-                                             BodySM *&midplane_body ) const
+                                             DLIList<BodySM*>& midplane_bodies ) const
 {
 
   DLIList<BodySM*> body_list;
@@ -878,9 +878,10 @@
     }
 
   //Create a new cubit body for the imprinted body.
-  midplane_body = AcisQueryEngine::instance()->
+  BodySM* midplane_body = AcisQueryEngine::instance()->
     populate_topology_bridges(sheet_BODY);
 
+  midplane_bodies.append(midplane_body);
   return CUBIT_SUCCESS;
 }
 
@@ -894,7 +895,7 @@
 CubitStatus AcisModifyEngine::get_spheric_mid_surface( Surface *surface_ptr1,
 						       Surface *surface_ptr2,
 						       BodySM *body_to_trim_to,
-						       BodySM *&midsurface_body ) const
+						       DLIList<BodySM*> &midsurface_bodies) const
 {
   SurfaceACIS *surf_ACIS1 = CAST_TO(surface_ptr1, SurfaceACIS );
   FACE* FACE1_ptr = make_FACE( surf_ACIS1->get_FACE_ptr() ); 
@@ -1004,8 +1005,9 @@
       return CUBIT_FAILURE;
     }
 
-  midsurface_body = AcisQueryEngine::instance()->populate_topology_bridges(sheet_BODY);
+  BodySM* midsurface_body = AcisQueryEngine::instance()->populate_topology_bridges(sheet_BODY);
 
+  midsurface_bodies.append(midsurface_body);
   return CUBIT_SUCCESS;
 }
 
@@ -1019,7 +1021,7 @@
 CubitStatus AcisModifyEngine::get_conic_mid_surface( Surface *surface_ptr1,
 						     Surface *surface_ptr2,
 						     BodySM *body_to_trim_to,
-						     BodySM *&midsurface_body ) const
+						     DLIList<BodySM*> &midsurface_bodies ) const
 {
   SurfaceACIS *surf_ACIS1 = CAST_TO(surface_ptr1, SurfaceACIS );
   FACE* FACE1_ptr = make_FACE( surf_ACIS1->get_FACE_ptr() ); 
@@ -1101,7 +1103,7 @@
 	  CubitVector const point_2 = point_1 + comm_dir;
 	  CubitVector const point_3 = point_1 + ( comm_dir * c1_to_c2 );
 	  CubitStatus ret = this->get_mid_plane( point_1, point_2, point_3, 
-						 body_to_trim_to, midsurface_body );
+						 body_to_trim_to, midsurface_bodies );
 
 	  return ret;
 	}
@@ -1217,7 +1219,8 @@
       return CUBIT_FAILURE;
     }
 
-  midsurface_body = AcisQueryEngine::instance()->populate_topology_bridges(sheet_BODY);
+  BodySM* midsurface_body = AcisQueryEngine::instance()->populate_topology_bridges(sheet_BODY);
+  midsurface_bodies.append(midsurface_body);
 
   return CUBIT_SUCCESS;
 }
@@ -1232,7 +1235,7 @@
 CubitStatus AcisModifyEngine::get_toric_mid_surface( Surface *surface_ptr1,
 						     Surface *surface_ptr2,
 						     BodySM *body_to_trim_to,
-						     BodySM *&midsurface_body ) const
+						     DLIList<BodySM*> &midsurface_bodies ) const
 {
   SurfaceACIS *surf_ACIS1 = CAST_TO(surface_ptr1, SurfaceACIS );
   FACE* FACE1_ptr = make_FACE( surf_ACIS1->get_FACE_ptr() ); 
@@ -1358,7 +1361,8 @@
       return CUBIT_FAILURE;
     }
 
-  midsurface_body = AcisQueryEngine::instance()->populate_topology_bridges(sheet_BODY);
+  BodySM* midsurface_body = AcisQueryEngine::instance()->populate_topology_bridges(sheet_BODY);
+  midsurface_bodies.append(midsurface_body);
 
   return CUBIT_SUCCESS;
 }

Modified: cgm/trunk/geom/ACIS_SRC/AcisModifyEngine.hpp
===================================================================
--- cgm/trunk/geom/ACIS_SRC/AcisModifyEngine.hpp	2009-01-05 20:16:58 UTC (rev 2505)
+++ cgm/trunk/geom/ACIS_SRC/AcisModifyEngine.hpp	2009-01-06 20:27:06 UTC (rev 2506)
@@ -969,10 +969,10 @@
     //- intersection graph.
 
   virtual CubitStatus get_mid_plane( const CubitVector &point_1,
-			                               const CubitVector &point_2,
+		                     const CubitVector &point_2,
                                      const CubitVector &point_3,
-			                               BodySM *body_to_trim_to,
-			                               BodySM *&midplane_body ) const;
+		                     BodySM *body_to_trim_to,
+		                     DLIList<BodySM*>& midplane_bodies ) const;
   //- Given 3 points that describe the mid_plane, return a body that
   //- contains the trimmed surfaces defining the mid plane.
   //- These surfaces will be part of the midplane_body and will
@@ -981,17 +981,17 @@
   virtual CubitStatus get_spheric_mid_surface( Surface *surface_ptr1,
 				  Surface *surface_ptr2,
 				  BodySM *body_to_trim_to,
-				  BodySM *&midsurface_body ) const;
+				  DLIList<BodySM*> &midsurface_bodies ) const;
 
   virtual CubitStatus get_conic_mid_surface( Surface *surface_ptr1,
 				  Surface *surface_ptr2,
 				  BodySM *body_to_trim_to,
-				  BodySM *&midsurface_body ) const;
+				  DLIList<BodySM*> &midsurface_bodies ) const;
 
   virtual CubitStatus get_toric_mid_surface( Surface *surface_ptr1,
 				  Surface *surface_ptr2,
 				  BodySM *body_to_trim_to,
-				  BodySM *&midsurface_body ) const;
+				  DLIList<BodySM*> &midsurface_bodies ) const;
 
   virtual CubitStatus tweak_chamfer( DLIList<Curve*> &curve_list, 
                                      double left_offset,

Modified: cgm/trunk/geom/GeometryModifyEngine.hpp
===================================================================
--- cgm/trunk/geom/GeometryModifyEngine.hpp	2009-01-05 20:16:58 UTC (rev 2505)
+++ cgm/trunk/geom/GeometryModifyEngine.hpp	2009-01-06 20:27:06 UTC (rev 2506)
@@ -718,10 +718,10 @@
     //- intersection graph.
 
   virtual CubitStatus get_mid_plane( const CubitVector &point_1,
-			                               const CubitVector &point_2,
+		                     const CubitVector &point_2,
                                      const CubitVector &point_3,
-			                               BodySM *body_to_trim_to,
-			                               BodySM *&midplane_body ) const = 0;
+		                     BodySM *body_to_trim_to,
+		                     DLIList<BodySM*>& midplane_bodies ) const = 0;
     //- Finds the mid plane described by the 3 points and trims
     //- it to the body.  It returns the mid planes as part of the 
     //- midplane_body
@@ -729,17 +729,17 @@
   virtual CubitStatus get_spheric_mid_surface( Surface *surface_ptr1,
 					       Surface *surface_ptr2,
 					       BodySM *body_to_trim_to,
-					       BodySM *&midsurface_body ) const = 0;
+					       DLIList<BodySM*>& midsurface_bodies ) const = 0;
 
   virtual CubitStatus get_conic_mid_surface( Surface *surface_ptr1,
 					       Surface *surface_ptr2,
 					       BodySM *body_to_trim_to,
-					       BodySM *&midsurface_body ) const = 0;
+					       DLIList<BodySM*>& midsurface_bodies ) const = 0;
 
   virtual CubitStatus get_toric_mid_surface( Surface *surface_ptr1,
 					       Surface *surface_ptr2,
 					       BodySM *body_to_trim_to,
-					       BodySM *&midsurface_body ) const = 0;
+					       DLIList<BodySM*>& midsurface_bodies ) const = 0;
 
   virtual CubitStatus tweak_chamfer( DLIList<Curve*> &curve_list, 
                                      double left_offset,

Modified: cgm/trunk/geom/GeometryModifyTool.cpp
===================================================================
--- cgm/trunk/geom/GeometryModifyTool.cpp	2009-01-05 20:16:58 UTC (rev 2505)
+++ cgm/trunk/geom/GeometryModifyTool.cpp	2009-01-06 20:27:06 UTC (rev 2506)
@@ -7348,11 +7348,11 @@
   CubitVector direction2 = direction1*n_mid;
   point_3 = point_1 + direction2;
 
-  BodySM* midplane_body_sm = NULL;
+  DLIList<BodySM*> midplane_bodysm_list ;
   CubitStatus ret = gme1_ptr->get_mid_plane(point_1, point_2, point_3,
-                                            body_sm_to_trim_to, midplane_body_sm );
+                                    body_sm_to_trim_to, midplane_bodysm_list );
 
-  if (midplane_body_sm)
+  if (midplane_bodysm_list.size() > 0)
   {
 #ifdef BOYD17
     DLIList<Body*> bodies;
@@ -7361,21 +7361,25 @@
 
     Body *midplane_body;
 
-    midplane_body = GeometryQueryTool::instance()->make_Body(midplane_body_sm);
+    for (int j = 0; j < midplane_bodysm_list.size(); j++)
+    {
+      BodySM* midplane_body_sm = midplane_bodysm_list.get_and_step();
+      midplane_body = GeometryQueryTool::instance()->make_Body(midplane_body_sm);
 
-    DLIList<RefFace*> ref_faces;
-    midplane_body->ref_faces( ref_faces );
+      DLIList<RefFace*> ref_faces;
+      midplane_body->ref_faces( ref_faces );
 
-    //make each surface of the body into its own body
-    int i;
-    for( i=0; i<ref_faces.size(); i++ )
-    {
-      RefEntity *new_entity_ptr;
-      new_entity_ptr = GeometryModifyTool::instance()->copy_refentity(ref_faces.get_and_step());
-      RefFace *ref_face_ptr = CAST_TO(new_entity_ptr, RefFace);
-      mid_plane_surfs.append( ref_face_ptr );
+      //make each surface of the body into its own body
+      int i;
+      for( i=0; i<ref_faces.size(); i++ )
+      {
+        RefEntity *new_entity_ptr;
+        new_entity_ptr = GeometryModifyTool::instance()->copy_refentity(ref_faces.get_and_step());
+        RefFace *ref_face_ptr = CAST_TO(new_entity_ptr, RefFace);
+        mid_plane_surfs.append( ref_face_ptr );
+      }
+      GeometryQueryTool::instance()->delete_Body( midplane_body );
     }
-    GeometryQueryTool::instance()->delete_Body( midplane_body );
   }
   else
     return CUBIT_FAILURE;
@@ -7393,7 +7397,7 @@
 CubitStatus get_planar_mid_surface( RefFace* ref_face1,
 				    RefFace* ref_face2,
 				    BodySM* body_sm_to_trim_to,
-				    BodySM*& midsurface_body_sm,
+				    DLIList<BodySM*>& midsurface_bodysm_list,
 				    GeometryModifyEngine *gme_ptr )
 {
     CubitVector normal_1, normal_2, point_1, point_2, point_3;
@@ -7492,7 +7496,7 @@
     point_3 = point_1 + direction2;
 
     CubitStatus ret = gme_ptr->get_mid_plane(point_1, point_2, point_3,
-					      body_sm_to_trim_to, midsurface_body_sm );
+					      body_sm_to_trim_to, midsurface_bodysm_list );
     return ret;
 }
 
@@ -7527,13 +7531,12 @@
 
   bool found_case = false;
   CubitStatus ret;
-  BodySM* midsurface_body_sm = NULL;
-
+  DLIList<BodySM*> midsurfaces;
   // Plane to plane case
   if ( ( ref_face1->geometry_type() == PLANE_SURFACE_TYPE ) && ( ref_face2->geometry_type() == PLANE_SURFACE_TYPE ) )
   {
     found_case = true;
-    ret = get_planar_mid_surface( ref_face1, ref_face2, body_sm_to_trim_to, midsurface_body_sm, gme1_ptr );
+    ret = get_planar_mid_surface( ref_face1, ref_face2, body_sm_to_trim_to, midsurfaces, gme1_ptr );
   }
 
   // Quadric to quadric cases
@@ -7575,19 +7578,19 @@
     // Sphere to sphere case
     if ( ( ref_face1->geometry_type() == SPHERE_SURFACE_TYPE ) && ( ref_face2->geometry_type() == SPHERE_SURFACE_TYPE ) )
     {
-      ret = gme2_ptr->get_spheric_mid_surface( surface1_ptr, surface2_ptr, body_sm_to_trim_to, midsurface_body_sm );
+      ret = gme2_ptr->get_spheric_mid_surface( surface1_ptr, surface2_ptr, body_sm_to_trim_to, midsurfaces );
     }
 
     // Cone to cone case
     if ( ( ref_face1->geometry_type() == CONE_SURFACE_TYPE ) && ( ref_face2->geometry_type() == CONE_SURFACE_TYPE ) )
     {
-      ret = gme2_ptr->get_conic_mid_surface( surface1_ptr, surface2_ptr, body_sm_to_trim_to, midsurface_body_sm );
+      ret = gme2_ptr->get_conic_mid_surface( surface1_ptr, surface2_ptr, body_sm_to_trim_to, midsurfaces );
     }
 
     // Torus to torus case
     if ( ( ref_face1->geometry_type() == TORUS_SURFACE_TYPE ) && ( ref_face2->geometry_type() == TORUS_SURFACE_TYPE ) )
     {
-      ret = gme2_ptr->get_toric_mid_surface( surface1_ptr, surface2_ptr, body_sm_to_trim_to, midsurface_body_sm );
+      ret = gme2_ptr->get_toric_mid_surface( surface1_ptr, surface2_ptr, body_sm_to_trim_to, midsurfaces );
     }
   }
 
@@ -7599,25 +7602,28 @@
     return CUBIT_FAILURE;
   }
 
-  if ( midsurface_body_sm )
+  if ( midsurfaces.size() > 0)
   {
     Body *midsurface_body;
+    for(int j = 0; j < midsurfaces.size()  ;j++)
+    {
+      BodySM* midsurface_body_sm = midsurfaces.get_and_step();
+      midsurface_body = GeometryQueryTool::instance()->make_Body(midsurface_body_sm);
 
-    midsurface_body = GeometryQueryTool::instance()->make_Body(midsurface_body_sm);
+      DLIList<RefFace*> ref_faces;
+      midsurface_body->ref_faces( ref_faces );
 
-    DLIList<RefFace*> ref_faces;
-    midsurface_body->ref_faces( ref_faces );
-
-    //make each surface of the body into its own body
-    int i;
-    for( i=0; i<ref_faces.size(); i++ )
-    {
-      RefEntity *new_entity_ptr;
-      new_entity_ptr = GeometryModifyTool::instance()->copy_refentity(ref_faces.get_and_step());
-      RefFace *ref_face_ptr = CAST_TO(new_entity_ptr, RefFace);
-      mid_surface_surfs.append( ref_face_ptr );
+      //make each surface of the body into its own body
+      int i;
+      for( i=0; i<ref_faces.size(); i++ )
+      {
+        RefEntity *new_entity_ptr;
+        new_entity_ptr = GeometryModifyTool::instance()->copy_refentity(ref_faces.get_and_step());
+        RefFace *ref_face_ptr = CAST_TO(new_entity_ptr, RefFace);
+        mid_surface_surfs.append( ref_face_ptr );
+      }
+      GeometryQueryTool::instance()->delete_Body( midsurface_body );
     }
-    GeometryQueryTool::instance()->delete_Body( midsurface_body );
     return ret;
   }
   else

Modified: cgm/trunk/geom/OCC/OCCModifyEngine.cpp
===================================================================
--- cgm/trunk/geom/OCC/OCCModifyEngine.cpp	2009-01-05 20:16:58 UTC (rev 2505)
+++ cgm/trunk/geom/OCC/OCCModifyEngine.cpp	2009-01-06 20:27:06 UTC (rev 2506)
@@ -5317,14 +5317,15 @@
                                             const CubitVector & point_2,
                                             const CubitVector & point_3,
                                             BodySM * body_to_trim_to,
-                                            BodySM *& midplane_body ) const
+                                            DLIList<BodySM*>& midplane_bodies ) const
 {
   //Calculate normal of the mid  plane
   CubitVector v1, v2, normal;
   v1 = point_2 - point_1;
   v2 = point_3 - point_1;
   normal = ~(v1 * v2);
-  if(normal.length() != 1)
+  double tol = OCCQueryEngine::instance()->get_sme_resabs_tolerance();
+  if(fabs(normal.length() - 1) > tol)
   {
      PRINT_ERROR("The three points are co-linear, and can't be used as a cutting plane.\n");
      return CUBIT_FAILURE;
@@ -5347,37 +5348,35 @@
   DLIList<BodySM*> from_bodies, new_bodies;
   from_bodies.append(body_to_trim_to);
    
-  CubitStatus stat = intersect(tool, from_bodies, new_bodies, 
+  CubitStatus stat = intersect(tool, from_bodies, midplane_bodies, 
                                CUBIT_TRUE);
   OCCQueryEngine::instance()->delete_solid_model_entities(tool);
 
-  if(stat)
-    midplane_body = new_bodies.get(); 
   return stat;
 }
 
 CubitStatus OCCModifyEngine::get_spheric_mid_surface( Surface* surface_ptr1,
-                                                        Surface* surface_ptr2,
-                                                        BodySM* body_to_trim_to,
-                                                        BodySM*& midsurface_body ) const
+                                    Surface* surface_ptr2,
+                                    BodySM* body_to_trim_to,
+                                    DLIList<BodySM *>&midsurface_bodies ) const
 {
   PRINT_ERROR("Option not supported for mesh based geometry.\n");
   return CUBIT_FAILURE;
 }
 
 CubitStatus OCCModifyEngine::get_conic_mid_surface( Surface* surface_ptr1,
-                                                        Surface* surface_ptr2,
-                                                        BodySM* body_to_trim_to,
-                                                        BodySM*& midsurface_body ) const
+                                    Surface* surface_ptr2,
+                                    BodySM* body_to_trim_to,
+                                    DLIList<BodySM *>&midsurface_bodies ) const
 {
   PRINT_ERROR("Option not supported for mesh based geometry.\n");
   return CUBIT_FAILURE;
 }
 
 CubitStatus OCCModifyEngine::get_toric_mid_surface( Surface* surface_ptr1,
-                                                        Surface* surface_ptr2,
-                                                        BodySM* body_to_trim_to,
-                                                        BodySM*& midsurface_body ) const
+                                     Surface* surface_ptr2,
+                                     BodySM* body_to_trim_to,
+                                     DLIList<BodySM *>&midsurface_bodies ) const
 {
   PRINT_ERROR("Option not supported for mesh based geometry.\n");
   return CUBIT_FAILURE;

Modified: cgm/trunk/geom/OCC/OCCModifyEngine.hpp
===================================================================
--- cgm/trunk/geom/OCC/OCCModifyEngine.hpp	2009-01-05 20:16:58 UTC (rev 2505)
+++ cgm/trunk/geom/OCC/OCCModifyEngine.hpp	2009-01-06 20:27:06 UTC (rev 2506)
@@ -454,22 +454,24 @@
     const CubitVector &point_2,
     const CubitVector &point_3,
     BodySM *body_to_trim_to,
-    BodySM *&midplane_body ) const;
+    DLIList<BodySM*>& midplane_bodies ) const;
 
   virtual CubitStatus get_spheric_mid_surface( Surface *surface_ptr1,
                                                Surface *surface_ptr2,
                                                BodySM *body_to_trim_to,
-                                               BodySM *&midsurface_body ) const;
+                                    DLIList<BodySM *>&midsurface_bodies ) const;
 
   virtual CubitStatus get_conic_mid_surface( Surface *surface_ptr1,
                                                Surface *surface_ptr2,
                                                BodySM *body_to_trim_to,
-                                               BodySM *&midsurface_body ) const;
+                                    DLIList<BodySM *>&midsurface_bodies ) const;
 
+
   virtual CubitStatus get_toric_mid_surface( Surface *surface_ptr1,
                                                Surface *surface_ptr2,
                                                BodySM *body_to_trim_to,
-                                               BodySM *&midsurface_body ) const;  
+                                    DLIList<BodySM *>&midsurface_bodies ) const;
+
   virtual CubitStatus tweak_chamfer( DLIList<Curve*> &curve_list, 
                                      double left_offset,
                                      DLIList<BodySM*> &new_bodysm_list,

Modified: cgm/trunk/geom/facet/FacetModifyEngine.cpp
===================================================================
--- cgm/trunk/geom/facet/FacetModifyEngine.cpp	2009-01-05 20:16:58 UTC (rev 2505)
+++ cgm/trunk/geom/facet/FacetModifyEngine.cpp	2009-01-06 20:27:06 UTC (rev 2506)
@@ -2641,7 +2641,7 @@
                                               const CubitVector & /*point_2*/,
                                               const CubitVector & /*point_3*/,
                                               BodySM * /*body_to_trim_to*/,
-                                              BodySM *& /*midplane_body*/ ) const
+                                              DLIList<BodySM*>& /*midplane_body*/ ) const
 {
   PRINT_ERROR("Option not supported for mesh based geometry.\n");
   return CUBIT_FAILURE;
@@ -2655,9 +2655,9 @@
 // Date       : 03/06
 //===============================================================================
 CubitStatus FacetModifyEngine::get_spheric_mid_surface( Surface* surface_ptr1,
-							Surface* surface_ptr2,
-							BodySM* body_to_trim_to,
-							BodySM*& midsurface_body ) const
+			    	   Surface* surface_ptr2,
+			           BodySM* body_to_trim_to,
+                                   DLIList<BodySM *>&midsurface_bodies ) const
 {
   PRINT_ERROR("Option not supported for mesh based geometry.\n");
   return CUBIT_FAILURE;
@@ -2671,9 +2671,9 @@
 // Date       : 03/06
 //===============================================================================
 CubitStatus FacetModifyEngine::get_conic_mid_surface( Surface* surface_ptr1,
-							Surface* surface_ptr2,
-							BodySM* body_to_trim_to,
-							BodySM*& midsurface_body ) const
+				   Surface* surface_ptr2,
+				   BodySM* body_to_trim_to,
+                                   DLIList<BodySM *>&midsurface_bodies ) const
 {
   PRINT_ERROR("Option not supported for mesh based geometry.\n");
   return CUBIT_FAILURE;
@@ -2687,9 +2687,9 @@
 // Date       : 03/06
 //===============================================================================
 CubitStatus FacetModifyEngine::get_toric_mid_surface( Surface* surface_ptr1,
-							Surface* surface_ptr2,
-							BodySM* body_to_trim_to,
-							BodySM*& midsurface_body ) const
+				    Surface* surface_ptr2,
+				    BodySM* body_to_trim_to,
+                                    DLIList<BodySM *>&midsurface_bodies ) const
 {
   PRINT_ERROR("Option not supported for mesh based geometry.\n");
   return CUBIT_FAILURE;

Modified: cgm/trunk/geom/facet/FacetModifyEngine.hpp
===================================================================
--- cgm/trunk/geom/facet/FacetModifyEngine.hpp	2009-01-05 20:16:58 UTC (rev 2505)
+++ cgm/trunk/geom/facet/FacetModifyEngine.hpp	2009-01-06 20:27:06 UTC (rev 2506)
@@ -469,23 +469,20 @@
     const CubitVector &point_2,
     const CubitVector &point_3,
     BodySM *body_to_trim_to,
-    BodySM *&midplane_body ) const;
+    DLIList<BodySM *>& midplane_bodies ) const;
 
   virtual CubitStatus get_spheric_mid_surface( Surface *surface_ptr1,
-					       Surface *surface_ptr2,
-					       BodySM *body_to_trim_to,
-					       BodySM *&midsurface_body ) const;
-  
+				    Surface *surface_ptr2,
+				    BodySM *body_to_trim_to,
+                                    DLIList<BodySM *>&midsurface_bodies ) const; 
   virtual CubitStatus get_conic_mid_surface( Surface *surface_ptr1,
-					       Surface *surface_ptr2,
-					       BodySM *body_to_trim_to,
-					       BodySM *&midsurface_body ) const;
-  
+				    Surface *surface_ptr2,
+	    		            BodySM *body_to_trim_to,
+                                    DLIList<BodySM *>&midsurface_bodies ) const; 
   virtual CubitStatus get_toric_mid_surface( Surface *surface_ptr1,
-					       Surface *surface_ptr2,
-					       BodySM *body_to_trim_to,
-					       BodySM *&midsurface_body ) const;
-  
+				    Surface *surface_ptr2,
+				    BodySM *body_to_trim_to,
+                                    DLIList<BodySM *>&midsurface_bodies ) const; 
   virtual CubitStatus tweak_chamfer( DLIList<Curve*> &curve_list, 
                                      double left_offset,
                                      DLIList<BodySM*> &new_bodysm_list,




More information about the cgma-dev mailing list