00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include <ReferenceCounting.hpp>
00021
00022 #include <Variable.hpp>
00023
00024 #include <RealExpression.hpp>
00025 #include <Vector3Expression.hpp>
00026 #include <FunctionExpression.hpp>
00027 #include <MeshExpression.hpp>
00028 #include <SceneExpression.hpp>
00029 #include <DomainExpression.hpp>
00030 #include <OFStreamExpression.hpp>
00031 #include <IFStreamExpression.hpp>
00032
00033 ReferenceCounting<RealExpression>
00034 RealVariable::
00035 expression() const
00036 {
00037 return __expression;
00038 }
00039
00040 ConstReferenceCounting<RealExpression>
00041 RealVariable::operator=(ReferenceCounting<RealExpression> e)
00042 {
00043 __expression=e->value();
00044 return __expression;
00045 }
00046
00047 RealVariable::RealVariable(const std::string& name,
00048 ReferenceCounting<RealExpression> expression)
00049 : Variable(name, Variable::real),
00050 __expression(expression)
00051 {
00052 ;
00053 }
00054
00055 RealVariable::RealVariable(const RealVariable& rv)
00056 : Variable(rv),
00057 __expression(rv.__expression)
00058 {
00059 ;
00060 }
00061
00062 RealVariable::~RealVariable()
00063 {
00064 ;
00065 }
00066
00067 ReferenceCounting<Vector3Expression>
00068 Vector3Variable::
00069 expression() const
00070 {
00071 return __expression;
00072 }
00073
00074 ConstReferenceCounting<Vector3Expression>
00075 Vector3Variable::operator=(ReferenceCounting<Vector3Expression> e)
00076 {
00077 __expression=e;
00078 return __expression;
00079 }
00080
00081 Vector3Variable::Vector3Variable(const std::string& name,
00082 ReferenceCounting<Vector3Expression> expression)
00083 : Variable(name, Variable::vector3),
00084 __expression(expression)
00085 {
00086 ;
00087 }
00088
00089 Vector3Variable::Vector3Variable(const Vector3Variable& rv)
00090 : Variable(rv),
00091 __expression(rv.__expression)
00092 {
00093 ;
00094 }
00095
00096 Vector3Variable::~Vector3Variable()
00097 {
00098 ;
00099 }
00100
00101
00102
00103 ReferenceCounting<FunctionExpression>
00104 FunctionVariable::expression() const
00105 {
00106 return __expression;
00107 }
00108
00109 ConstReferenceCounting<FunctionExpression>
00110 FunctionVariable::operator=(ReferenceCounting<FunctionExpression> e)
00111 {
00112 __expression = e->value();
00113 return __expression;
00114 }
00115
00116 FunctionVariable::FunctionVariable(const std::string& name,
00117 ReferenceCounting<FunctionExpression> expression)
00118 : Variable(name, Variable::function),
00119 __expression(expression),
00120 __subscribed(false)
00121 {
00122 ;
00123 }
00124
00125 FunctionVariable::FunctionVariable(const FunctionVariable& rv)
00126 : Variable(rv),
00127 __expression(rv.__expression),
00128 __subscribed(rv.__subscribed)
00129 {
00130 ;
00131 }
00132
00133 FunctionVariable::~FunctionVariable()
00134 {
00135 ;
00136 }
00137
00138 TestFunctionVariable::
00139 TestFunctionVariable(const std::string& name)
00140 : Variable(name, Variable::testFuncion)
00141 {
00142 ;
00143 }
00144
00145 TestFunctionVariable::
00146 TestFunctionVariable(const TestFunctionVariable& rv)
00147 : Variable(rv)
00148 {
00149 ;
00150 }
00151
00152 TestFunctionVariable::~TestFunctionVariable()
00153 {
00154 ;
00155 }
00156
00157
00158
00159 ReferenceCounting<MeshExpression>
00160 MeshVariable::
00161 expression() const
00162 {
00163 if(__expression == 0) {
00164 throw ErrorHandler(__FILE__,__LINE__,
00165 "undefined mesh '"+name()+"'",
00166 ErrorHandler::normal);
00167 }
00168 return __expression;
00169 }
00170
00171 ConstReferenceCounting<MeshExpression>
00172 MeshVariable::operator=(ReferenceCounting<MeshExpression> e)
00173 {
00174 __expression = e;
00175 return __expression;
00176 }
00177
00178 MeshVariable::MeshVariable(const std::string& name)
00179 : Variable(name, Variable::mesh),
00180 __expression(0)
00181 {
00182 ;
00183 }
00184
00185 MeshVariable::MeshVariable(const std::string& name,
00186 ReferenceCounting<MeshExpression> expression)
00187 : Variable(name, Variable::mesh),
00188 __expression(expression)
00189 {
00190 ;
00191 }
00192
00193 MeshVariable::MeshVariable(const MeshVariable& rv)
00194 : Variable(rv),
00195 __expression(rv.__expression)
00196 {
00197 }
00198
00199 MeshVariable::~MeshVariable()
00200 {
00201 ;
00202 }
00203
00204
00205
00206 ReferenceCounting<SceneExpression>
00207 SceneVariable::
00208 expression() const
00209 {
00210 if(__expression == 0) {
00211 throw ErrorHandler(__FILE__,__LINE__,
00212 "undefined scene '"+name()+"'",
00213 ErrorHandler::normal);
00214 }
00215 return __expression;
00216 }
00217
00218 ConstReferenceCounting<SceneExpression>
00219 SceneVariable::operator=(ReferenceCounting<SceneExpression> e)
00220 {
00221 __expression = e;
00222 return __expression;
00223 }
00224
00225 SceneVariable::SceneVariable(const std::string& name)
00226 : Variable(name, Variable::scene),
00227 __expression(0)
00228 {
00229 fferr(2) << "\nstoring scene " << name << '\n';
00230 }
00231
00232 SceneVariable::SceneVariable(const std::string& name,
00233 ReferenceCounting<SceneExpression> expression)
00234 : Variable(name, Variable::scene),
00235 __expression(expression)
00236 {
00237 ;
00238 }
00239
00240 SceneVariable::SceneVariable(const SceneVariable& rv)
00241 : Variable(rv),
00242 __expression(rv.__expression)
00243 {
00244 }
00245
00246 SceneVariable::~SceneVariable()
00247 {
00248 ;
00249 }
00250
00251
00252
00253 ReferenceCounting<DomainExpression>
00254 DomainVariable::
00255 expression() const
00256 {
00257 if(__expression == 0) {
00258 throw ErrorHandler(__FILE__,__LINE__,
00259 "undefined domain '"+name()+"'",
00260 ErrorHandler::normal);
00261 }
00262 return __expression;
00263 }
00264
00265 ConstReferenceCounting<DomainExpression>
00266 DomainVariable::
00267 operator=(ReferenceCounting<DomainExpression> e)
00268 {
00269 __expression = e;
00270 return __expression;
00271 }
00272
00273 DomainVariable::DomainVariable(const std::string& name)
00274 : Variable(name, Variable::domain),
00275 __expression(0)
00276 {
00277 ;
00278 }
00279
00280 DomainVariable::DomainVariable(const std::string& name,
00281 ReferenceCounting<DomainExpression> expression)
00282 : Variable(name, Variable::domain),
00283 __expression(expression)
00284 {
00285 ;
00286 }
00287
00288 DomainVariable::DomainVariable(const DomainVariable& rv)
00289 : Variable(rv),
00290 __expression(rv.__expression)
00291 {
00292 }
00293
00294 DomainVariable::~DomainVariable()
00295 {
00296 ;
00297 }
00298
00299
00300
00301
00302 ReferenceCounting<OFStreamExpression>
00303 OFStreamVariable::
00304 expression() const
00305 {
00306 if(__expression == 0) {
00307 throw ErrorHandler(__FILE__,__LINE__,
00308 "undefined ofstream '"+name()+"'",
00309 ErrorHandler::normal);
00310 }
00311 return __expression;
00312 }
00313
00314 ConstReferenceCounting<OFStreamExpression>
00315 OFStreamVariable::
00316 operator=(ReferenceCounting<OFStreamExpression> e)
00317 {
00318 __expression = e;
00319 return __expression;
00320 }
00321
00322 OFStreamVariable::OFStreamVariable(const std::string& name)
00323 : Variable(name, Variable::ofstream),
00324 __expression(0)
00325 {
00326 ;
00327 }
00328
00329 OFStreamVariable::OFStreamVariable(const std::string& name,
00330 ReferenceCounting<OFStreamExpression> expression)
00331 : Variable(name, Variable::ofstream),
00332 __expression(expression)
00333 {
00334 ;
00335 }
00336
00337 OFStreamVariable::OFStreamVariable(const OFStreamVariable& rv)
00338 : Variable(rv),
00339 __expression(rv.__expression)
00340 {
00341 }
00342
00343 OFStreamVariable::~OFStreamVariable()
00344 {
00345 ;
00346 }
00347
00348
00349
00350 ReferenceCounting<IFStreamExpression>
00351 IFStreamVariable::
00352 expression() const
00353 {
00354 if(__expression == 0) {
00355 throw ErrorHandler(__FILE__,__LINE__,
00356 "undefined ifstream '"+name()+"'",
00357 ErrorHandler::normal);
00358 }
00359 return __expression;
00360 }
00361
00362 ConstReferenceCounting<IFStreamExpression>
00363 IFStreamVariable::
00364 operator=(ReferenceCounting<IFStreamExpression> e)
00365 {
00366 __expression = e;
00367 return __expression;
00368 }
00369
00370 IFStreamVariable::IFStreamVariable(const std::string& name)
00371 : Variable(name, Variable::ifstream),
00372 __expression(0)
00373 {
00374 ;
00375 }
00376
00377 IFStreamVariable::IFStreamVariable(const std::string& name,
00378 ReferenceCounting<IFStreamExpression> expression)
00379 : Variable(name, Variable::ifstream),
00380 __expression(expression)
00381 {
00382 ;
00383 }
00384
00385 IFStreamVariable::IFStreamVariable(const IFStreamVariable& rv)
00386 : Variable(rv),
00387 __expression(rv.__expression)
00388 {
00389 }
00390
00391 IFStreamVariable::~IFStreamVariable()
00392 {
00393 ;
00394 }