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 __vtkMedConstantAttribute_h_
21 #define __vtkMedConstantAttribute_h_
23 #include "vtkObject.h"
26 class vtkAbstractArray;
27 class vtkMedStructElement;
30 class VTK_EXPORT vtkMedConstantAttribute : public vtkObject
33 static vtkMedConstantAttribute* New();
34 vtkTypeMacro(vtkMedConstantAttribute, vtkObject)
35 void PrintSelf(ostream& os, vtkIndent indent);
38 // This is the name of this attribute
39 vtkSetStringMacro(Name);
40 vtkGetStringMacro(Name);
43 // The iterator in the med file of this constant attribute
44 vtkSetMacro(MedIterator, med_int);
45 vtkGetMacro(MedIterator, med_int);
48 // The Geometry type this structural elements lies on.
49 vtkSetMacro(AttributeType, med_attribute_type);
50 vtkGetMacro(AttributeType, med_attribute_type);
53 // The dimension of this structural elements model
54 vtkSetMacro(NumberOfComponent, med_int);
55 vtkGetMacro(NumberOfComponent, med_int);
58 // MED_CELL if the support mesh has any cell, MED_NODE otherwise
59 vtkSetMacro(SupportEntityType, med_entity_type);
60 vtkGetMacro(SupportEntityType, med_entity_type);
63 // The name of the profile if any, MED_NO_PROFILE by default
64 vtkSetStringMacro(ProfileName);
65 vtkGetStringMacro(ProfileName);
68 // The Size of the profile if any
69 vtkSetMacro(ProfileSize, med_int);
70 vtkGetMacro(ProfileSize, med_int);
73 // This store the values of this attribute
74 virtual void SetValues(vtkAbstractArray*);
75 vtkGetObjectMacro(Values, vtkAbstractArray);
78 // This is the pointer to the actual profile used by this attribute
79 virtual void SetProfile(vtkMedProfile*);
80 vtkGetObjectMacro(Profile, vtkMedProfile);
83 // The Structural element on which lies this attribute
84 virtual void SetParentStructElement(vtkMedStructElement*);
85 vtkGetObjectMacro(ParentStructElement, vtkMedStructElement);
88 vtkMedConstantAttribute();
89 virtual ~vtkMedConstantAttribute();
93 med_attribute_type AttributeType;
94 med_int NumberOfComponent;
95 med_entity_type SupportEntityType;
98 vtkAbstractArray* Values;
99 vtkMedProfile* Profile;
101 vtkMedStructElement * ParentStructElement;
104 vtkMedConstantAttribute(const vtkMedConstantAttribute&); // Not implemented.
105 void operator=(const vtkMedConstantAttribute&); // Not implemented.
109 #endif //__vtkMedConstantAttribute_h_