1 // File : VISU_GEN_i.h file
3 // Author : Alexey Petrov
5 // Copyright : OPEN CASCADE
9 #ifndef __VISU_GEN_I_H__
10 #define __VISU_GEN_I_H__
12 #include "VISUConfig.hh"
14 #include "SALOME_Component_i.hxx"
15 #include "SALOME_NamingService.hxx"
18 class VISU_Gen_i : public virtual POA_VISU::VISU_Gen,
19 public virtual ::Engines_Component_i,
22 VISU_Gen_var myVisuGen;
23 SALOMEDS::Study_var myStudyDocument;
25 VISU_Gen_i(const VISU::VISU_Gen_i &);
27 VISU_Gen_i(CORBA::ORB_ptr theORB, PortableServer::POA_ptr thePOA, QMutex* theMutex);
28 VISU_Gen_i(CORBA::ORB_ptr orb,
29 PortableServer::POA_ptr poa,
30 PortableServer::ObjectId * contId,
31 const char *instanceName,
32 const char *interfaceName);
33 virtual ~VISU_Gen_i();
34 virtual VISU::VISUType GetType() { return VISU::TVISUGEN;};
36 virtual void SetCurrentStudy(SALOMEDS::Study_ptr theStudy);
37 virtual SALOMEDS::Study_ptr GetCurrentStudy();
38 virtual ViewManager_ptr GetViewManager();
40 virtual SALOMEDS::SObject_ptr ImportTables(const char* theFileName);
43 virtual Result_ptr ImportFile(const char* theFileName);
44 virtual Result_ptr ImportMed(SALOME_MED::FIELD_ptr theField);
45 virtual Result_ptr ImportMedMesh(SALOME_MED::MESH_ptr theMesh);
46 virtual Result_ptr ImportMedSupport(SALOME_MED::SUPPORT_ptr theSupport);
48 //Create Presentation Of Submeshes
49 virtual Mesh_ptr MeshOnEntity(Result_ptr theResult, const char* theMeshName, VISU::Entity theEntity);
50 virtual Mesh_ptr FamilyMeshOnEntity(Result_ptr theResult, const char* theMeshName,
51 VISU::Entity theEntity, const char* theFamilyName);
52 virtual Mesh_ptr GroupMesh(Result_ptr theResult, const char* theMeshName, const char* theGroupName);
54 //Create 3D collored Presentation Of Different Types
55 virtual ScalarMap_ptr ScalarMapOnField(Result_ptr theResult, const char* theMeshName, VISU::Entity theEntity,
56 const char* theFieldName, CORBA::Double theIteration);
57 virtual DeformedShape_ptr DeformedShapeOnField(Result_ptr theResult, const char* theMeshName, VISU::Entity theEntity,
58 const char* theFieldName, CORBA::Double theIteration);
59 virtual Vectors_ptr VectorsOnField(Result_ptr theResult, const char* theMeshName, VISU::Entity theEntity,
60 const char* theFieldName, CORBA::Double theIteration);
61 virtual IsoSurfaces_ptr IsoSurfacesOnField(Result_ptr theResult, const char* theMeshName, VISU::Entity theEntity,
62 const char* theFieldName, CORBA::Double theIteration);
63 virtual CutPlanes_ptr CutPlanesOnField(Result_ptr theResult, const char* theMeshName, VISU::Entity theEntity,
64 const char* theFieldName, CORBA::Double theIteration);
65 virtual StreamLines_ptr StreamLinesOnField(Result_ptr theResult, const char* theMeshName, VISU::Entity theEntity,
66 const char* theFieldName, CORBA::Double theIteration);
67 //Create Digital Presentation
68 virtual Table_ptr CreateTable(const char* theTableEntry);
69 virtual Curve_ptr CreateCurve(Table_ptr theTable, CORBA::Long theHRow, CORBA::Long theVRow);
70 virtual Container_ptr CreateContainer();
72 // inherited methods from SALOMEDS::Driver
73 virtual SALOMEDS::TMPFile* Save(SALOMEDS::SComponent_ptr theComponent,
76 virtual bool Load(SALOMEDS::SComponent_ptr,
77 const SALOMEDS::TMPFile &,
81 virtual void Close(SALOMEDS::SComponent_ptr IORSComponent);
83 virtual char* ComponentDataType();
85 virtual char* IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
86 const char* IORString,
87 CORBA::Boolean isMultiFile);
88 virtual char* LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
89 const char* aLocalPersistentID,
90 CORBA::Boolean isMultiFile);
92 virtual bool CanPublishInStudy(CORBA::Object_ptr theIOR);
93 virtual SALOMEDS::SObject_ptr PublishInStudy(SALOMEDS::Study_ptr theStudy,
94 SALOMEDS::SObject_ptr theSObject,
95 CORBA::Object_ptr theObject,
96 const char* theName) throw (SALOME::SALOME_Exception);
98 CORBA::Boolean CanCopy(SALOMEDS::SObject_ptr theObject);
99 SALOMEDS::TMPFile* CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID);
100 CORBA::Boolean CanPaste(const char* theComponentName, CORBA::Long theObjectID);
101 SALOMEDS::SObject_ptr PasteInto(const SALOMEDS::TMPFile& theStream,
102 CORBA::Long theObjectID,
103 SALOMEDS::SObject_ptr theObject);