Back to index

salome-paravis  6.5.0
vtkMedFieldOverEntity.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 __vtkMedFieldOverEntity_h_
00021 #define __vtkMedFieldOverEntity_h_
00022 
00023 #include "vtkObject.h"
00024 #include "vtkMed.h"
00025 
00026 #include "vtkMedSetGet.h"
00027 #include "vtkMedUtilities.h"
00028 
00029 class vtkMedFieldOnProfile;
00030 class vtkMedFieldStep;
00031 
00032 class VTK_EXPORT vtkMedFieldOverEntity: public vtkObject
00033 {
00034 public:
00035   static vtkMedFieldOverEntity* New();
00036   vtkTypeRevisionMacro(vtkMedFieldOverEntity, vtkObject)
00037   void PrintSelf(ostream& os, vtkIndent indent);
00038 
00039   // Description:
00040   // the support of the cells : one of
00041   void  SetEntity(const vtkMedEntity& entity){this->Entity = entity;}
00042   const vtkMedEntity& GetEntity(){return this->Entity;}
00043 
00044   // Description:
00045   // This is the vtkMedFieldStep that owns this vtkMedFieldOverEntity
00046   virtual void  SetParentStep(vtkMedFieldStep*);
00047   vtkGetObjectMacro(ParentStep, vtkMedFieldStep);
00048 
00049   // Description:
00050   // This array store for each profile the field over this profile
00051   vtkGetObjectVectorMacro(FieldOnProfile, vtkMedFieldOnProfile);
00052   vtkSetObjectVectorMacro(FieldOnProfile, vtkMedFieldOnProfile);
00053 
00054   // Description:
00055   // This flag is set during the information pass, and tells if
00056   // there is a profile of not.
00057   // Note that if there is no profile, a dummy vtkMedFieldOnProfile
00058   // is created to store the actual data.
00059   vtkGetMacro(HasProfile, int);
00060   vtkSetMacro(HasProfile, int);
00061 
00062 protected:
00063   vtkMedFieldOverEntity();
00064   virtual ~vtkMedFieldOverEntity();
00065 
00066   vtkMedFieldStep* ParentStep;
00067 
00068   vtkMedEntity  Entity;
00069 
00070   int HasProfile;
00071 
00072   //BTX
00073   vtkObjectVector<vtkMedFieldOnProfile>* FieldOnProfile;
00074   //ETX
00075 
00076 private:
00077   vtkMedFieldOverEntity(const vtkMedFieldOverEntity&); // Not implemented.
00078   void operator=(const vtkMedFieldOverEntity&); // Not implemented.
00079 };
00080 
00081 #endif //__vtkMedFieldOverEntity_h_