Back to index

salome-paravis  6.5.0
vtkParaMEDCorbaSource.h
Go to the documentation of this file.
00001 // Copyright (C) 2010-2012  CEA/DEN, EDF R&D
00002 //
00003 // This library is free software; you can redistribute it and/or
00004 // modify it under the terms of the GNU Lesser General Public
00005 // License as published by the Free Software Foundation; either
00006 // version 2.1 of the License.
00007 //
00008 // This library is distributed in the hope that it will be useful,
00009 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011 // Lesser General Public License for more details.
00012 //
00013 // You should have received a copy of the GNU Lesser General Public
00014 // License along with this library; if not, write to the Free Software
00015 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00016 //
00017 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00018 //
00019 
00020 
00021 #ifndef __vtkParaMEDCorbaSource_h
00022 #define __vtkParaMEDCorbaSource_h
00023 
00024 #include "ParaMEDMEM2VTK_defines.hxx"
00025 #include "vtkUnstructuredGridAlgorithm.h"
00026 #include <vtkstd/vector>
00027 
00028 class vtkDoubleArray;
00029 class vtkUnstructuredGrid;
00030 
00031 namespace ParaMEDMEM2VTK
00032 {
00033   class MEDCouplingMultiFieldsFetcher;
00034 }
00035 
00036 class vtkParaMEDCorbaSource : public vtkAlgorithm //
00037 {
00038 public:
00039   vtkTypeRevisionMacro(vtkParaMEDCorbaSource, vtkAlgorithm);
00040   ParaMEDMEM2VTK_EXPORT static vtkParaMEDCorbaSource* New();
00041   virtual void PrintSelf( ostream& os, vtkIndent indent );
00042   const char *GetIORCorba();
00043   void SetIORCorba(char *ior);
00044   void SetBufferingPolicy(int pol);
00045   int GetBufferingPolicy();
00046 protected:
00047   vtkParaMEDCorbaSource();
00048   virtual ~vtkParaMEDCorbaSource();
00049   int FillOutputPortInformation(int vtkNotUsed(port), vtkInformation* info);
00050   int ProcessRequest(vtkInformation* request, vtkInformationVector** inputVector, vtkInformationVector* outputVector);
00051   //virtual int RequestUpdateExtent( vtkInformation* request, vtkInformationVector** inInfo, vtkInformationVector* outInfo );
00052   virtual int RequestInformation( vtkInformation* request, vtkInformationVector** inInfo, vtkInformationVector* outInfo );
00053   virtual int RequestData( vtkInformation* request, vtkInformationVector** inInfo, vtkInformationVector* outInfo );
00054   //BTX
00055   int TotalNumberOfPieces;
00056   int NumberOfPieces;
00057   int UpdatePiece;
00058   int GhostLevel;
00059   int StartPiece;
00060   int EndPiece;
00061   int BufferingPolicy;
00062   vtkUnstructuredGrid *MyDataSet;
00063   vtkstd::vector<char> IOR;
00064   ParaMEDMEM2VTK::MEDCouplingMultiFieldsFetcher *mfieldsFetcher;
00065   //not clean but to avoid to include CORBA.h in this *.h
00066   static void *Orb;
00067   //ETX
00068  private:
00069   /*void traduceMedMeshToUnstructuredDataset(vtkUnstructuredGrid *ret, int nbOfCells, int nbOfNodes, 
00070                                       int nbOfTypes, const int *types, const int *nbOfEltsPerTypes, const int *nodalConnectivity,
00071                                       const double *coords, int spaceDim);
00072   vtkDoubleArray *buildDataArrayFromMedCoords(const double *coords, int nbOfNodes, int spaceDim);
00073   void reorganizeCellConnectivity(int vtkType, int nbOfNodes, const int *medConn, int *vtkConn);
00074   int transformMedGeomEltType2VtkType(int typeMed, int *nbOfNodesPerCell);*/
00075   //
00076   vtkParaMEDCorbaSource( const vtkParaMEDCorbaSource& ); // Not implemented.
00077   void operator = ( const vtkParaMEDCorbaSource& ); // Not implemented.
00078 };
00079 
00080 #endif // __vtkParaMEDCorbaSource_h
00081