X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FENGINE%2FVISU_Engine_i.cc;h=37ee82ea948543471662af58776463b6fb48db73;hb=4dc537e3c7f71f5b33e976979ada50f9543ff7ea;hp=ad4e921ad3a7f230012dc82a9c6c9b127b68d771;hpb=beb81786a547c52957609d458e6649a58139f361;p=modules%2Fvisu.git diff --git a/src/ENGINE/VISU_Engine_i.cc b/src/ENGINE/VISU_Engine_i.cc index ad4e921a..37ee82ea 100644 --- a/src/ENGINE/VISU_Engine_i.cc +++ b/src/ENGINE/VISU_Engine_i.cc @@ -1,26 +1,27 @@ -// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE +// +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com #include "VISU_Engine_i.hh" #include "utilities.h" -#include CORBA_SERVER_HEADER(SALOME_Session) #include CORBA_SERVER_HEADER(SALOME_ModuleCatalog) #include "SALOME_NamingService.hxx" @@ -34,37 +35,56 @@ static int MYDEBUG = 1; static int MYDEBUG = 0; #endif +#ifdef WNT +#if defined VISU_ENGINE_EXPORTS || defined VISUEngine_EXPORTS +#define VISU_ENGINE_EXPORT __declspec(dllexport) +#else +#define VISU_ENGINE_EXPORT __declspec(dllimport) +#endif +#else +#define VISU_ENGINE_EXPORT +#endif + UNEXPECT_CATCH(SalomeException, SALOME::SALOME_Exception); extern "C" { - PortableServer::ObjectId * +VISU_ENGINE_EXPORT + PortableServer::ObjectId * VISUEngine_factory(CORBA::ORB_ptr orb, PortableServer::POA_ptr poa, PortableServer::ObjectId * contId, - const char *instanceName, const char *interfaceName) + const char *instanceName, const char *interfaceName) { - if(MYDEBUG) MESSAGE("VisuEngine_factory : "<getId() ; } } namespace VISU{ //=========================================================================== - VISU_Gen_i::VISU_Gen_i(CORBA::ORB_ptr orb, - PortableServer::POA_ptr poa, - PortableServer::ObjectId * contId, - const char *instanceName, - const char *interfaceName) : + VISU_Gen_i::VISU_Gen_i(SALOME::Session_ptr session, + CORBA::ORB_ptr orb, + PortableServer::POA_ptr poa, + PortableServer::ObjectId * contId, + const char *instanceName, + const char *interfaceName) : Engines_Component_i(orb, poa, contId, instanceName, interfaceName) { _thisObj = this ; _id = _poa->activate_object(_thisObj); - SALOME_NamingService aNamingService(orb); - CORBA::Object_ptr anObject = aNamingService.Resolve("/Kernel/Session"); - SALOME::Session_var aSession = SALOME::Session::_narrow(anObject); - //aSession->GetInterface(); - Engines::Component_var aComponent = aSession->GetComponent("libVISUEngineImpl.so"); +#ifndef WIN32 + Engines::EngineComponent_var aComponent = session->GetComponent("libVISUEngineImpl.so"); +#else + Engines::EngineComponent_var aComponent = session->GetComponent("VISUEngineImpl.dll"); +#endif myVisuGen = VISU::VISU_Gen::_narrow(aComponent); - } + } VISU_Gen_i::~VISU_Gen_i(){ if(MYDEBUG) MESSAGE("VISU_Gen_i::~VISU_Gen_i"); @@ -76,25 +96,25 @@ namespace VISU{ //=========================================================================== bool VISU_Gen_i::Load(SALOMEDS::SComponent_ptr theComponent, - const SALOMEDS::TMPFile & theStream, - const char* theURL, - bool isMultiFile) + const SALOMEDS::TMPFile & theStream, + const char* theURL, + bool isMultiFile) { return myVisuGen->Load(theComponent,theStream,theURL,isMultiFile); } bool VISU_Gen_i::LoadASCII(SALOMEDS::SComponent_ptr theComponent, - const SALOMEDS::TMPFile & theStream, - const char* theURL, - bool isMultiFile) + const SALOMEDS::TMPFile & theStream, + const char* theURL, + bool isMultiFile) { return Load(theComponent, theStream, theURL, isMultiFile); } char* VISU_Gen_i::LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject, - const char* aLocalPersistentID, - CORBA::Boolean isMultiFile, - CORBA::Boolean isASCII) + const char* aLocalPersistentID, + CORBA::Boolean isMultiFile, + CORBA::Boolean isASCII) { return myVisuGen->LocalPersistentIDToIOR(theSObject, aLocalPersistentID, isMultiFile, isASCII); } @@ -102,24 +122,24 @@ namespace VISU{ //=========================================================================== SALOMEDS::TMPFile* VISU_Gen_i::Save(SALOMEDS::SComponent_ptr theComponent, - const char* theURL, - bool isMultiFile) + const char* theURL, + bool isMultiFile) { return myVisuGen->Save(theComponent,theURL,isMultiFile); } SALOMEDS::TMPFile* VISU_Gen_i::SaveASCII(SALOMEDS::SComponent_ptr theComponent, - const char* theURL, - bool isMultiFile) + const char* theURL, + bool isMultiFile) { return myVisuGen->Save(theComponent,theURL,isMultiFile); } char* VISU_Gen_i::IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject, - const char* IORString, - CORBA::Boolean isMultiFile, - CORBA::Boolean isASCII) + const char* IORString, + CORBA::Boolean isMultiFile, + CORBA::Boolean isASCII) { return myVisuGen->IORToLocalPersistentID(theSObject, IORString, isMultiFile, isASCII); } @@ -145,13 +165,15 @@ namespace VISU{ } - SALOMEDS::SObject_ptr VISU_Gen_i::ImportTables(const char* theFileName){ - return myVisuGen->ImportTables(theFileName); + SALOMEDS::SObject_ptr VISU_Gen_i::ImportTables(const char* theFileName, + bool theFirstStrAsTitle) + { + return myVisuGen->ImportTables(theFileName,theFirstStrAsTitle); } CORBA::Boolean VISU_Gen_i::ExportTableToFile(SALOMEDS::SObject_ptr theTable, - const char* theFileName) + const char* theFileName) { return myVisuGen->ExportTableToFile(theTable, theFileName); } @@ -162,6 +184,11 @@ namespace VISU{ } + Result_ptr VISU_Gen_i::CreateResult(const char* theFileName){ + return myVisuGen->CreateResult(theFileName); + } + + Result_ptr VISU_Gen_i::CopyAndImportFile(const char* theFileName){ return myVisuGen->CopyAndImportFile(theFileName); } @@ -177,112 +204,216 @@ namespace VISU{ } - Mesh_ptr VISU_Gen_i::MeshOnEntity(Result_ptr theResult, - const char* theMeshName, - VISU::Entity theEntity) + Mesh_ptr VISU_Gen_i::MeshOnEntity(Result_ptr theResult, + const char* theMeshName, + VISU::Entity theEntity) { return myVisuGen->MeshOnEntity(theResult,theMeshName,theEntity); } - - Mesh_ptr VISU_Gen_i::FamilyMeshOnEntity(Result_ptr theResult, - const char* theMeshName, - VISU::Entity theEntity, - const char* theFamilyName) + Mesh_ptr VISU_Gen_i::FamilyMeshOnEntity(Result_ptr theResult, + const char* theMeshName, + VISU::Entity theEntity, + const char* theFamilyName) { return myVisuGen->FamilyMeshOnEntity(theResult,theMeshName,theEntity,theFamilyName); } - - Mesh_ptr VISU_Gen_i::GroupMesh(Result_ptr theResult, - const char* theMeshName, - const char* theGroupName) + Mesh_ptr VISU_Gen_i::GroupMesh(Result_ptr theResult, + const char* theMeshName, + const char* theGroupName) { return myVisuGen->GroupMesh(theResult,theMeshName,theGroupName); } - ScalarMap_ptr VISU_Gen_i::ScalarMapOnField(Result_ptr theResult, - const char* theMeshName, - VISU::Entity theEntity, - const char* theFieldName, - CORBA::Double theIteration) + void VISU_Gen_i::RenameEntityInStudy(Result_ptr theResult, const char* theMeshName, + VISU::Entity theEntity, const char* theNewName) + { + myVisuGen->RenameEntityInStudy(theResult,theMeshName,theEntity,theNewName); + } + + void VISU_Gen_i::RenameFamilyInStudy(Result_ptr theResult, const char* theMeshName, + VISU::Entity theEntity, const char* theFamilyName, + const char* theNewName) + { + myVisuGen->RenameFamilyInStudy(theResult,theMeshName,theEntity,theFamilyName,theNewName); + } + + void VISU_Gen_i::RenameGroupInStudy(Result_ptr theResult, const char* theMeshName, + const char* theGroupName, const char* theNewName) + { + myVisuGen->RenameGroupInStudy(theResult,theMeshName,theGroupName,theNewName); + } + + + ScalarMap_ptr + VISU_Gen_i + ::ScalarMapOnField(Result_ptr theResult, + const char* theMeshName, + VISU::Entity theEntity, + const char* theFieldName, + CORBA::Long theIteration) { return myVisuGen->ScalarMapOnField(theResult,theMeshName,theEntity,theFieldName,theIteration); } - DeformedShape_ptr VISU_Gen_i::DeformedShapeOnField(Result_ptr theResult, - const char* theMeshName, - VISU::Entity theEntity, - const char* theFieldName, - CORBA::Double theIteration) + GaussPoints_ptr + VISU_Gen_i + ::GaussPointsOnField(Result_ptr theResult, + const char* theMeshName, + VISU::Entity theEntity, + const char* theFieldName, + CORBA::Long theIteration) + { + return myVisuGen->GaussPointsOnField(theResult,theMeshName,theEntity,theFieldName,theIteration); + } + + + DeformedShape_ptr + VISU_Gen_i + ::DeformedShapeOnField(Result_ptr theResult, + const char* theMeshName, + VISU::Entity theEntity, + const char* theFieldName, + CORBA::Long theIteration) { return myVisuGen->DeformedShapeOnField(theResult,theMeshName,theEntity,theFieldName,theIteration); } + DeformedShapeAndScalarMap_ptr + VISU_Gen_i + ::ScalarMapOnDeformedShapeOnField(Result_ptr theResult, + const char* theMeshName, + VISU::Entity theEntity, + const char* theFieldName, + CORBA::Long theIteration) + { + return DeformedShapeAndScalarMapOnField(theResult,theMeshName,theEntity,theFieldName,theIteration); + } + + DeformedShapeAndScalarMap_ptr + VISU_Gen_i + ::DeformedShapeAndScalarMapOnField(Result_ptr theResult, + const char* theMeshName, + VISU::Entity theEntity, + const char* theFieldName, + CORBA::Long theIteration) + { + return myVisuGen->DeformedShapeAndScalarMapOnField(theResult,theMeshName,theEntity,theFieldName,theIteration); + } - Vectors_ptr VISU_Gen_i::VectorsOnField(Result_ptr theResult, - const char* theMeshName, - VISU::Entity theEntity, - const char* theFieldName, - CORBA::Double theIteration) + Vectors_ptr + VISU_Gen_i + ::VectorsOnField(Result_ptr theResult, + const char* theMeshName, + VISU::Entity theEntity, + const char* theFieldName, + CORBA::Long theIteration) { return myVisuGen->VectorsOnField(theResult,theMeshName,theEntity,theFieldName,theIteration); } - IsoSurfaces_ptr VISU_Gen_i::IsoSurfacesOnField(Result_ptr theResult, - const char* theMeshName, - VISU::Entity theEntity, - const char* theFieldName, - CORBA::Double theIteration) + IsoSurfaces_ptr + VISU_Gen_i + ::IsoSurfacesOnField(Result_ptr theResult, + const char* theMeshName, + VISU::Entity theEntity, + const char* theFieldName, + CORBA::Long theIteration) { return myVisuGen->IsoSurfacesOnField(theResult,theMeshName,theEntity,theFieldName,theIteration); } - StreamLines_ptr VISU_Gen_i::StreamLinesOnField(Result_ptr theResult, - const char* theMeshName, - VISU::Entity theEntity, - const char* theFieldName, - CORBA::Double theIteration) + StreamLines_ptr + VISU_Gen_i + ::StreamLinesOnField(Result_ptr theResult, + const char* theMeshName, + VISU::Entity theEntity, + const char* theFieldName, + CORBA::Long theIteration) { return myVisuGen->StreamLinesOnField(theResult,theMeshName,theEntity,theFieldName,theIteration); } - CutPlanes_ptr VISU_Gen_i::CutPlanesOnField(Result_ptr theResult, - const char* theMeshName, - VISU::Entity theEntity, - const char* theFieldName, - CORBA::Double theIteration) + CutPlanes_ptr + VISU_Gen_i + ::CutPlanesOnField(Result_ptr theResult, + const char* theMeshName, + VISU::Entity theEntity, + const char* theFieldName, + CORBA::Long theIteration) { return myVisuGen->CutPlanesOnField(theResult,theMeshName,theEntity,theFieldName,theIteration); } - CutLines_ptr VISU_Gen_i::CutLinesOnField(Result_ptr theResult, - const char* theMeshName, - VISU::Entity theEntity, - const char* theFieldName, - CORBA::Double theIteration) + CutLines_ptr + VISU_Gen_i + ::CutLinesOnField(Result_ptr theResult, + const char* theMeshName, + VISU::Entity theEntity, + const char* theFieldName, + CORBA::Long theIteration) { return myVisuGen->CutLinesOnField(theResult,theMeshName,theEntity,theFieldName,theIteration); } + CutSegment_ptr + VISU_Gen_i + ::CutSegmentOnField(Result_ptr theResult, + const char* theMeshName, + VISU::Entity theEntity, + const char* theFieldName, + CORBA::Long theIteration) + { + return myVisuGen->CutSegmentOnField(theResult,theMeshName,theEntity,theFieldName,theIteration); + } + + + Plot3D_ptr + VISU_Gen_i + ::Plot3DOnField(Result_ptr theResult, + const char* theMeshName, + VISU::Entity theEntity, + const char* theFieldName, + CORBA::Long theIteration) + { + return myVisuGen->Plot3DOnField(theResult,theMeshName,theEntity,theFieldName,theIteration); + } + Table_ptr VISU_Gen_i::CreateTable(const char* theTableEntry){ return myVisuGen->CreateTable(theTableEntry); } - Curve_ptr VISU_Gen_i::CreateCurve(Table_ptr theTable, - CORBA::Long theHRow, - CORBA::Long theVRow) + Curve_ptr VISU_Gen_i::CreateCurve(Table_ptr theTable, + CORBA::Long theHRow, + CORBA::Long theVRow) { return myVisuGen->CreateCurve(theTable,theHRow,theVRow); } + Curve_ptr VISU_Gen_i::CreateCurveWithZ(Table_ptr theTable, + CORBA::Long theHRow, + CORBA::Long theVRow, + CORBA::Long theZRow) + { + return myVisuGen->CreateCurveWithZ(theTable,theHRow,theVRow,theZRow); + } + + Curve_ptr VISU_Gen_i::CreateCurveWithZExt(Table_ptr theTable, + CORBA::Long theHRow, + CORBA::Long theVRow, + CORBA::Long theZRow, + CORBA::Boolean theIsV2) + { + return myVisuGen->CreateCurveWithZExt(theTable,theHRow,theVRow,theZRow,theIsV2); + } Container_ptr VISU_Gen_i::CreateContainer(){ return myVisuGen->CreateContainer(); @@ -294,6 +425,11 @@ namespace VISU{ } + Evolution_ptr VISU_Gen_i::CreateEvolution(XYPlot_ptr theXYPlot){ + return myVisuGen->CreateEvolution(theXYPlot); + } + + void VISU_Gen_i::DeleteResult(Result_ptr theResult){ myVisuGen->DeleteResult(theResult); } @@ -320,41 +456,107 @@ namespace VISU{ SALOMEDS::SObject_ptr VISU_Gen_i::PublishInStudy(SALOMEDS::Study_ptr theStudy, - SALOMEDS::SObject_ptr theSObject, - CORBA::Object_ptr theObject, - const char* theName) - throw (SALOME::SALOME_Exception) + SALOMEDS::SObject_ptr theSObject, + CORBA::Object_ptr theObject, + const char* theName) + throw (SALOME::SALOME_Exception) { return myVisuGen->PublishInStudy(theStudy, theSObject, theObject, theName); } - + CORBA::Boolean VISU_Gen_i::CanCopy(SALOMEDS::SObject_ptr theObject) { return myVisuGen->CanCopy(theObject); } - + SALOMEDS::TMPFile* VISU_Gen_i::CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID) { return myVisuGen->CopyFrom(theObject, theObjectID); } - + CORBA::Boolean VISU_Gen_i::CanPaste(const char* theComponentName, CORBA::Long theObjectID) { return myVisuGen->CanPaste(theComponentName, theObjectID); } - + SALOMEDS::SObject_ptr VISU_Gen_i::PasteInto(const SALOMEDS::TMPFile& theStream, - CORBA::Long theObjectID, - SALOMEDS::SObject_ptr theObject) + CORBA::Long theObjectID, + SALOMEDS::SObject_ptr theObject) { return myVisuGen->PasteInto(theStream,theObjectID,theObject); } Engines::TMPFile* VISU_Gen_i::DumpPython(CORBA::Object_ptr theStudy, CORBA::Boolean theIsPublished, - CORBA::Boolean& theIsValidScript) + CORBA::Boolean& theIsValidScript) { return myVisuGen->DumpPython(theStudy, theIsPublished, theIsValidScript); - } + } + + VISU::ColoredPrs3dCache_ptr + VISU_Gen_i:: + GetColoredPrs3dCache(SALOMEDS::Study_ptr theStudy) + { + return myVisuGen->GetColoredPrs3dCache(theStudy); + } + + + CORBA::Long VISU_Gen_i::CreateClippingPlane(CORBA::Double X,CORBA::Double Y, CORBA::Double Z, + CORBA::Double dX, CORBA::Double dY, CORBA::Double dZ, + CORBA::Boolean isAuto, const char* name) + { + return myVisuGen->CreateClippingPlane(X, Y, Z, dX, dY, dZ, isAuto, name); + } + + + void VISU_Gen_i::EditClippingPlane(CORBA::Long id, CORBA::Double X,CORBA::Double Y, CORBA::Double Z, + CORBA::Double dX, CORBA::Double dY, CORBA::Double dZ, + CORBA::Boolean isAuto, const char* name) + { + myVisuGen->EditClippingPlane(id, X, Y, Z, dX, dY, dZ, isAuto, name); + } + + /* Returns clipping plane by its Id */ + VISU::ClippingPlane* VISU_Gen_i::GetClippingPlane(CORBA::Long id) + { + return myVisuGen->GetClippingPlane(id); + } + + /* Deletes clipping plane by its Id */ + CORBA::Boolean VISU_Gen_i::DeleteClippingPlane(CORBA::Long id) + { + return myVisuGen->DeleteClippingPlane(id); + } + + /* Applyes a clipping plane with Id to presentation thePrs */ + CORBA::Boolean VISU_Gen_i::ApplyClippingPlane(Prs3d_ptr thePrs, CORBA::Long id) + { + return myVisuGen->ApplyClippingPlane(thePrs, id); + } + + CORBA::Boolean VISU_Gen_i::DetachClippingPlane(Prs3d_ptr thePrs, CORBA::Long id) + { + return myVisuGen->DetachClippingPlane(thePrs, id); + } + + /* Get number of clipping planes */ + CORBA::Long VISU_Gen_i::GetClippingPlanesNb() + { + return myVisuGen->GetClippingPlanesNb(); + } + + CORBA::Boolean VISU_Gen_i::VTK2MED( const VISU::string_array& theVTKFiles, + const char* theMEDFile, + const char* theMeshName, + const VISU::double_array& theTStamps ) + { + return myVisuGen->VTK2MED(theVTKFiles, theMEDFile, theMeshName, theTStamps); + } + + /* Load texture from file */ + CORBA::Long VISU_Gen_i::LoadTexture(const char* theTextureFile) + { + return myVisuGen->LoadTexture(theTextureFile); + } };