Salome HOME
Merge from V5_1_main branch 24/11/2010
[plugins/ghs3dplugin.git] / src / GHS3DPlugin_i.cxx
1 //  Copyright (C) 2004-2010  CEA/DEN, EDF R&D
2 //
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.
7 //
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.
12 //
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
16 //
17 //  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19
20 //  SMESH GHS3DPlugin : implementaion of SMESH idl descriptions
21 //  File   : GHS3DPlugin.cxx
22 //  Author : Julia DOROVSKIKH
23 //  Module : SMESH
24 //  $Header$
25 //
26 #include "SMESH_Hypothesis_i.hxx"
27
28 #include "utilities.h"
29
30 #include "GHS3DPlugin_GHS3D_i.hxx"
31 #include "GHS3DPlugin_Hypothesis_i.hxx"
32
33 using namespace std;
34
35 template <class T> class GHS3DPlugin_Creator_i:public HypothesisCreator_i<T>
36 {
37   // as we have 'module GHS3DPlugin' in GHS3DPlugin_Algorithm.idl
38   virtual std::string GetModuleName() { return "GHS3DPlugin"; }
39 };
40
41 //=============================================================================
42 /*!
43  *
44  */
45 //=============================================================================
46
47 extern "C"
48 {
49   GHS3DPLUGIN_EXPORT
50   GenericHypothesisCreator_i* GetHypothesisCreator (const char* aHypName)
51   {
52     MESSAGE("GetHypothesisCreator " << aHypName);
53
54     GenericHypothesisCreator_i* aCreator = 0;
55
56     // Hypotheses
57
58     // Algorithm
59     if (strcmp(aHypName, "GHS3D_3D") == 0)
60       aCreator = new GHS3DPlugin_Creator_i<GHS3DPlugin_GHS3D_i>;
61     // Hypothesis
62     else if (strcmp(aHypName, "GHS3D_Parameters") == 0)
63       aCreator = new GHS3DPlugin_Creator_i<GHS3DPlugin_Hypothesis_i>;
64     else ;
65
66     return aCreator;
67   }
68 }