<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;"><br>Hi, Jed<br><br>Thanks for working on OCC6.3 to OCC6.5 migration issue, your patches have been applied to build CGM on OCC6.5. As to your question, since Opencascade doesn't support compatibility of OCC6.3 and OCC6.5, CGM won't be able to support it either. Which means your patches are necessary for migrating CGM from OCC6.3 kernel to OCC6.5 kernel.<br><br>Jane<br>--- On <b>Thu, 3/31/11, Jason <span>Kraftcheck</span> <i>&lt;kraftche@cae.wisc.edu&gt;</i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>From: Jason Kraftcheck &lt;kraftche@cae.wisc.edu&gt;<br>Subject: Fwd: [cgma-dev] [PATCH] API and linking changes for OpenCascade-6.5.0<br>To: "Jiangtao Hu" &lt;jiangtao_ma@yahoo.com&gt;<br>Date: Thursday, March 31, 2011, 3:07 PM<br><br><div class="plainMail"><br><br>-------- Original Message
 --------<br>Subject: [cgma-dev] [PATCH] API and linking changes for OpenCascade-6.5.0<br>Date: Sat, 26 Mar 2011 10:15:26 +0300<br>From: Jed Brown &lt;<a ymailto="mailto:jed@59A2.org" href="/mc/compose?to=jed@59A2.org">jed@59A2.org</a>&gt;<br>To: <a ymailto="mailto:cgma-dev@mcs.anl.gov" href="/mc/compose?to=cgma-dev@mcs.anl.gov">cgma-dev@mcs.anl.gov</a><br>CC: Jed Brown &lt;<a ymailto="mailto:jed@59A2.org" href="/mc/compose?to=jed@59A2.org">jed@59A2.org</a>&gt;<br><br>Perhaps these should not be applied directly, but I don't know how you<br>want to handle checking versions and backward compatibility.<br>---<br> configure.ac&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; 2 +-<br> geom/OCC/OCCAttribSet.cpp&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;11 +++++------<br> geom/OCC/OCCQueryEngine.cpp&nbsp; &nbsp; &nbsp;&nbsp;&nbsp;|&nbsp; &nbsp; 1 -<br> geom/OCC/OCCShapeAttributeSet.cpp |&nbsp; &nbsp; 7
 +++----<br> 4 files changed, 9 insertions(+), 12 deletions(-)<br><br>diff --git a/configure.ac b/configure.ac<br>index 8994977..1e8a6a4 100644<br>--- a/configure.ac<br>+++ b/configure.ac<br>@@ -354,7 +354,7 @@ HAVE_OCC_DEF=<br> if test "x$occ_DIR" != "xno"; then<br>&nbsp;&nbsp;&nbsp;OCC_CORE_LIBS="-lTKMesh -lTKTopAlgo -lTKGeomAlgo -lTKBRep -lTKGeomBase<br>-lTKG3d -lTKG2d -lTKMath -lTKernel"<br>&nbsp;&nbsp;&nbsp;OCC_GEOM_LIBS="-lTKHLR -lTKOffset -lTKShHealing -lTKFillet -lTKFeat<br>-lTKBool -lTKBO -lTKPrim"<br>-&nbsp; OCC_LCAF_LIBS="-lTKBinL -lTKLCAF -lTKCDF"<br>+&nbsp; OCC_LCAF_LIBS="-lTKBinL -lTKLCAF -lTKCDF -lTKCAF"<br>&nbsp;&nbsp;&nbsp;OCC_LIBS="$OCC_LCAF_LIBS $OCC_GEOM_LIBS $OCC_CORE_LIBS"<br>&nbsp;&nbsp;&nbsp;CUBIT_OCC_LIB="-lcubit_OCC"<br>&nbsp;&nbsp;&nbsp;OCC_STEP_LIBS="-lTKSTEP -lTKSTEP209 -lTKSTEPAttr -lTKSTEPBase -lTKXSBase"<br>diff --git a/geom/OCC/OCCAttribSet.cpp b/geom/OCC/OCCAttribSet.cpp<br>index 36c5c84..b39b8cd 100644<br>---
 a/geom/OCC/OCCAttribSet.cpp<br>+++ b/geom/OCC/OCCAttribSet.cpp<br>@@ -15,17 +15,16 @@<br> #include "OCCQueryEngine.hpp"<br> #include "CubitSimpleAttrib.hpp"<br> #include "CubitFileIOWrapper.hpp"<br>-#include "Handle_TDataStd_Shape.hxx"<br> #include "TCollection_ExtendedString.hxx"<br> #include "Handle_TDataStd_Name.hxx"<br> #include "Handle_TDataStd_ExtStringArray.hxx"<br> #include "Handle_TDataStd_RealArray.hxx"<br> #include "Handle_TDataStd_IntegerArray.hxx"<br>+#include "TDataXtd_Shape.hxx"<br> #include "TDataStd_Name.hxx"<br> #include "TDataStd_ExtStringArray.hxx"<br> #include "TDataStd_RealArray.hxx"<br> #include "TDataStd_IntegerArray.hxx"<br>-#include "TDataStd_Shape.hxx"<br> #include "TopoDS_Shape.hxx"<br> #include "TDF_ChildIterator.hxx"<br> #include &lt;vector&gt;<br>@@ -40,9 +39,9 @@ void OCCAttribSet::FindShape(TopoDS_Shape&amp; shape,<br>&nbsp; &nbsp;&nbsp;&nbsp;//find the same shape attribute first<br>&nbsp; &nbsp;&nbsp;&nbsp;aLabel =
 it1.Value();<br><br>-&nbsp; &nbsp; Handle_TDataStd_Shape attr_shape;<br>+&nbsp; &nbsp; Handle_TDataXtd_Shape attr_shape;<br>&nbsp; &nbsp;&nbsp;&nbsp;TopoDS_Shape old_shape;<br>-&nbsp; &nbsp; if(aLabel.FindAttribute(TDataStd_Shape::GetID(), attr_shape))<br>+&nbsp; &nbsp; if(aLabel.FindAttribute(TDataXtd_Shape::GetID(), attr_shape))<br>&nbsp; &nbsp; &nbsp;&nbsp;&nbsp;old_shape = attr_shape-&gt;Get(aLabel);<br>&nbsp; &nbsp;&nbsp;&nbsp;if(old_shape.IsPartner(shape))<br>&nbsp; &nbsp;&nbsp;&nbsp;{<br>@@ -64,10 +63,10 @@ void OCCAttribSet::append_attribute( CubitSimpleAttrib*<br>csa, TopoDS_Shape&amp; shape<br>&nbsp;&nbsp;&nbsp;if(!found)<br>&nbsp;&nbsp;&nbsp;{<br>&nbsp; &nbsp;&nbsp;&nbsp;aLabel = OCCQueryEngine::instance()-&gt;mainLabel.NewChild();<br>-&nbsp; &nbsp; Handle_TDataStd_Shape attr_shape = TDataStd_Shape::Set(aLabel, shape);<br>+&nbsp; &nbsp; Handle_TDataXtd_Shape attr_shape = TDataXtd_Shape::Set(aLabel, shape);<br>&nbsp;
 &nbsp;&nbsp;&nbsp;//myLabel.AddAttribute(attr_shape);<br>&nbsp; &nbsp;&nbsp;&nbsp;//test if the attribute has been attached<br>-&nbsp; &nbsp; assert(aLabel.IsAttribute(TDataStd_Shape::GetID()));<br>+&nbsp; &nbsp; assert(aLabel.IsAttribute(TDataXtd_Shape::GetID()));<br>&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;//2. add type attribute , below attributes are added on child lable of<br>myLabel<br>diff --git a/geom/OCC/OCCQueryEngine.cpp b/geom/OCC/OCCQueryEngine.cpp<br>index 6be36a3..ed5c6fc 100644<br>--- a/geom/OCC/OCCQueryEngine.cpp<br>+++ b/geom/OCC/OCCQueryEngine.cpp<br>@@ -107,7 +107,6 @@<br> #include &lt;BndLib_AddSurface.hxx&gt;<br> #include &lt;Precision.hxx&gt;<br> #include &lt;BRepAdaptor_Surface.hxx&gt;<br>-#include &lt;TDataStd_Shape.hxx&gt;<br> #include &lt;TDF_ChildIterator.hxx&gt;<br> #include &lt;BinTools_ShapeSet.hxx&gt;<br> #include "Standard_Boolean.hxx"<br>diff --git
 a/geom/OCC/OCCShapeAttributeSet.cpp<br>b/geom/OCC/OCCShapeAttributeSet.cpp<br>index ee87c61..95e3e05 100644<br>--- a/geom/OCC/OCCShapeAttributeSet.cpp<br>+++ b/geom/OCC/OCCShapeAttributeSet.cpp<br>@@ -22,7 +22,6 @@<br> #include &lt;Handle_BRep_GCurve.hxx&gt;<br> #include &lt;BRep_Tool.hxx&gt;<br> #include &lt;TDF_ChildIterator.hxx&gt;<br>-#include &lt;Handle_TDataStd_Shape.hxx&gt;<br> #include &lt;TopTools_LocationSet.hxx&gt;<br> #include &lt;TopTools_IndexedMapOfShape.hxx&gt;<br> #include &lt;TopoDS_Iterator.hxx&gt;<br>@@ -42,7 +41,7 @@<br> #include &lt;BRep_PointOnSurface.hxx&gt;<br> //#include &lt;BRep_ListIteratorOfListOfPointRepresentation.hxx&gt;<br> #include &lt;TDF_Label.hxx&gt;<br>-#include &lt;TDataStd_Shape.hxx&gt;<br>+#include &lt;TDataXtd_Shape.hxx&gt;<br> #include &lt;Handle_TDataStd_Name.hxx&gt;<br> #include &lt;TDataStd_Name.hxx&gt;<br> #include &lt;Handle_TDataStd_ExtStringArray.hxx&gt;<br>@@ -507,9 +506,9 @@ void&nbsp;
 OCCShapeAttributeSet::WriteAttribute(const<br>TopoDS_Shape&amp; S,<br>&nbsp; &nbsp;&nbsp;&nbsp;//find the same shape attribute first<br>&nbsp; &nbsp;&nbsp;&nbsp;myLabel = it1.Value();<br><br>-&nbsp; &nbsp; Handle_TDataStd_Shape attr_shape;<br>+&nbsp; &nbsp; Handle_TDataXtd_Shape attr_shape;<br>&nbsp; &nbsp;&nbsp;&nbsp;TopoDS_Shape exsiting_shape;<br>-&nbsp; &nbsp; if(TDataStd_Shape::Find(myLabel, attr_shape))<br>+&nbsp; &nbsp; if(TDataXtd_Shape::Find(myLabel, attr_shape))<br>&nbsp; &nbsp; &nbsp;&nbsp;&nbsp;exsiting_shape = attr_shape-&gt;Get(myLabel);<br><br>&nbsp; &nbsp;&nbsp;&nbsp;if(!exsiting_shape.IsNull())<br>-- <br>1.7.4.1<br><br></div></blockquote></td></tr></table>