ThermoFemPhysics
The GeMA Thermo FEM Physics Plugin
Loading...
Searching...
No Matches
gmpThermoFemPhysicsFactory.h
Go to the documentation of this file.
1/************************************************************************
2**
3** Copyright (C) 2014 by Carlos Augusto Teixera Mendes
4** All rights reserved.
5**
6** This file is part of the "GeMA" software. It's use should respect
7** the terms in the license agreement that can be found together
8** with this source code.
9** It is provided AS IS, with NO WARRANTY OF ANY KIND,
10** INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR
11** A PARTICULAR PURPOSE.
12**
13************************************************************************/
14
24#ifndef _GEMA_PLUGIN_THERMO_FEM_PHYSICS_FACTORY_H_
25#define _GEMA_PLUGIN_THERMO_FEM_PHYSICS_FACTORY_H_
26
27#include <QObject>
28
30#include "gmpThermoFemPhysics.h"
31#include "gmpThermalFlow.h"
32#include "gmpThermoInterface.h"
34#include "gmpThermoVersion.h"
35
38{
40 Q_PLUGIN_METADATA(IID GmPluginObjectFactoryInterfaceIID)
42
43public:
46
47 // See comments on the base class method declaration
48 virtual GmPluginObject* instance(QString category, QString objType, GmSimulationData* simulation,
49 QString id, QString description)
50 {
51 assert(category == GM_PLUGIN_PHYSICS);
52
53 // Common object instanciation
54 if(objType == "heat")
55 return new GmpThermalFlow<GmpThermoFemPhysics>("heat", simulation, id, description, logger());
56 else if (objType == "AxHeat")
57 return new GmpThermalAxFlow<GmpThermoFemPhysics>("AxHeat", simulation, id, description, logger());
58 else if (objType == "Interface")
59 return new GmpThermoInterfaceFlow<GmpThermoInterface>("Interface", simulation, id, description, logger());
60 else if (objType == "AxInterface")
61 return new GmpThermoInterfaceAxFlow<GmpThermoInterface>("AxInterface", simulation, id, description, logger());
62 else
63 return NULL;
64 }
65
67 virtual const QMap<QString, QString>& versionInfo() const { return GmpThermoFemPhysicsVersionInfo(); }
68
70 virtual const QStringList& depVersionInfo() const { return GmpThermoFemPhysicsRevisionDependencies(); }
71};
72
73#endif
const GmLogCategory & logger()
Hydraulic Axissymetric.
Definition gmpThermalFlow.h:67
Hydraulic 2D & 3D for Quad, Tri, Hex and Tet.
Definition gmpThermalFlow.h:34
Implementation of the ThermoFemPhysics factory plugin.
Definition gmpThermoFemPhysicsFactory.h:38
GmpThermoFemPhysicsFactory()
Default constructor.
Definition gmpThermoFemPhysicsFactory.h:45
virtual const QMap< QString, QString > & versionInfo() const
Retuns version information for the plugin. See comments on the base class.
Definition gmpThermoFemPhysicsFactory.h:67
virtual const QStringList & depVersionInfo() const
Retuns dependency version information for the plugin. See comments on the base class.
Definition gmpThermoFemPhysicsFactory.h:70
Thermal axisymmetric interface.
Definition gmpThermoInterfaceFlow.h:57
Thermal zero-thickness interface 2D & 3D for Int2dl4, Int2dl6, and Int3dl8.
Definition gmpThermoInterfaceFlow.h:34
#define GmPluginObjectFactoryInterfaceIID
Declaration of the gmpThermalFlow classes.
Declaration of the GmpThermoFemPhysics classes.
Declaration of the GmpThermoInterface classes.
Declaration of the gmpThermoInterfaceXxxxFlow classes.
Q_INTERFACES(...)
Q_OBJECTQ_OBJECT