From 72f9438f91c4fa249bdbf68ff2704686645d28a5 Mon Sep 17 00:00:00 2001 From: abd Date: Wed, 20 Jun 2007 14:23:54 +0000 Subject: [PATCH] Update environment of windows version: - products; - projects. Porting current version of BR_Dev_For_4_0 branch on Windows. First stable Windows version of BR_Dev_For_4_0 branch. --- src/MEFISTO2/aptrte.cxx | 22 +++--- src/MEFISTO2/aptrte.h | 73 ++++++++++--------- src/SMDS/SMDS_Iterator.hxx | 6 +- src/SMESH/SMESH_0D_Algo.hxx | 4 +- src/SMESH_I/SMESH_0D_Algo_i.hxx | 4 +- src/SMESH_I/SMESH_MeshEditor_i.cxx | 4 +- .../StdMeshers_CompositeSegment_1D.hxx | 3 +- src/StdMeshers/StdMeshers_Propagation.cxx | 2 +- .../StdMeshers_SegmentAroundVertex_0D.hxx | 4 +- .../StdMeshers_SegmentLengthAroundVertex.hxx | 4 +- 10 files changed, 71 insertions(+), 55 deletions(-) diff --git a/src/MEFISTO2/aptrte.cxx b/src/MEFISTO2/aptrte.cxx index 26691946a..8768bd1cc 100755 --- a/src/MEFISTO2/aptrte.cxx +++ b/src/MEFISTO2/aptrte.cxx @@ -475,7 +475,7 @@ void aptrte( Z nutysu, R aretmx, if( ierr != 0 ) goto ERREUR; //qualites de la triangulation actuelle - qualitetrte_( mnpxyd, mosoar, mxsoar, mnsoar, moartr, mxartr, mnartr, + qualitetrte( mnpxyd, mosoar, mxsoar, mnsoar, moartr, mxartr, mnartr, nbt, quamoy, quamin ); // boucle sur les aretes internes (non sur une ligne de la frontiere) @@ -494,7 +494,7 @@ void aptrte( Z nutysu, R aretmx, << d << " secondes"); //qualites de la triangulation actuelle - qualitetrte_( mnpxyd, mosoar, mxsoar, mnsoar, moartr, mxartr, mnartr, + qualitetrte( mnpxyd, mosoar, mxsoar, mnsoar, moartr, mxartr, mnartr, nbt, quamoy, quamin ); // detection des aretes frontalieres initiales perdues @@ -529,7 +529,7 @@ void aptrte( Z nutysu, R aretmx, if( ierr != 0 ) goto ERREUR; //qualites de la triangulation actuelle - qualitetrte_( mnpxyd, mosoar, mxsoar, mnsoar, moartr, mxartr, mnartr, + qualitetrte( mnpxyd, mosoar, mxsoar, mnsoar, moartr, mxartr, mnartr, nbt, quamoy, quamin ); // fin de la triangulation avec respect des aretes initiales frontalieres @@ -570,7 +570,7 @@ void aptrte( Z nutysu, R aretmx, if( ierr != 0 ) goto ERREUR; //qualites de la triangulation actuelle - qualitetrte_( mnpxyd, mosoar, mxsoar, mnsoar, moartr, mxartr, mnartr, + qualitetrte( mnpxyd, mosoar, mxsoar, mnsoar, moartr, mxartr, mnartr, nbt, quamoy, quamin ); // amelioration de la qualite de la triangulation par @@ -585,7 +585,7 @@ void aptrte( Z nutysu, R aretmx, cout << "aptrte: MC saturee mnarcf3=" << mnarcf3 << endl; goto ERREUR; } - teamqt_( nutysu, aretmx, airemx, + teamqt( nutysu, aretmx, airemx, mnarst, mosoar, mxsoar, n1soar, mnsoar, moartr, mxartr, n1artr, mnartr, mxarcf, mnarcf2, mnarcf3, @@ -605,7 +605,7 @@ void aptrte( Z nutysu, R aretmx, if( ierr != 0 ) goto ERREUR; //qualites de la triangulation finale - qualitetrte_( mnpxyd, mosoar, mxsoar, mnsoar, moartr, mxartr, mnartr, + qualitetrte( mnpxyd, mosoar, mxsoar, mnsoar, moartr, mxartr, mnartr, nbt, quamoy, quamin ); // renumerotation des sommets internes: mnarst(i)=numero final du sommet @@ -734,9 +734,11 @@ void aptrte( Z nutysu, R aretmx, goto NETTOYAGE; } } - - -void qualitetrte_( R3 *mnpxyd, +void +#ifdef WIN32 + __stdcall +#endif + qualitetrte( R3 *mnpxyd, Z & mosoar, Z & mxsoar, Z *mnsoar, Z & moartr, Z & mxartr, Z *mnartr, Z & nbtria, R & quamoy, R & quamin ) @@ -831,7 +833,7 @@ void qualitetrte_( R3 *mnpxyd, if( quamin<0.3 ) { //le numero des 3 sommets du triangle ntqmin de qualite minimale - nusotr_( ntqmin, mosoar, mnsoar, moartr, mnartr, nosotr ); + nusotr(ntqmin, mosoar, mnsoar, moartr, mnartr, nosotr ); MESSAGE("Triangle de qualite minimale "<3*mxsomm obligatoire! -// nosoar : numero des 2 sommets , no ligne, 2 triangles de l'arete, -// chainage des aretes frontalieres, chainage du hachage des aretes -// hachage des aretes = nosoar(1)+nosoar(2)*2 -// avec mxsoar>=3*mxsomm -// une arete i de nosoar est vide <=> nosoar(1,i)=0 et -// nosoar(2,arete vide)=l'arete vide qui precede -// nosoar(3,arete vide)=l'arete vide qui suit -// moartr : nombre maximal d'entiers par arete du tableau noartr -// mxartr : nombre maximal de triangles declarables -// noartr : les 3 aretes des triangles +-arete1, +-arete2, +-arete3 -// arete1 = 0 si triangle vide => arete2 = triangle vide suivant -// sorties: -// -------- -// nbtria : nombre de triangles internes au domaine -// quamoy : qualite moyenne des triangles actuels -// quamin : qualite minimale des triangles actuels -// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - MEFISTO2D_EXPORT void aptrte( Z nutysu, R aretmx, @@ -160,6 +126,7 @@ MEFISTO2D_EXPORT #define nusotr NUSOTR #define qutr2d QUTR2D #define surtd2 SURTD2 + #define qualitetrte QUALITETRTE #define areteideale ARETEIDEALE @@ -180,12 +147,50 @@ MEFISTO2D_EXPORT #define nusotr nusotr_ #define qutr2d qutr2d_ #define surtd2 surtd2_ + #define qualitetrte qualitetrte_ #define areteideale areteideale_ #endif +extern "C" { void +#ifdef WIN32 + __stdcall +#endif + qualitetrte( R3 *mnpxyd, + Z & mosoar, Z & mxsoar, Z *mnsoar, + Z & moartr, Z & mxartr, Z *mnartr, + Z & nbtria, R & quamoy, R & quamin ); } +// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +// but : calculer la qualite moyenne et minimale de la triangulation +// ----- actuelle definie par les tableaux nosoar et noartr +// entrees: +// -------- +// mnpxyd : tableau des coordonnees 2d des points +// par point : x y distance_souhaitee +// mosoar : nombre maximal d'entiers par arete et +// indice dans nosoar de l'arete suivante dans le hachage +// mxsoar : nombre maximal d'aretes stockables dans le tableau nosoar +// attention: mxsoar>3*mxsomm obligatoire! +// nosoar : numero des 2 sommets , no ligne, 2 triangles de l'arete, +// chainage des aretes frontalieres, chainage du hachage des aretes +// hachage des aretes = nosoar(1)+nosoar(2)*2 +// avec mxsoar>=3*mxsomm +// une arete i de nosoar est vide <=> nosoar(1,i)=0 et +// nosoar(2,arete vide)=l'arete vide qui precede +// nosoar(3,arete vide)=l'arete vide qui suit +// moartr : nombre maximal d'entiers par arete du tableau noartr +// mxartr : nombre maximal de triangles declarables +// noartr : les 3 aretes des triangles +-arete1, +-arete2, +-arete3 +// arete1 = 0 si triangle vide => arete2 = triangle vide suivant +// sorties: +// -------- +// nbtria : nombre de triangles internes au domaine +// quamoy : qualite moyenne des triangles actuels +// quamin : qualite minimale des triangles actuels +// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + extern "C" { void #ifdef WIN32 __stdcall diff --git a/src/SMDS/SMDS_Iterator.hxx b/src/SMDS/SMDS_Iterator.hxx index 5d17b6fa2..5685541b6 100644 --- a/src/SMDS/SMDS_Iterator.hxx +++ b/src/SMDS/SMDS_Iterator.hxx @@ -28,14 +28,14 @@ ///Abstract class for iterators ///@author Jerome Robert /////////////////////////////////////////////////////////////////////////////// -template class SMDS_EXPORT SMDS_Iterator +template class SMDS_Iterator { public: /// Return true if and only if there are other object in this iterator - virtual bool more()=0; + virtual bool more()=0; /// Return the current object and step to the next one - virtual VALUE next()=0; + virtual VALUE next()=0; /// Delete the current element and step to the next one virtual void remove(){} diff --git a/src/SMESH/SMESH_0D_Algo.hxx b/src/SMESH/SMESH_0D_Algo.hxx index 9064e717d..66d0e47f6 100644 --- a/src/SMESH/SMESH_0D_Algo.hxx +++ b/src/SMESH/SMESH_0D_Algo.hxx @@ -28,9 +28,11 @@ #ifndef _SMESH_0D_ALGO_HXX_ #define _SMESH_0D_ALGO_HXX_ +#include "SMESH_SMESH.hxx" + #include "SMESH_Algo.hxx" -class SMESH_0D_Algo: public SMESH_Algo +class SMESH_EXPORT SMESH_0D_Algo: public SMESH_Algo { public: SMESH_0D_Algo(int hypId, int studyId, SMESH_Gen* gen); diff --git a/src/SMESH_I/SMESH_0D_Algo_i.hxx b/src/SMESH_I/SMESH_0D_Algo_i.hxx index 2be0029fc..354d1df44 100644 --- a/src/SMESH_I/SMESH_0D_Algo_i.hxx +++ b/src/SMESH_I/SMESH_0D_Algo_i.hxx @@ -28,6 +28,8 @@ #ifndef _SMESH_0D_ALGO_I_HXX_ #define _SMESH_0D_ALGO_I_HXX_ +#include "SMESH.hxx" + #include #include CORBA_SERVER_HEADER(SMESH_Hypothesis) @@ -36,7 +38,7 @@ // ====================================================== // Generic 0D algorithm // ====================================================== -class SMESH_0D_Algo_i: +class SMESH_I_EXPORT SMESH_0D_Algo_i: public virtual POA_SMESH::SMESH_0D_Algo, public virtual SMESH_Algo_i { diff --git a/src/SMESH_I/SMESH_MeshEditor_i.cxx b/src/SMESH_I/SMESH_MeshEditor_i.cxx index ff3eed5e8..556bac3a4 100644 --- a/src/SMESH_I/SMESH_MeshEditor_i.cxx +++ b/src/SMESH_I/SMESH_MeshEditor_i.cxx @@ -1835,7 +1835,7 @@ void SMESH_MeshEditor_i::FindCoincidentNodesOnPart(SMESH::SMESH_IDSource_ptr for ( CORBA::Long i = 0; llIt != aListOfListOfNodes.end(); llIt++, i++ ) { list< const SMDS_MeshNode* >& aListOfNodes = *llIt; list< const SMDS_MeshNode* >::iterator lIt = aListOfNodes.begin();; - SMESH::long_array& aGroup = GroupsOfNodes[ i ]; + SMESH::long_array& aGroup = (*GroupsOfNodes)[i]; aGroup.length( aListOfNodes.size() ); for ( int j = 0; lIt != aListOfNodes.end(); lIt++, j++ ) aGroup[ j ] = (*lIt)->GetID(); @@ -1917,7 +1917,7 @@ void SMESH_MeshEditor_i::FindEqualElements(SMESH::SMESH_IDSource_ptr theObj ::SMESH_MeshEditor::TListOfListOfElementsID::iterator arraysIt = aListOfListOfElementsID.begin(); for (CORBA::Long j = 0; arraysIt != aListOfListOfElementsID.end(); ++arraysIt, ++j) { - SMESH::long_array& aGroup = GroupsOfElementsID[ j ]; + SMESH::long_array& aGroup = (*GroupsOfElementsID)[ j ]; TListOfIDs& listOfIDs = *arraysIt; aGroup.length( listOfIDs.size() ); TListOfIDs::iterator idIt = listOfIDs.begin(); diff --git a/src/StdMeshers/StdMeshers_CompositeSegment_1D.hxx b/src/StdMeshers/StdMeshers_CompositeSegment_1D.hxx index 66b87ecdf..9d16fa76b 100644 --- a/src/StdMeshers/StdMeshers_CompositeSegment_1D.hxx +++ b/src/StdMeshers/StdMeshers_CompositeSegment_1D.hxx @@ -29,6 +29,7 @@ #define _SMESH_CompositeSegment_1D_HXX_ #include "StdMeshers_Regular_1D.hxx" +#include "SMESH_StdMeshers.hxx" class SMESH_subMeshEventListener; class SMESH_Mesh; @@ -36,7 +37,7 @@ class StdMeshers_FaceSide; class TopoDS_Edge; class TopoDS_Face; -class StdMeshers_CompositeSegment_1D: public StdMeshers_Regular_1D +class STDMESHERS_EXPORT StdMeshers_CompositeSegment_1D: public StdMeshers_Regular_1D { public: StdMeshers_CompositeSegment_1D(int hypId, int studyId, SMESH_Gen* gen); diff --git a/src/StdMeshers/StdMeshers_Propagation.cxx b/src/StdMeshers/StdMeshers_Propagation.cxx index 2b701a07a..9bbab440e 100644 --- a/src/StdMeshers/StdMeshers_Propagation.cxx +++ b/src/StdMeshers/StdMeshers_Propagation.cxx @@ -54,7 +54,7 @@ namespace { /*! * \brief Return an edge from which hypotheses are propagated from */ - static TopoDS_Edge GetSource(SMESH_subMesh * submesh); + static TopoDS_Edge GetSource(SMESH_subMesh * submesh) { return TopoDS_Edge(); }; /*! * \brief Does it's main job */ diff --git a/src/StdMeshers/StdMeshers_SegmentAroundVertex_0D.hxx b/src/StdMeshers/StdMeshers_SegmentAroundVertex_0D.hxx index 01bf758c7..140c53c51 100644 --- a/src/StdMeshers/StdMeshers_SegmentAroundVertex_0D.hxx +++ b/src/StdMeshers/StdMeshers_SegmentAroundVertex_0D.hxx @@ -27,13 +27,15 @@ #ifndef _SMESH_SegmentAroundVertex_0D_HXX_ #define _SMESH_SegmentAroundVertex_0D_HXX_ +#include "SMESH_StdMeshers.hxx" + #include "SMESH_0D_Algo.hxx" /*! * \brief Algorithm existing in order just to enable assignation of * StdMeshers_SegmentLengthAroundVertex hypothesis */ -class StdMeshers_SegmentAroundVertex_0D: public SMESH_0D_Algo +class STDMESHERS_EXPORT StdMeshers_SegmentAroundVertex_0D: public SMESH_0D_Algo { public: StdMeshers_SegmentAroundVertex_0D(int hypId, int studyId, SMESH_Gen* gen); diff --git a/src/StdMeshers/StdMeshers_SegmentLengthAroundVertex.hxx b/src/StdMeshers/StdMeshers_SegmentLengthAroundVertex.hxx index a1297c815..3584b51db 100644 --- a/src/StdMeshers/StdMeshers_SegmentLengthAroundVertex.hxx +++ b/src/StdMeshers/StdMeshers_SegmentLengthAroundVertex.hxx @@ -29,6 +29,8 @@ #ifndef _SMESH_SegmentLengthAroundVertex_HXX_ #define _SMESH_SegmentLengthAroundVertex_HXX_ +#include "SMESH_StdMeshers.hxx" + #include "SMESH_Hypothesis.hxx" #include "Utils_SALOME_Exception.hxx" @@ -36,7 +38,7 @@ * \brief This hypothesis specifies length of segments adjacent to the vertex the * hypothesis is assigned to */ -class StdMeshers_SegmentLengthAroundVertex:public SMESH_Hypothesis +class STDMESHERS_EXPORT StdMeshers_SegmentLengthAroundVertex:public SMESH_Hypothesis { public: StdMeshers_SegmentLengthAroundVertex(int hypId, int studyId, SMESH_Gen * gen); -- 2.39.2