[cgma-dev] r5313 - cgm/trunk/geom/OCC

jiangtao_ma at yahoo.com jiangtao_ma at yahoo.com
Thu Jan 12 11:49:03 CST 2012


Author: janehu
Date: 2012-01-12 11:49:00 -0600 (Thu, 12 Jan 2012)
New Revision: 5313

Modified:
   cgm/trunk/geom/OCC/OCCModifyEngine.cpp
Log:
Fixed the spline creation inconsistant with Acis version problem. testcase is on cgm/test/modify.cpp and makept.cpp.

Modified: cgm/trunk/geom/OCC/OCCModifyEngine.cpp
===================================================================
--- cgm/trunk/geom/OCC/OCCModifyEngine.cpp	2012-01-12 16:01:42 UTC (rev 5312)
+++ cgm/trunk/geom/OCC/OCCModifyEngine.cpp	2012-01-12 17:49:00 UTC (rev 5313)
@@ -389,29 +389,14 @@
      occ_face = CAST_TO(face_ptr, OCCSurface);
  
   gp_Pnt pt;
-  int size = 2+vector_list.size();
+  int size = vector_list.size();
   Handle(TColgp_HArray1OfPnt) points = new TColgp_HArray1OfPnt(1, size);
   CubitVector vector;
   CubitVector closest_location;
   for(int i = 1; i <= size; i++)
   {
-     if (i == 1) 
-     {
-       TopoDS_Vertex *point = occ_point1->get_TopoDS_Vertex();
-       pt = BRep_Tool::Pnt(*point);
-       vector = point1_ptr->coordinates();
-     }
-     else if (i == size)
-     {
-       TopoDS_Vertex *point = occ_point2->get_TopoDS_Vertex();
-       pt = BRep_Tool::Pnt(*point);
-       vector = point2_ptr->coordinates(); 
-     } 
-     else
-     {
-       vector = *vector_list.get_and_step();
-       pt.SetCoord(vector.x(), vector.y(), vector.z());
-     } 
+     vector = *vector_list.get_and_step();
+     pt.SetCoord(vector.x(), vector.y(), vector.z());
 
      if (occ_face != NULL)
      {
@@ -419,7 +404,7 @@
        pt.SetCoord(closest_location.x(), closest_location.y(), closest_location.z()) ;  	 
      }
 
-     points->SetValue(i, pt); 
+     points->SetValue(i, pt);
   }    
      
   //make curve according to the curve type.







More information about the cgma-dev mailing list