Generator.hpp
Go to the documentation of this file.
1 /*
2 
3  This file is part of OpenFLUID software
4  Copyright(c) 2007, INRA - Montpellier SupAgro
5 
6 
7  == GNU General Public License Usage ==
8 
9  OpenFLUID is free software: you can redistribute it and/or modify
10  it under the terms of the GNU General Public License as published by
11  the Free Software Foundation, either version 3 of the License, or
12  (at your option) any later version.
13 
14  OpenFLUID is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  GNU General Public License for more details.
18 
19  You should have received a copy of the GNU General Public License
20  along with OpenFLUID. If not, see <http://www.gnu.org/licenses/>.
21 
22 
23  == Other Usage ==
24 
25  Other Usage means a use of OpenFLUID that is inconsistent with the GPL
26  license, and requires a written agreement between You and INRA.
27  Licensees for Other Usage of OpenFLUID may use this file in accordance
28  with the terms contained in the written agreement between You and INRA.
29 
30 */
31 
32 
33 /**
34  @file Generator.hpp
35 
36  @author Jean-Christophe FABRE <jean-christophe.fabre@inra.fr>
37 */
38 
39 
40 #ifndef __OPENFLUID_MACHINE_GENERATOR_HPP__
41 #define __OPENFLUID_MACHINE_GENERATOR_HPP__
42 
43 
44 #include <openfluid/dllexport.hpp>
47 
48 
49 namespace openfluid { namespace machine {
50 
51 
53 {
54  protected:
55 
57 
59 
61 
62  unsigned int m_VarSize;
63 
64 
65  public:
66 
67  Generator();
68 
69  virtual ~Generator()
70  { }
71 
72 
74  openfluid::fluidx::GeneratorDescriptor::GeneratorMethod GenMethod, unsigned int VarSize=1)
75  {
76  m_VarName = VarName;
77  m_UnitsClass = UnitsClass;
78  m_GenMethod = GenMethod;
79  m_VarSize = VarSize;
80  }
81 
83  {
84  return m_VarName;
85  }
86 
88  {
89  return m_UnitsClass;
90  }
91 
92  /**
93  @deprecated Since version 2.1.0. Use openfluid::machine::Generator::getUnitsClass() const instead
94  */
96  {
97  return m_UnitsClass;
98  }
99 
101  {
102  return m_GenMethod;
103  }
104 
105  inline bool isVectorVariable() const
106  {
107  return (m_VarSize > 1);
108  }
109 
110  inline bool isScalarVariable() const
111  {
112  return (!isVectorVariable());
113  }
114 
115  inline unsigned int getVariableSize() const
116  {
117  return m_VarSize;
118  }
119 
120  virtual void prepareData()
121  {
122 
123  }
124 };
125 
126 
127 } } //namespaces
128 
129 
130 #endif /* __OPENFLUID_MACHINE_GENERATOR_HPP__ */
openfluid::core::UnitsClass_t getUnitClass() const
Definition: Generator.hpp:95
GeneratorMethod
Definition: GeneratorDescriptor.hpp:54
Definition: Generator.hpp:52
openfluid::core::UnitsClass_t getUnitsClass() const
Definition: Generator.hpp:87
virtual ~Generator()
Definition: Generator.hpp:69
Abstract class for simulator plugin.
Definition: PluggableSimulator.hpp:105
openfluid::core::VariableName_t m_VarName
Definition: Generator.hpp:56
openfluid::core::VariableName_t getVariableName() const
Definition: Generator.hpp:82
bool isVectorVariable() const
Definition: Generator.hpp:105
void setInfos(openfluid::core::VariableName_t VarName, openfluid::core::UnitsClass_t UnitsClass, openfluid::fluidx::GeneratorDescriptor::GeneratorMethod GenMethod, unsigned int VarSize=1)
Definition: Generator.hpp:73
Definition: ApplicationException.hpp:47
openfluid::fluidx::GeneratorDescriptor::GeneratorMethod m_GenMethod
Definition: Generator.hpp:60
bool isScalarVariable() const
Definition: Generator.hpp:110
openfluid::core::UnitsClass_t m_UnitsClass
Definition: Generator.hpp:58
std::string VariableName_t
Definition: TypeDefs.hpp:86
std::string UnitsClass_t
Definition: TypeDefs.hpp:71
unsigned int getVariableSize() const
Definition: Generator.hpp:115
unsigned int m_VarSize
Definition: Generator.hpp:62
#define OPENFLUID_API
Definition: dllexport.hpp:86
virtual void prepareData()
Definition: Generator.hpp:120
openfluid::fluidx::GeneratorDescriptor::GeneratorMethod getGeneratorMethod() const
Definition: Generator.hpp:100