diff -Naur smesh-5.1.2.2/inc/SMESHDS_DataMapOfShape.hxx salomesmesh/inc/SMESHDS_DataMapOfShape.hxx
--- smesh-5.1.2.2/inc/SMESHDS_DataMapOfShape.hxx 2011-09-27 03:33:02.000000000 -0500
+++ salomesmesh/inc/SMESHDS_DataMapOfShape.hxx 2011-12-20 13:31:11.887317557 -0600
@@ -32,7 +32,7 @@
* This method needed for instance NCollection_DataMap with TopoDS_Shape as key
*/
-inline Standard_Boolean SMESH_IsEqual(const TopoDS_Shape& S1,
+inline Standard_Boolean IsEqual(const TopoDS_Shape& S1,
const TopoDS_Shape& S2)
{
return S1.IsSame(S2);
diff -Naur smesh-5.1.2.2/inc/SMESH_IndexedMap.hxx salomesmesh/inc/SMESH_IndexedMap.hxx
--- smesh-5.1.2.2/inc/SMESH_IndexedMap.hxx 2011-09-27 03:33:02.000000000 -0500
+++ salomesmesh/inc/SMESH_IndexedMap.hxx 2011-12-20 13:31:11.819319791 -0600
@@ -226,7 +226,7 @@
pNode = (IndexedMapNode *) myData1[iK1];
while (pNode)
{
- if (SMESH_IsEqual (pNode->Key1(), theKey1))
+ if (IsEqual (pNode->Key1(), theKey1))
return pNode->Key2();
pNode = (IndexedMapNode *) pNode->Next();
}
@@ -249,7 +249,7 @@
pNode1 = (IndexedMapNode *) myData1[iK1];
while (pNode1)
{
- if (SMESH_IsEqual(pNode1->Key1(), theKey1))
+ if (IsEqual(pNode1->Key1(), theKey1))
return Standard_True;
pNode1 = (IndexedMapNode *) pNode1->Next();
}
diff -Naur smesh-5.1.2.2/src/MEFISTO2/aptrte.cpp salomesmesh/src/MEFISTO2/aptrte.cpp
--- smesh-5.1.2.2/src/MEFISTO2/aptrte.cpp 2009-12-17 02:32:26.000000000 -0600
+++ salomesmesh/src/MEFISTO2/aptrte.cpp 2011-12-20 13:31:11.641325642 -0600
@@ -847,3 +847,12 @@
MESSAGE(" ");
return;
}
+
+// Weird workaround needed to solve problem with libf2c
+#if defined(__GNUC__)
+extern "C" {
+int MAIN__( )
+{ return 0;}
+}
+#endif
+
diff -Naur smesh-5.1.2.2/src/SMESH/SMESH_MeshEditor.cpp salomesmesh/src/SMESH/SMESH_MeshEditor.cpp
--- smesh-5.1.2.2/src/SMESH/SMESH_MeshEditor.cpp 2011-03-09 12:47:47.000000000 -0600
+++ salomesmesh/src/SMESH/SMESH_MeshEditor.cpp 2011-12-20 13:31:11.755321896 -0600
@@ -56,6 +56,7 @@
#include <Geom_Curve.hxx>
#include <Geom_Surface.hxx>
#include <Precision.hxx>
+#include <Standard_Version.hxx>
#include <TColStd_ListOfInteger.hxx>
#include <TopAbs_State.hxx>
#include <TopExp.hxx>
@@ -2205,8 +2206,13 @@
if ( projector.IsDone() ) {
double u, v, minVal = DBL_MAX;
for ( int i = projector.NbExt(); i > 0; i-- )
+#if OCC_VERSION_HEX >= 0x060500
if ( projector.SquareDistance( i ) < minVal ) {
minVal = projector.SquareDistance( i );
+#else
+ if ( projector.Value( i ) < minVal ) {
+ minVal = projector.Value( i );
+#endif
projector.Point( i ).Parameter( u, v );
}
result.SetCoord( u, v );
diff -Naur smesh-5.1.2.2/src/SMESH/SMESH_Pattern.cpp salomesmesh/src/SMESH/SMESH_Pattern.cpp
--- smesh-5.1.2.2/src/SMESH/SMESH_Pattern.cpp 2011-03-09 12:47:47.000000000 -0600
+++ salomesmesh/src/SMESH/SMESH_Pattern.cpp 2011-12-20 13:31:11.766321534 -0600
@@ -39,6 +39,7 @@
#include <GeomAdaptor_Surface.hxx>
#include <Geom_Curve.hxx>
#include <Geom_Surface.hxx>
+#include <Standard_Version.hxx>
#include <TopAbs_ShapeEnum.hxx>
#include <TopExp.hxx>
#include <TopExp_Explorer.hxx>
@@ -436,8 +437,13 @@
}
double u, v, minVal = DBL_MAX;
for ( int i = theProjectorPS.NbExt(); i > 0; i-- )
+#if OCC_VERSION_HEX >= 0x060500
if ( theProjectorPS.SquareDistance( i ) < minVal ) {
minVal = theProjectorPS.SquareDistance( i );
+#else
+ if ( theProjectorPS.Value( i ) < minVal ) {
+ minVal = theProjectorPS.Value( i );
+#endif
theProjectorPS.Point( i ).Parameter( u, v );
}
return gp_XY( u, v );
diff -Naur smesh-5.1.2.2/src/SMESHDS/SMESHDS_Mesh.cpp salomesmesh/src/SMESHDS/SMESHDS_Mesh.cpp
--- smesh-5.1.2.2/src/SMESHDS/SMESHDS_Mesh.cpp 2011-09-27 03:33:02.000000000 -0500
+++ salomesmesh/src/SMESHDS/SMESHDS_Mesh.cpp 2011-12-20 13:31:11.619326365 -0600
@@ -42,10 +42,10 @@
using namespace std;
-Standard_Boolean IsEqual( const TopoDS_Shape& S1, const TopoDS_Shape& S2 )
-{
- return S1.IsSame( S2 );
-}
+/*Standard_Boolean IsEqual( const TopoDS_Shape& S1, const TopoDS_Shape& S2 )
+ {
+ return S1.IsSame( S2 );
+ }*/
//=======================================================================
//function : Create