
Wed, 11/24/2010 - 13:18
Forums:
Hello,
I want to include the SMESH_MeshVSLink into my Visual Studio Project.
#include
But the 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 did nothing with the class SMESH_MeshVSLink. I just want to import.
I cant find the failure. Has anybody an idea???
Thanks.
Wed, 11/24/2010 - 15:12
Hi,
have you linked "TKMeshVS.lib" to your project?
Greets,
Patrik
Wed, 11/24/2010 - 17:21
Hi Patrik,
thank you for answering so quickly.
I was hoping that this was the fault, but unfortunately not :-( I have linked the folder (c:\opencascade6.3.0\ros\win32\lib) where the file "TKMeshVS.lib" is.
Greets, Alex
Wed, 11/24/2010 - 17:38
Hi Braunstein,
This is clearly a linking problem with TKMeshVS.lib -
Make sure that the library is linked, and also make sure that you have added the library in the right configuration , or mode in your IDE.
Fotis
Thu, 11/25/2010 - 12:40
Indeed it was a linking problem. I only linked the folder where the TKMeshVS.lib file is stored, but i had to link the file explicitly. Anyway now it works, but i have another problem. I want to display a mesh in OCC and use 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 );
//
My compiler throws an error by compiling:
Handle( AIS_InteractiveContext ) aContext = GetAISContext();
The error message is: GetAISContext()->Identifier was not found.
Has anybody an idea?
Thanks!
Greets,Alex
Thu, 11/25/2010 - 13:01
Braunstein,
You must replace GetAISContext() with your own Handle( AIS_InteractiveContext ) provider. I think you must first understand basics of OCC usage through the given samples and documentation, then create a skeleton application, and afterwards proceed with testing smesh.
Fotis
PS: it is always good to avoid double posting :)
Thu, 11/25/2010 - 17:44
You are right ;) Can you recommend me a sample or tutorial where i can learn how to create a skeleton for displaying an object in OCC?
Thanks.
PS: I will avoid double posting :)
Thu, 11/25/2010 - 19:08
Under folder /samples/standard/qt and or /samples/standard/mfc (check mfcsample plus the subfolder you are interested in ) you can find all you may need.Take your time and investigate the sources.
Good luck
Fotis