Salome HOME
Merge from master to omu/insitu.
[modules/paravis.git] / src / Insitu / VisualizationComponent / VisualizationComponent.hxx
1
2 #ifndef _VisualizationComponent_HXX_
3 #define _VisualizationComponent_HXX_
4
5 #include <SALOME_Component.hh>
6 #include "Superv_Component_i.hxx"
7 #include "PARAVIS.hh"
8 #include "MPIObject_i.hxx"
9
10 //COMPODEFS
11
12
13 void * th_Visualize(void * s);
14 typedef struct {
15   int ip; // mpi process id
16   Engines::IORTab* tior;
17   SALOME_MED::ParaMEDCouplingFieldDoubleCorbaInterface_ptr field;
18 const char* path_python_file;
19 } thread_Visualize_struct;
20
21
22 //ENDDEF
23
24 class VisualizationComponent_i: public virtual POA_PARAVIS_ORB::VisualizationComponent,
25                       
26                       public virtual MPIObject_i,
27                       public virtual Engines_Component_i
28 {
29   public:
30     VisualizationComponent_i(CORBA::ORB_ptr orb, PortableServer::POA_ptr poa,
31               PortableServer::ObjectId * contId,
32               const char *instanceName, const char *interfaceName,
33               bool regist = true);
34     VisualizationComponent_i(CORBA::ORB_ptr orb, PortableServer::POA_ptr poa,
35               Engines::Container_ptr container,
36               const char *instanceName, const char *interfaceName,
37               bool regist = true);
38     virtual ~VisualizationComponent_i();
39     void Visualize(SALOME_MED::ParaMEDCouplingFieldDoubleCorbaInterface_ptr field,const char* path_python_file);
40 };
41
42 extern "C"
43 {
44     PortableServer::ObjectId * VisualizationComponentEngine_factory( CORBA::ORB_ptr orb,
45                                                       PortableServer::POA_ptr poa,
46                                                       PortableServer::ObjectId * contId,
47                                                       const char *instanceName,
48                                                       const char *interfaceName);
49 }
50 #endif
51