SALOME'S SMESH Module ported to WIN32 and stripped down for standalone usage

Salome's smesh module containing SMDS SMESH NETGEN etc and all the meshers offered by StdMeshers has been ported to WIN32 and stripped down for standalone usage.Also i have created sourceforge project file containing the source in SVN.It can be found at :

https://sourceforge.net/projects/salomesmesh/

Project files have been created for msvc-2008, Borland and experimental automake scripts for linux backporting.MEFISTO2 module in order to be used in WIN32 needs watcom fortran compiler to create the coresponding dll.Smesh has been tested only with borland tools until now and it seems all "hypothese's" work as expected.Also Drivers for STL UNV and DAT formats have been tested and work as expected.

Any contribution , help , suggestion or anything else will be highly appreciated on the below issues :

1)Corect warnings for msvc compilation
2)Test and propably correct automake scripts for linux backporting.
3)Create msvc 2005 project files.
4)Help in any way with the project.

Waiting for remarks and or suggestions

With greetings
Sioutis Fotios

QbProg's picture

That's a good news! I'll give a try when I get some time, and I'll let you know :)

Good work

Jean-Yves Brud's picture

Very interesting.
I would like to try with VC++2008.

I tried to import SVN sources at: http://sourceforge.net/projects/salomesmesh/

I got the message:

Import C:\Ressources\salome_mesh\sources_svn to http://sourceforge.net/projects/salomesmesh, Ignored items included
XML data was not well-formed

Any idea ?

Jean-Yves

Fotis Sioutis's picture

Hello Jean !

Maybe my mistake but the SVN repository exists at :

https://salomesmesh.svn.sourceforge.net/svnroot/salomesmesh/trunk

The error you had is because svn client tried to CheckOut from non-svn aware uri.
The link on the previous post is the sourceforge homepage of the project.

In order to have smesh compiled with msvc 2008 be aware that you need the following :

1)Header only installation of boost library (used v. 1.38).
2)Open CasCade (used v. 6.3).
3)Open Source "Watcom" FORTRAN IDE to compile Mefisto2 fortran sources.
4)Netgen source installation with include and lib folders added to msvc-2008 IDE (Only in case you may want to use NetGen mesher).

Hopefully with the above information you will manage to compile SMESH for windows.Please post here if you have any issues with your efforts.

Greetings

Fotis Sioutis

Fotis Sioutis's picture

For anyone who succeded to compile SMESH below is a small example on how to use the library.Latest SVN revision also contains the SMESH_MeshVSLink class for visualization with MeshVS package :

Code:

//****************************************************************************
//***************************CREATE SMESH OBJECTS*****************************
SMESH_Gen *aMeshGen = new SMESH_Gen();
SMESH_Mesh *aMesh = aMeshGen->CreateMesh(0,true);

//****************************************************************************
//***************************CREATE HYPOTHESIS********************************
//CREATE HYPOTHESIS-ALGO 1D
//HYP
StdMeshers_Arithmetic1D *an1DHypothesis = new StdMeshers_Arithmetic1D(0,0,aMeshGen);
an1DHypothesis->SetLength(10., false);
an1DHypothesis->SetLength(50., true);
//ALGO
StdMeshers_Regular_1D *an1DAlgo = new StdMeshers_Regular_1D(1,0,aMeshGen);

//CREATE HYPOTHESIS-ALGO 2D
//HYP
StdMeshers_QuadranglePreference *a2DHypothesis = new StdMeshers_QuadranglePreference(2,0,aMeshGen);
//ALGO
StdMeshers_Quadrangle_2D *a2DAlgo = new StdMeshers_Quadrangle_2D(3,0,aMeshGen);

//****************************************************************************
//**************************CALCULATE MESH************************************
//ADD SHAPE TO MESH
aMesh->ShapeToMesh(aTopoDSShapeToBeMeshed);

//ASSIGN FIRST EDGE WITH HYPOTHESIS //Somehow smesh needs 1d algo to be assigned directly to an edge ... ???
TopExp_Explorer Exp3 (aMesh->GetShapeToMesh(), TopAbs_EDGE);
while ( Exp3.More() ) {
aMesh->AddHypothesis( Exp3.Current() , 0 );
aMesh->RebuildPropagationChains();
break;
}

//ASSIGN HYPOTHESIS TO MESH
aMesh->AddHypothesis( aShape , 0 );
aMesh->AddHypothesis( aShape , 1 );
aMesh->AddHypothesis( aShape , 2 );
aMesh->AddHypothesis( aShape , 3 );

//COMPUTE THE DATA
aMeshGen->Compute(*aMesh, aMesh->GetShapeToMesh() );

//****************************************************************************
//****************************EXPORT THE DATA*********************************
aMesh->ExportDAT("_TEST.DAT");

//****************************************************************************
//****************************DISPLAY THE DATA********************************
//DISPLAY MESH
Handle( SMESH_MeshVSLink ) aDS = new SMESH_MeshVSLink( aMesh );
Handle( MeshVS_Mesh ) aMeshVS = new MeshVS_Mesh(Standard_True);
Handle( MeshVS_MeshPrsBuilder ) aPrsBuilder = new MeshVS_MeshPrsBuilder(aMeshVS, MeshVS_DMF_OCCMask, aDS, 0, MeshVS_BP_Mesh);
aMeshVS->SetDataSource( aDS );
aMeshVS->AddBuilder( aPrsBuilder, Standard_True );
aMeshVS->GetDrawer()->SetMaterial( MeshVS_DA_FrontMaterial, Graphic3d_MaterialAspect(Graphic3d_NOM_GOLD) );
aMeshVS->SetDisplayMode(MeshVS_DMF_Shrink);
Handle( AIS_InteractiveContext ) aContext = GetAISContext();
aContext->Display( aMeshVS );
aContext->Deactivate( aMeshVS );
//****************************************************************************

P Dolbey's picture

Hi Fotis,
Its been a long, long time since I played with Watcom. I've been having a lot of problems getting the MEFISTO2F.lib to be compatible with VS2008 linker using Watcom 1.7a - I've been getting currupt library messages. I edited my own MAKEFILE in the win32-watcom folder to add the -fa option to the wlib command i.e.

wlib -q -n -b -fa -l MEFISTO2F.lib +MEFISTO2F.dll

Now to make the mefisto2.dll link, I had to edit aptrte.cpp to read

#if defined(WIN32) && !defined(__BORLANDC__)
#define insoar_ _imp_insoar
#define azeroi_ _imp_azeroi
#define fasoar_ _imp_fasoar
#define teajte_ _imp_teajte
#define tehote_ _imp_tehote
#define tetrte_ _imp_tetrte
#define aisoar_ _imp_aisoar
#define tedela_ _imp_tedela
#define terefr_ _imp_terefr
#define tesuex_ _imp_tesuex
#define teamqt_ _imp_teamqt
#define qutr2d_ _imp_qutr2d
#define surtd2_ _imp_surtd2
#define nusotr_ _imp_nusotr
#define qualitetrte_ _imp_qualitetrte
#endif

Next job is to build a test harness as you have above, but I was wondering why you didn't seem to have any of these problems with your build. I can update the svn with my changes for you to review later.

Pete

Fotis Sioutis's picture

Hello Peter !!

Indeed Watcom IDE is a quite old tool, but it seemed a good solution to compile fortran code into a dll (it is open source also ...).If you have any other ideas i 'd be happy to discuss !.The MEFISTO2F.lib created from Watcom linker was not used when i built the library.In my case in order to create the import library i used the MEFISTO2F.def module definition file provided in win32-msvc2008 folder.You can create an import library using msvc's link.exe command invoking the /DEF:deffile.def.With the created .lib file the mefisto2.dll in msvc compiles and links without problems.The -fa switch you mention creates AR format library (i really do not know what is AR format...) and if this is compatible with msvc then we may use the watcom provided import library.

Waiting for suggestions
Fotis

P Dolbey's picture

Fotis

I'm certainly not knocking the idea of using Watcom - I used to use it a long time ago for a finite element polymer flow product and it produced pretty fast code.. I hadn't seen the def file so I'll see what it does. I fell asleep last night before I managed to write a test harness - if you've got one I can use that would be useful.

The other possibility to consider is to use f2c to reformat the FORTRAN into C, which could help debugging - but I haven't got ruund to that either.

Pete

Fotis Sioutis's picture

Hello again Pete !

You can read the msdn help on creating import libraries from .def files on :

http://support.microsoft.com/kb/131313

About the "f2c" case, in the past i was using it also, as i said in a conversation we had for the same issue.The problem was that mefisto could compile, but could not work.There was a ton of errors that i tried to fix, but in the end i gave up.

You can easily create a test case on SMESH.All you have to do is copy the code from above, replace the TopoDS_Shape with your own, add the corresponding headers and libs and then hopefully it will work.

I will be glad to answer ay other questions you may have ( as long as i know the answer :) ).

Fotis

P Dolbey's picture

A-ha - its "lib" not "link" for the /def:deffile option - caught me out for a minute or two. I've now added the command as a custom build step in the mefisto2.vcproj. I've gone back to using the Watcom IDE file without the -fa. If this work I'll update svn.

Pete

P Dolbey's picture

Fotis

Well I've got everything compiled and I've got a modified qtocc/qoccmakebottle.cpp that tries to mesh the standard occ sample bottle - and it nearly worked once as well. I can upload this into the qtocc svn under branches/qtsmesh if needed. I can also upload the modified mefisto2.vcproj, and a couple of other changes I need to make (like removing a "const" that was giving some errors) into the salomemesh svn.

However I can only reliably just carry out a 1d mesh of the bottle edges without getting exceptions due to error in SMESH - I'll have another go tonight (wife willing).

What I'd like to determine in your sample code above is "What is aShape?" Is this the same as aTopoDSShapeToBeMeshed or aMesh->GetShapeToMesh() or is it defined somewhere else.

Pete

Fotis Sioutis's picture

Hello Pete !!

"aMesh" is the "aTopoDSShapeToBeMeshed" ! This kind of mistake happened cause i edited the code while posting in order to make it clearer, but forgot to edit all references.From now and on i will try to be more precise :).Also i already have added you on SF project with SVN access, so you can post your changes directly.The StdMeshers_QuadranglePreference algo in my example unforunatelly does not work with all cases of surfaces, so you might want to experiment with other algos.You can try StdMeshers_AutomaticLength for 1d and mefisto2 for 2d.Also check their pre-requisites.

Fotis

P Dolbey's picture

Yep, but the really annoying thing was that the bottle DID mesh once, but when I disabled the normal AISBottle and recompiled - it stopped working. It implies some kind of initialisation error, but I haven't found it yet.

...and I noticed my svn access as soon as you went public :)

Pete

P Dolbey's picture

Fotis

Well I've been working all over Xmas to try to get SMESH working. Its not that I can't create a mesh - I can - but its not a reliable or repeatable process. I'm using a simple test box in the monolithic ratio 1:4:9, and trying to combine tri and quad surface meshes. Sometimes it works, othertimes it fails, and you can't predict which surfaces will be tris and which will be quads - and this is even when I re-mesh in the same executable session. Something seems wrong here...

After several debugging sessions, I'm finding eratic issues with adding hypotheses to the myShapeToHypothesis map in the SMESHDS_Mesh class via AddHypothesis, but now having at least a better guess where the fault lies, I thought I'd take a look at the(now apparently Win32 compatible) Salome 4.1.4 source code and discovered the following comments in SMESHDS_Mesh.hxx

/*
* Using of native haah_map isn't portable and don't work on WIN32 platform.
* So this functionality implement on new NCollection_DataMap technology
*/

(read hash for haah)

So here's the point of this post - I think we should consider promoting the core of the salomemesh code repository from Salome 3.2.6 to 4.1.4, but I don't kow how much work there was to get it this far, including the Borland modifications. However I can't the point in trying to get the 3.2.6 code working properly in Win32 when the OCC guys have already advanced the code-base.

*Advertisment*
If we can this running in a standalone version it will be a significant boost for any OCC users who need to produce quality triangulations for FE or visualsisations.

Pete

Fotis Sioutis's picture

Hello Peter !

I had almost the same issues on Borland platform that i am working on, and also in my case there were times where i had different triangulations (mefisto) with the same code.Unfortunatelly last two months i was busy up to the neck with other projects , so i did not have the time to test and or debug thoroughly.I am aware of the 4.1.4 smesh which is claimed to be WIN32 compatible and in near future i will try to port the sourceforge svn with a working copy from 4.1.4.I will also try to include my additions like the SMESH_MeshVSLink (meshvs datasource for smesh).Also i want to update the existing GEOM module at sourceforge with the latest additions found in 4.1.4.

I agree that not only SMESH but also GEOM can be used by the community to develop an application with the capabilities of the core of Salome (plus many extra geometry drivers , and capabilities added in GEOM in the past year) without the complexity imposed by the Salome architecture.

Feel free to comment on the above

Fotis

P Dolbey's picture

Thank goodness it wan't just me.

From a pratical perspective, it would make sense to "tag" the existing trunk in SVN, then port over the complete SMESH 4.1.4 code as a basline into "trunk", and using the current build scripts construct an updated compilation environment. That way we can keep an audit trail of all the changes made to the original source.

Any thoughts?

Pete

dvdjimmy's picture

Dear Fotis,

wow! Maybe you have seen my previous postings on the integration of an FE modul in FreeCAD. I think that the SMESH module is exactly the thing we need for that. This way we have strong, robust and flexible meshing algos combined in one package.

I already did an svn checkout and currently building it with vs2008.

Do you think that it might be possible to integrate it within FreeCAD? We basically would only need access to all the meshing capabilites and the mesh datastructure (especially for quad and 3D meshes) as we only support triangles up to now!

Thank you for your excellent porting job! Maybe the geom module might also be interesting to use in FreeCAD :)

With best regards,
Joachim

jelle's picture

Hi Joachim,

For pythonOCC 0.4 ( we're about to release 0.3 ) the goal is to integrate SMESH ( we've just integrated Fotios' GEOM module ).
Since I've understood that pythonOCC modules can run in freecad ( cool! ) perhaps this would be an interesting occasion to share an effort making such a module.

I often see similar efforts on this forum, with only minimal technical differences; frustrating, since if those efforts would be a little more streamlined, the OCC community might be far more efficient as a whole. What do you think? Is it a viable suggestion?

Cheers,

-jelle

dvdjimmy's picture

Hello jelle,

of course, I am open for everything :) The idea in FreeCAD is, to have nearly all algos in C++ but allow to access them with python. We also have a python console embedded to the gui to make it very easy to use python scripts for makro programming or anything else.

I think also the geom module might be an interesting thing as we only have a few algos ready for part operations. I think the GEOM Module is more mature for this.

How should we proceed in the near future? Any ideas? Would it make sense that you take part in FreeCAD or what do you think?

Best regards,
Joachim

jelle's picture

Hi Joachim,

Happy that we're having this discussion ;')

>of course, I am open for everything :) The idea in FreeCAD is, to have nearly all algos in C++ but allow to access them with python. We also have a python >console embedded to the gui to make it very easy to use python scripts for makro programming or anything else.

in pythonOCC we do the inverse; all is C++, made available in python.

>I think also the geom module might be an interesting thing as we only have a few algos ready for part operations. I think the GEOM Module is more mature for >this.

GEOM is just _incredible_. We've just developed a parametric framework for pythonOCC ( parameters, rules, relations ), its in the current SVN and it works just gorgeous. GEOM is really an incredible project. It would be great if our work on making GEOM available in pythonOCC would increase your speed of development too. Surely we can find an overlap somehow.

>How should we proceed in the near future? Any ideas? Would it make sense that you take part in FreeCAD or what do you think?

Interesting! Thomas & I are having a lot of discussions on what is the right thing to do.
Thanks for your willingness to discuss / consider our participation in FreeCAD, we think its a seriously cool project.

My feeling is that FreeCAD is different from our goals, but nevertheless, we share a __huge__ overlap.
So, what I think would be the right way forward is to develop modules that are more layered.
Think of a Drawing, FEM, or CAM module. 80% of the code is generic, and could be a implemented with pythonOCC.
20% of the code would be FreeCAD specific ( gui stuff, undo / redo, vizualisation ) perhaps.
So, if we can structure this 80% as an independend package, we're golden.
That we would have an interface ( module ) to share an effort, and still do what we like.

Sure, this is far from a well specified collaboration, but roughly I think of it in these terms.

What about that? Does that seem reasonable to you Joachim?

An anology would be Django ( we could learn a lot here... ). There are tons of interesting modules built on top of it, and together all these separate modules form your application.
Rather than making a few huge modules, the Django community builds many small modules. A very efficient way of working. This might seem evident, but when you think of the OCC community, its the exact opposite of this module. I think that its much easier to develop such modules on top of python. For instance the parametric framework we've just developed: this exposes GEOM in a highly pythonic, easy manner. It would be just great to see many such modules being developed, such that we all could focus on the core difference rather than overlap.

-jelle

dvdjimmy's picture

Dear jelle,
I just had a short conversation with another FreeCAD developer, Werner Mayer. I think for now we will directly try to embed your pythonOCC with the latest SVN version. We will test the integration mainly for our new FE workbench. If this is working well, we can think about adding also the GEOM functionality to our part module. Also the CAM algorithms we currently use maybe portable with pythonOCC.
Anyway, I think we should discuss this in more detail via chat or phone. Especially the things FreeCAD can probably provide for you!

Best regards,
Joachim

jelle's picture

>I just had a short conversation with another FreeCAD developer, Werner Mayer. I think for now we will directly try to embed your pythonOCC with the latest SVN version.

Terrific! I'm really excited to hear that. If you permit us a few days, than we'll have pythonOCC out the door, such that we can guarantee a high quality release.

> We will test the integration mainly for our new FE workbench.

Exciting! This would be a *terrific* initial test for collaboration. For 0.4 we're looking at integrating Fotios' SMESH.
So, perhaps this is an excellent chance to work together on that?

>If this is working well, we can think about adding also the GEOM functionality to our part module.

Great idea. There is a lot of low-hanging fruit there.

>Also the CAM algorithms we currently use maybe portable with pythonOCC.

I had a look this morning, seems pretty impressive!
Have you seen the work by Dan Heeks?
The pycam module looks pretty cool too.

>Anyway, I think we should discuss this in more detail via chat or phone. Especially the things FreeCAD can probably provide for you!

Absolutely, that would be really cool and productive. Lets set up a conference call ( skype? ) sometime soon!

-jelle

dvdjimmy's picture

...I fully agree with you. So many skilled people in here and so many efforts all on their own :(

Maybe we can really try to streamline this a little bit better !

Lets begin.....

Regards,
Joachim

jelle's picture

>...I fully agree with you.

Happy we're having this debate Joachim!

>So many skilled people in here and so many efforts all on their own :(

Absolutely. I hope, and I think pythonOCC might be a way to streamline this effort more.
Its just so easy and fun to built meaningful abstractions on top of pythonOCC, that its perfectly plausible to develop very high-level, generic modules.
Python allows non-developers to develop meaningful CAD apps in a very short time.
If this works, agile CAD development will become a reality.

Technically we're definitely capable of doing so.
The big thing now is how to organize / structure the effort.

I'm all for more debate on this front.

-jelle

dvdjimmy's picture

Looking forward to use your project !

As I already wrote a little bit above. The details should be discussed by phone or chat which makes it easier and faster to come to a good collaboration.

Regards,
Joachim

P Dolbey's picture

Joachim, jelle

Nice to see this conversation taking place. If its any use to you, I did build a qtocc "playpen" for salomesmesh which you can find in my svn here

http://qtocc.svn.sourceforge.net/viewvc/qtocc/branches/qtsmesh/

Unfortunately I haven't had as much time to play with it as I would have liked and haven't done much with it since Fotis updated to SMESH 4.1.4 base code - but I could produce some nice surface meshes with the Mefisto mesher on the bottle example.

If you start going though private emails, can you keep this thread updated with any major updates or plans?

Pete

dvdjimmy's picture

Hello Pete,

I think we also had some contact at the end of 2007, or am I mistaken? I wrote to Fotis as well if he needs any kind of help with the port of SMESH to windows.

I already looked at your qtsmesh application and as a playpen it looks quite nice :)

It would be interesting to see some examples with the bottle example if you have time. I will take care that we update the OCC newsgroups how we continue as this might be interesting for a lot of other people as well.

Best regards,
Joachim

jelle's picture

Hi Pete,

>If you start going though private emails, can you keep this thread updated with any major updates or plans?

Sure, but what about we start a new thread named "Venn diagram"?
It would be really productive to have a thread that tries to sort out the Venn diagram of qtocc, FreeCAD, Fotios' work, Dan Heeks and pythonOCC ( possible I've overseen other projects ).

That could be really productive, right?

-jelle

P Dolbey's picture

I tried starting something like that already here

http://qtocc.sourceforge.net/links.html
http://qtocc.sourceforge.net/links-related.html
http://qtocc.sourceforge.net/links-useful.html

There's many more out there e.g. enGrid a qt wrapper over GMSH - I have a fairly extensive library of other peoples work.

The problem is with many of these projects is they have never been designed to talk to each in a structured manner. I liked the underlying architecture of VTK Designer 2 (a.k.a GCF) but have never found time to make it work for OCC. Part of my original concept for qtocc was to provide a common framework, but diversity within the projects makes this unattainable for the present. And most people have now fixed the old Qt4 with OCC problems. Now consider the options for developing plugins, OCC or Qt4 (ignoring MFC!) - which makes most sense in a consistent architecture?

Maybe what we need is a simple feature list, then look at which projects currently deliver the best implementation. This has been tried before - but I think may of the best implementations are in commercial or closed source products and we would need to emulate them.

Its been quite a while since I had a ramble or rant on these topics, but I could get used to it again!

Pete

dvdjimmy's picture

Hi Pete, Fotis, everybody,

do you know if there is also some kind of C++ API for the Geom and SMESH module available?

On Salome Homepage I only found documentation for the GUI and TUI-API. Of course, the TUI API is somehow related to the corresponding C++ functions but not the same.

Thank you in advance for any help.

Regards,
Joachim

Braunstein's picture

Hello,

i want to display the mesh in my OCC Project (OCAF sample). I used the following code:

//DISPLAY MESH
Handle( SMESH_MeshVSLink ) aDS = new SMESH_MeshVSLink( aMesh );
Handle( MeshVS_Mesh ) aMeshVS = new MeshVS_Mesh(Standard_True);
Handle( MeshVS_MeshPrsBuilder ) aPrsBuilder = new MeshVS_MeshPrsBuilder(aMeshVS, MeshVS_DMF_OCCMask, aDS, 0, MeshVS_BP_Mesh);
aMeshVS->SetDataSource( aDS );
aMeshVS->AddBuilder( aPrsBuilder, Standard_True );
aMeshVS->GetDrawer()->SetMaterial( MeshVS_DA_FrontMaterial, Graphic3d_MaterialAspect(Graphic3d_NOM_GOLD) );
aMeshVS->SetDisplayMode(MeshVS_DMF_Shrink);
Handle( AIS_InteractiveContext ) aContext = GetAISContext();
aContext->Display( aMeshVS );
aContext->Deactivate( aMeshVS );

At the beginning i want to compile just the first line:

Handle( SMESH_MeshVSLink ) aDS = new SMESH_MeshVSLink( aMesh );

I included the follwing files in my VS Project:
#include
#include

By including SMESH_MeshVSLink.hxx my compiler throws an error:

error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall MeshVS_DataMapOfHArray1OfSequenceOfInteger::MeshVS_DataMapOfHArray1OfSequenceOfInteger(int)" (??0MeshVS_DataMapOfHArray1OfSequenceOfInteger@@QAE@H@Z)" in Funktion ""public: void __thiscall MeshVS_DataMapOfHArray1OfSequenceOfInteger::`default constructor closure'(void)" (??_FMeshVS_DataMapOfHArray1OfSequenceOfInteger@@QAEXXZ)".

I'm desperated. Has anybody an idea?

Thanks.

fatmice's picture

hello,I had compiled smesh-5.1.2.2 with vs2008,but throw some errors:
1>------ Build started: Project: StdMeshers, Configuration: Debug Win32 ------
1>Compiling...
1>StdMeshers_Projection_2D.cpp
1>e:\smesh-5.1.2.2\inc\SMDS_MeshInfo.hxx(152) : warning C4018: '<' : signed/unsigned mismatch
1>e:\smesh-5.1.2.2\inc\SMDS_Mesh.hxx(492) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\StdMeshers_ProjectionSource2D.hxx(60) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\StdMeshers_ProjectionSource2D.hxx(92) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\StdMeshers_ProjectionSource2D.hxx(99) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\StdMeshers_ProjectionSource2D.hxx(106) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Block.hxx(62) : warning C4275: non dll-interface class 'math_FunctionSetWithDerivatives' used as base for dll-interface class 'SMESH_Block'
1> C:\OpenCASCADE6.2.0\ros\inc\math_FunctionSetWithDerivatives.hxx(47) : see declaration of 'math_FunctionSetWithDerivatives'
1> e:\smesh-5.1.2.2\inc\SMESH_Block.hxx(61) : see declaration of 'SMESH_Block'
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(114) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(118) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(122) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(134) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(136) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(145) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(148) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(151) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(156) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(163) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(181) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(183) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(200) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(202) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(203) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(204) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(206) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(208) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(210) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(212) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(214) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(216) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(218) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(220) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(222) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(224) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(226) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(228) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(230) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_Gen.hxx(69) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
1>e:\smesh-5.1.2.2\inc\SMESH_subMeshEventListener.hxx(36) : warning C4099: 'SMESH_subMeshEventListenerData' : type name first seen using 'class' now seen using 'struct'
1> e:\smesh-5.1.2.2\inc\SMESH_subMesh.hxx(50) : see declaration of 'SMESH_subMeshEventListenerData'
1>e:\smesh-5.1.2.2\inc\SMESH_subMeshEventListener.hxx(75) : warning C4099: 'SMESH_subMeshEventListenerData' : type name first seen using 'class' now seen using 'struct'
1> e:\smesh-5.1.2.2\inc\SMESH_subMesh.hxx(50) : see declaration of 'SMESH_subMeshEventListenerData'
1>..\..\src\StdMeshers\StdMeshers_Projection_2D.cpp(431) : error C2039: 'IsVoid' : is not a member of 'Bnd_B2d'
1> C:\OpenCASCADE6.2.0\ros\inc\Bnd_B2d.hxx(48) : see declaration of 'Bnd_B2d'
1>Build log was saved at "file://e:\smesh-5.1.2.2\win32\objd\StdMeshers\BuildLog.htm"
1>StdMeshers - 1 error(s), 39 warning(s)
2>------ Build started: Project: NETGENPlugin, Configuration: Debug Win32 ------
2>Compiling...
2>NETGENPlugin_NETGEN_2D_ONLY.cpp
2>e:\smesh-5.1.2.2\inc\SMDS_MeshInfo.hxx(152) : warning C4018: '<' : signed/unsigned mismatch
2>e:\smesh-5.1.2.2\inc\SMDS_Mesh.hxx(492) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(114) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(118) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(122) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(134) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(136) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(145) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(148) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(151) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(156) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(163) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(181) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(183) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(200) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(202) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(203) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(204) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(206) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(208) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(210) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(212) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(214) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(216) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(218) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(220) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(222) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(224) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(226) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(228) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(230) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\StdMeshers_FaceSide.hxx(248) : warning C4018: '<' : signed/unsigned mismatch
2>e:\smesh-5.1.2.2\inc\StdMeshers_FaceSide.hxx(259) : warning C4018: '<' : signed/unsigned mismatch
2>e:\smesh-5.1.2.2\inc\StdMeshers_FaceSide.hxx(270) : warning C4018: '<' : signed/unsigned mismatch
2>e:\smesh-5.1.2.2\inc\StdMeshers_FaceSide.hxx(281) : warning C4018: '<' : signed/unsigned mismatch
2>e:\smesh-5.1.2.2\inc\SMESH_Gen.hxx(69) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\StdMeshers_MaxElementArea.hxx(43) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\StdMeshers_LengthFromEdges.hxx(45) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>E:\netgen\netgen-4.9.13\nglib-instNoOCC_Win32\include\nglib.h(27) : warning C4067: unexpected tokens following preprocessor directive - expected a newline
2>e:\netgen\netgen-4.9.13\netgen-4.9.13\libsrc\general\../include/mydefs.hpp(28) : warning C4005: 'DLL_HEADER' : macro redefinition
2> E:\netgen\netgen-4.9.13\nglib-instNoOCC_Win32\include\nglib.h(30) : see previous definition of 'DLL_HEADER'
2>..\..\src\NETGENPlugin\NETGENPlugin_NETGEN_2D_ONLY.cpp(175) : warning C4018: '<' : signed/unsigned mismatch
2>..\..\src\NETGENPlugin\NETGENPlugin_NETGEN_2D_ONLY.cpp(203) : warning C4018: '<' : signed/unsigned mismatch
2>..\..\src\NETGENPlugin\NETGENPlugin_NETGEN_2D_ONLY.cpp(229) : error C2039: 'p1' : is not a member of 'netgen::Segment'
2> e:\netgen\netgen-4.9.13\netgen-4.9.13\libsrc\meshing\meshtype.hpp(780) : see declaration of 'netgen::Segment'
2>..\..\src\NETGENPlugin\NETGENPlugin_NETGEN_2D_ONLY.cpp(230) : error C2039: 'p2' : is not a member of 'netgen::Segment'
2> e:\netgen\netgen-4.9.13\netgen-4.9.13\libsrc\meshing\meshtype.hpp(780) : see declaration of 'netgen::Segment'
2>..\..\src\NETGENPlugin\NETGENPlugin_NETGEN_2D_ONLY.cpp(230) : error C2039: 'p1' : is not a member of 'netgen::Segment'
2> e:\netgen\netgen-4.9.13\netgen-4.9.13\libsrc\meshing\meshtype.hpp(780) : see declaration of 'netgen::Segment'
2>..\..\src\NETGENPlugin\NETGENPlugin_NETGEN_2D_ONLY.cpp(272) : error C2039: 'p2' : is not a member of 'netgen::Segment'
2> e:\netgen\netgen-4.9.13\netgen-4.9.13\libsrc\meshing\meshtype.hpp(780) : see declaration of 'netgen::Segment'
2>..\..\src\NETGENPlugin\NETGENPlugin_NETGEN_2D_ONLY.cpp(407) : error C2039: 'X' : is not a member of 'netgen::MeshPoint'
2> e:\netgen\netgen-4.9.13\netgen-4.9.13\libsrc\meshing\meshtype.hpp(224) : see declaration of 'netgen::MeshPoint'
2>..\..\src\NETGENPlugin\NETGENPlugin_NETGEN_2D_ONLY.cpp(407) : error C2039: 'Y' : is not a member of 'netgen::MeshPoint'
2> e:\netgen\netgen-4.9.13\netgen-4.9.13\libsrc\meshing\meshtype.hpp(224) : see declaration of 'netgen::MeshPoint'
2>..\..\src\NETGENPlugin\NETGENPlugin_NETGEN_2D_ONLY.cpp(407) : error C2039: 'Z' : is not a member of 'netgen::MeshPoint'
2> e:\netgen\netgen-4.9.13\netgen-4.9.13\libsrc\meshing\meshtype.hpp(224) : see declaration of 'netgen::MeshPoint'
2>NETGENPlugin_Mesher.cpp
2>e:\smesh-5.1.2.2\inc\StdMeshers_FaceSide.hxx(248) : warning C4018: '<' : signed/unsigned mismatch
2>e:\smesh-5.1.2.2\inc\StdMeshers_FaceSide.hxx(259) : warning C4018: '<' : signed/unsigned mismatch
2>e:\smesh-5.1.2.2\inc\StdMeshers_FaceSide.hxx(270) : warning C4018: '<' : signed/unsigned mismatch
2>e:\smesh-5.1.2.2\inc\StdMeshers_FaceSide.hxx(281) : warning C4018: '<' : signed/unsigned mismatch
2>e:\smesh-5.1.2.2\inc\NETGENPlugin_SimpleHypothesis_2D.hxx(48) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\NETGENPlugin_SimpleHypothesis_2D.hxx(58) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMDS_MeshInfo.hxx(152) : warning C4018: '<' : signed/unsigned mismatch
2>e:\smesh-5.1.2.2\inc\SMDS_Mesh.hxx(492) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(114) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(118) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(122) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(134) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(136) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(145) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(148) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(151) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(156) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(163) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(181) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(183) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(200) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(202) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(203) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(204) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(206) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(208) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(210) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(212) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(214) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(216) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(218) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(220) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(222) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(224) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(226) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(228) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>e:\smesh-5.1.2.2\inc\SMESH_Mesh.hxx(230) : warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>E:\netgen\netgen-4.9.13\nglib-instNoOCC_Win32\include\nglib.h(27) : warning C4067: unexpected tokens following preprocessor directive - expected a newline
2>e:\netgen\netgen-4.9.13\netgen-4.9.13\libsrc\general\../include/mydefs.hpp(28) : warning C4005: 'DLL_HEADER' : macro redefinition
2> E:\netgen\netgen-4.9.13\nglib-instNoOCC_Win32\include\nglib.h(30) : see previous definition of 'DLL_HEADER'
2>..\..\src\NETGENPlugin\NETGENPlugin_Mesher.cpp(375) : error C2039: 'p1' : is not a member of 'netgen::Segment'
2> e:\netgen\netgen-4.9.13\netgen-4.9.13\libsrc\meshing\meshtype.hpp(780) : see declaration of 'netgen::Segment'
2>..\..\src\NETGENPlugin\NETGENPlugin_Mesher.cpp(376) : error C2039: 'p2' : is not a member of 'netgen::Segment'
2> e:\netgen\netgen-4.9.13\netgen-4.9.13\libsrc\meshing\meshtype.hpp(780) : see declaration of 'netgen::Segment'
2>..\..\src\NETGENPlugin\NETGENPlugin_Mesher.cpp(402) : error C2039: 'p1' : is not a member of 'netgen::Segment'
2> e:\netgen\netgen-4.9.13\netgen-4.9.13\libsrc\meshing\meshtype.hpp(780) : see declaration of 'netgen::Segment'
2>..\..\src\NETGENPlugin\NETGENPlugin_Mesher.cpp(402) : error C2039: 'p2' : is not a member of 'netgen::Segment'
2> e:\netgen\netgen-4.9.13\netgen-4.9.13\libsrc\meshing\meshtype.hpp(780) : see declaration of 'netgen::Segment'
2>..\..\src\NETGENPlugin\NETGENPlugin_Mesher.cpp(732) : error C2039: 'X' : is not a member of 'netgen::MeshPoint'
2> e:\netgen\netgen-4.9.13\netgen-4.9.13\libsrc\meshing\meshtype.hpp(224) : see declaration of 'netgen::MeshPoint'
2>..\..\src\NETGENPlugin\NETGENPlugin_Mesher.cpp(732) : error C2039: 'Y' : is not a member of 'netgen::MeshPoint'
2> e:\netgen\netgen-4.9.13\netgen-4.9.13\libsrc\meshing\meshtype.hpp(224) : see declaration of 'netgen::MeshPoint'
2>..\..\src\NETGENPlugin\NETGENPlugin_Mesher.cpp(732) : error C2039: 'Z' : is not a member of 'netgen::MeshPoint'
2> e:\netgen\netgen-4.9.13\netgen-4.9.13\libsrc\meshing\meshtype.hpp(224) : see declaration of 'netgen::MeshPoint'
2>..\..\src\NETGENPlugin\NETGENPlugin_Mesher.cpp(754) : error C2039: 'p1' : is not a member of 'netgen::Segment'
2> e:\netgen\netgen-4.9.13\netgen-4.9.13\libsrc\meshing\meshtype.hpp(780) : see declaration of 'netgen::Segment'
2>..\..\src\NETGENPlugin\NETGENPlugin_Mesher.cpp(754) : error C2039: 'p2' : is not a member of 'netgen::Segment'
2> e:\netgen\netgen-4.9.13\netgen-4.9.13\libsrc\meshing\meshtype.hpp(780) : see declaration of 'netgen::Segment'
2>..\..\src\NETGENPlugin\NETGENPlugin_Mesher.cpp(759) : error C2039: 'p1' : is not a member of 'netgen::Segment'
2> e:\netgen\netgen-4.9.13\netgen-4.9.13\libsrc\meshing\meshtype.hpp(780) : see declaration of 'netgen::Segment'
2>..\..\src\NETGENPlugin\NETGENPlugin_Mesher.cpp(759) : error C2039: 'p2' : is not a member of 'netgen::Segment'
2> e:\netgen\netgen-4.9.13\netgen-4.9.13\libsrc\meshing\meshtype.hpp(780) : see declaration of 'netgen::Segment'
2>..\..\src\NETGENPlugin\NETGENPlugin_Mesher.cpp(759) : error C2039: 'pmid' : is not a member of 'netgen::Segment'
2> e:\netgen\netgen-4.9.13\netgen-4.9.13\libsrc\meshing\meshtype.hpp(780) : see declaration of 'netgen::Segment'
2>Generating Code...
2>Project : warning PRJ0018 : The following environment variables were not found:
2>$(NGROOT)
2>Build log was saved at "file://e:\smesh-5.1.2.2\win32\objd\NETGENPlugin\BuildLog.htm"
2>NETGENPlugin - 19 error(s), 81 warning(s)
========== Build: 0 succeeded, 2 failed, 8 up-to-date, 0 skipped ==========

Fotis Sioutis's picture

1)Try to compile against the latest OCC version (6.3.0 or 6.3.1 if you are a paying customer) in order to succeed with StdMeshers module.

2)NETGENPlugin is unsupported in the standalone (sourceforge) package and i never tried to compile it.Although some people had positive results on this, i think you are on your own here...

Fotis

fatmice's picture

hi,i delete "uvBox.IsVoid()" in StdMeshers_ProjectionSource2D.cpp£¬and solve the question above.
I include the SMESH_MeshVSLink into my Visual Studio Project.

Handle( SMESH_MeshVSLink ) aDS = new SMESH_MeshVSLink( aMesh );
Handle( MeshVS_Mesh ) aMeshVS = new MeshVS_Mesh(Standard_True);
Handle( MeshVS_MeshPrsBuilder ) aPrsBuilder = new MeshVS_MeshPrsBuilder(aMeshVS, MeshVS_DMF_OCCMask, aDS, 0, MeshVS_BP_Mesh);
aMeshVS->SetDataSource( aDS );
aMeshVS->AddBuilder( aPrsBuilder, Standard_True );
//aMeshVS->GetDrawer()->SetMaterial( MeshVS_DA_FrontMaterial, Graphic3d_MaterialAspect(Graphic3d_NOM_GOLD) );
aMeshVS->SetDisplayMode(MeshVS_DMF_Shrink);
Handle( AIS_InteractiveContext ) aContext = GetAISContext();
aContext->Display( aMeshVS );
aContext->Deactivate( aMeshVS );

But the compiler throws an error:

1>m:\±¸·Ý\20101025\di_ams_c20100604\di_ams_c\di_ams_c\di_ams_cdoc.cpp(920) : error C2259: 'SMESH_MeshVSLink' : cannot instantiate abstract class
1> due to following members:
1> 'Handle_TColStd_HArray1OfInteger MeshVS_DataSource::GetNodesByElement(const Standard_Integer) const' : is abstract
1> c:\opencascade6.2.0\ros\inc\meshvs_datasource.hxx(112) : see declaration of 'MeshVS_DataSource::GetNodesByElement'

Has anybody an idea???
thanks

fatmice's picture

i use OCC6.2.0

fatmice's picture

hello!
I have solved the problem.
But I want to select the element of mesh,how to do?
thank you very much!

SAMYAK JAIN's picture

Can anyone please help me to compile SMESH with NETGEN plugin in windows using Visual Studio 2010 or 2008 for pythonOCC. I have been trying to do it for a long time. Could someone please guide me step by step which version to download and how to compile SMESH so that I can use it with pythonOCC.

Thanks a lot.

Samyak