Back to index

salome-paravis  6.5.0
vtkMedFieldOnProfile.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 #ifndef __vtkMedFieldOnProfile_h_
00021 #define __vtkMedFieldOnProfile_h_
00022 
00023 #include "vtkObject.h"
00024 #include "vtkMedSetGet.h"
00025 #include "vtkMed.h"
00026 #include"vtkMedFilter.h"
00027 
00028 class vtkMedFieldOverEntity;
00029 class vtkMedString;
00030 class vtkDataArray;
00031 class vtkMedProfile;
00032 
00033 class VTK_EXPORT vtkMedFieldOnProfile: public vtkObject
00034 {
00035 public:
00036   static vtkMedFieldOnProfile* New();
00037   vtkTypeRevisionMacro(vtkMedFieldOnProfile, vtkObject);
00038   void PrintSelf(ostream& os, vtkIndent indent);
00039 
00040   // Description:
00041   // This is the iterator that is used while reading fromt he med file
00042   vtkSetMacro(MedIterator, med_int);
00043   vtkGetMacro(MedIterator, med_int);
00044 
00045   // Description:
00046   // This is the FieldOverEntity this profile is on
00047   virtual void  SetParentFieldOverEntity(vtkMedFieldOverEntity*);
00048   vtkGetObjectMacro(ParentFieldOverEntity, vtkMedFieldOverEntity);
00049 
00050   // Description:
00051   // This is the name of the profile used by this field.
00052   vtkGetStringMacro(ProfileName);
00053   vtkSetStringMacro(ProfileName);
00054 
00055   // Description:
00056   // This is the name of the localization used by this field on this profile.
00057   vtkGetStringMacro(LocalizationName);
00058   vtkSetStringMacro(LocalizationName);
00059 
00060   // Description:
00061   // This stores the size of the profile.
00062   vtkSetMacro(ProfileSize, med_int);
00063   vtkGetMacro(ProfileSize, med_int);
00064 
00065   // Description:
00066   // This stores the number of integration points for this localization.
00067   vtkSetMacro(NumberOfIntegrationPoint, med_int);
00068   vtkGetMacro(NumberOfIntegrationPoint, med_int);
00069 
00070   // Description:
00071   // The number of values of this field on this mesh
00072   vtkSetMacro(NumberOfValues, med_int);
00073   vtkGetMacro(NumberOfValues, med_int);
00074 
00075   // Description:
00076   // the Data that store the values read from file
00077   virtual void  SetData(vtkDataArray*);
00078   vtkGetObjectMacro(Data, vtkDataArray);
00079 
00080   // Description:
00081   // the Profile object associated witht he profile name.
00082   virtual void  SetProfile(vtkMedProfile*);
00083   vtkGetObjectMacro(Profile, vtkMedProfile);
00084 
00085   // Description:
00086   // returns true if the data has been loaded
00087   int IsLoaded();
00088 
00089   // Description:
00090   // returns true if the profile name is not MED_NO_PROFILE
00091   int GetHasProfile();
00092 
00093   // Description:
00094   // Load the actual data of this field
00095   void  Load(med_storage_mode mode);
00096 
00097   // Description:
00098   // Get/Set of the MED Filter for parallel reading.
00099   //void  SetFilter(const med_filter& filter){this->Filter = filter;}
00100   //med_filter GetFilter(){return this->Filter;}
00101   void  SetFilter(vtkMedFilter* filter){this->Filter = filter;}
00102   vtkMedFilter* GetFilter(){return this->Filter;}
00103 protected:
00104   vtkMedFieldOnProfile();
00105   virtual ~vtkMedFieldOnProfile();
00106 
00107   med_int MedIterator;
00108   vtkMedFieldOverEntity *ParentFieldOverEntity;
00109   char* ProfileName;
00110   med_int ProfileSize;
00111   char* LocalizationName;
00112   med_int NumberOfIntegrationPoint;
00113   med_int NumberOfValues;
00114   vtkDataArray* Data;
00115   vtkMedProfile* Profile;
00116 
00117   //med_filter Filter;
00118   vtkMedFilter *Filter;
00119 
00120 private:
00121   vtkMedFieldOnProfile(const vtkMedFieldOnProfile&); // Not implemented.
00122   void operator=(const vtkMedFieldOnProfile&); // Not implemented.
00123 
00124 };
00125 
00126 #endif //__vtkMedFieldOnProfile_h_