1 // Copyright (C) 2010-2013 CEA/DEN, EDF R&D
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License.
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 // Lesser General Public License for more details.
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 #ifndef __vtkMedFieldStep_h_
21 #define __vtkMedFieldStep_h_
23 #include "vtkObject.h"
24 #include "vtkMedSetGet.h"
26 #include "vtkMedUtilities.h"
31 class vtkMedFieldOverEntity;
34 class VTK_EXPORT vtkMedFieldStep: public vtkObject
37 static vtkMedFieldStep* New();
38 vtkTypeMacro(vtkMedFieldStep, vtkObject);
39 void PrintSelf(ostream& os, vtkIndent indent);
42 // This iterator is used when reading information from the med file
43 vtkSetMacro(MedIterator, med_int);
44 vtkGetMacro(MedIterator, med_int);
47 // The compute step of this field
48 void SetComputeStep(const vtkMedComputeStep& cs)
50 this->ComputeStep = cs;
52 const vtkMedComputeStep& GetComputeStep() const
54 return this->ComputeStep;
58 // The compute step of the mesh supporting this field at this step
59 void SetMeshComputeStep(const vtkMedComputeStep& cs)
61 this->MeshComputeStep = cs;
63 const vtkMedComputeStep& GetMeshComputeStep() const
65 return this->MeshComputeStep;
69 // Set the number of steps of this field over these cells.
70 vtkGetObjectVectorMacro(FieldOverEntity, vtkMedFieldOverEntity);
71 vtkSetObjectVectorMacro(FieldOverEntity, vtkMedFieldOverEntity);
74 // returns the vtkMedFieldOverEntity for the given Type and Geometry;
75 virtual vtkMedFieldOverEntity*
76 GetFieldOverEntity(const vtkMedEntity&);
79 // The parent field is the one that owns this step
80 virtual void SetParentField(vtkMedField*);
81 vtkGetObjectMacro(ParentField, vtkMedField);
84 // The parent field is the one that owns this step
85 virtual void SetPreviousStep(vtkMedFieldStep*);
86 vtkGetObjectMacro(PreviousStep, vtkMedFieldStep);
88 virtual void LoadInformation();
91 // This flag is used to delay loading information on all entity as long as possible
92 vtkSetMacro(EntityInfoLoaded, med_int);
93 vtkGetMacro(EntityInfoLoaded, med_int);
97 virtual ~vtkMedFieldStep();
101 vtkMedComputeStep ComputeStep;
102 vtkMedComputeStep MeshComputeStep;
103 vtkMedField* ParentField;
104 vtkMedFieldStep* PreviousStep;
107 vtkObjectVector<vtkMedFieldOverEntity>* FieldOverEntity;
111 vtkMedFieldStep(const vtkMedFieldStep&); // Not implemented.
112 void operator=(const vtkMedFieldStep&); // Not implemented.
115 #endif //__vtkMedFieldStep_h_