]> SALOME platform Git repositories - modules/visu.git/blob - src/VISU_I/VISU_Gen_i.hh
Salome HOME
NRI : Remove dependence with KERNEL.
[modules/visu.git] / src / VISU_I / VISU_Gen_i.hh
1 // File :      VISU_GEN_i.h file
2 // Created :   
3 // Author :    Alexey Petrov
4 // Project :   SALOME
5 // Copyright : OPEN CASCADE
6 // $Header: 
7
8
9 #ifndef __VISU_GEN_I_H__
10 #define __VISU_GEN_I_H__
11
12 #include "VISUConfig.hh"
13
14 #include "SALOME_Component_i.hxx"
15 #include "SALOME_NamingService.hxx"
16
17 namespace VISU{
18   class VISU_Gen_i : public virtual POA_VISU::VISU_Gen,
19                      public virtual ::Engines_Component_i,
20                      public virtual Base_i
21   {
22     VISU_Gen_var myVisuGen;
23     SALOMEDS::Study_var myStudyDocument;
24     VISU_Gen_i();
25     VISU_Gen_i(const VISU::VISU_Gen_i &);
26   public:
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;};
35
36     virtual void SetCurrentStudy(SALOMEDS::Study_ptr theStudy);
37     virtual SALOMEDS::Study_ptr GetCurrentStudy();
38     virtual ViewManager_ptr GetViewManager();
39
40     virtual SALOMEDS::SObject_ptr ImportTables(const char* theFileName);
41
42     //Create Result
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);
47
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);
53
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();
71     
72     // inherited methods from SALOMEDS::Driver
73     virtual SALOMEDS::TMPFile* Save(SALOMEDS::SComponent_ptr theComponent,
74                                     const char* theURL,
75                                     bool isMultiFile);
76     virtual bool Load(SALOMEDS::SComponent_ptr,
77                       const SALOMEDS::TMPFile &,
78                       const char* theURL,
79                       bool isMultiFile);
80
81     virtual void Close(SALOMEDS::SComponent_ptr IORSComponent); 
82
83     virtual char* ComponentDataType();
84
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);
91     
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);
97
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);
104   };
105 }
106 #endif