Salome HOME
87ac4eb2d0bc264d8e9fb80470b015ba0fb1c4e3
[modules/paravis.git] / src / Plugins / MedReader / IO / vtkMedConstantAttribute.h
1 #ifndef __vtkMedConstantAttribute_h_
2 #define __vtkMedConstantAttribute_h_
3
4 #include "vtkObject.h"
5 #include "vtkMed.h"
6
7 class vtkAbstractArray;
8 class vtkMedStructElement;
9 class vtkMedProfile;
10
11 class VTK_EXPORT vtkMedConstantAttribute : public vtkObject
12 {
13 public :
14   static vtkMedConstantAttribute* New();
15   vtkTypeMacro(vtkMedConstantAttribute, vtkObject)
16   void PrintSelf(ostream& os, vtkIndent indent);
17
18   // Description:
19   // This is the name of this attribute
20   vtkSetStringMacro(Name);
21   vtkGetStringMacro(Name);
22
23   // Description:
24   // The iterator in the med file of this constant attribute
25   vtkSetMacro(MedIterator, med_int);
26   vtkGetMacro(MedIterator, med_int);
27
28   // Description:
29   // The Geometry type this structural elements lies on.
30   vtkSetMacro(AttributeType, med_attribute_type);
31   vtkGetMacro(AttributeType, med_attribute_type);
32
33   // Description:
34   // The dimension of this structural elements model
35   vtkSetMacro(NumberOfComponent, med_int);
36   vtkGetMacro(NumberOfComponent, med_int);
37
38   // Description:
39   // MED_CELL if the support mesh has any cell, MED_NODE otherwise
40   vtkSetMacro(SupportEntityType, med_entity_type);
41   vtkGetMacro(SupportEntityType, med_entity_type);
42
43   // Description:
44   // The name of the profile if any, MED_NO_PROFILE by default
45   vtkSetStringMacro(ProfileName);
46   vtkGetStringMacro(ProfileName);
47
48   // Description:
49   // The Size of the profile if any
50   vtkSetMacro(ProfileSize, med_int);
51   vtkGetMacro(ProfileSize, med_int);
52
53   // Description:
54   // This store the values of this attribute
55   virtual void  SetValues(vtkAbstractArray*);
56   vtkGetObjectMacro(Values, vtkAbstractArray);
57
58   // Description:
59   // This is the pointer to the actual profile used by this attribute
60   virtual void  SetProfile(vtkMedProfile*);
61   vtkGetObjectMacro(Profile, vtkMedProfile);
62
63   // Description:
64   // The Structural element on which lies this attribute
65   virtual void  SetParentStructElement(vtkMedStructElement*);
66   vtkGetObjectMacro(ParentStructElement, vtkMedStructElement);
67
68 protected:
69   vtkMedConstantAttribute();
70   virtual ~vtkMedConstantAttribute();
71
72   char *Name;
73   med_int MedIterator;
74   med_attribute_type AttributeType;
75   med_int NumberOfComponent;
76   med_entity_type SupportEntityType;
77   char* ProfileName;
78   med_int ProfileSize;
79   vtkAbstractArray* Values;
80   vtkMedProfile* Profile;
81
82   vtkMedStructElement * ParentStructElement;
83
84 private:
85   vtkMedConstantAttribute(const vtkMedConstantAttribute&); // Not implemented.
86   void operator=(const vtkMedConstantAttribute&); // Not implemented.
87
88 };
89
90 #endif //__vtkMedConstantAttribute_h_