Salome HOME
Initial version
authorsmh <smh@opencascade.com>
Tue, 23 Mar 2004 06:58:45 +0000 (06:58 +0000)
committersmh <smh@opencascade.com>
Tue, 23 Mar 2004 06:58:45 +0000 (06:58 +0000)
src/NETGENPlugin.xml [new file with mode: 0644]
src/NETGENPlugin_Algorithm.idl [new file with mode: 0644]
src/NETGENPlugin_NETGEN_3D_i.hxx [new file with mode: 0644]
src/NETGENPlugin_i.cxx [new file with mode: 0644]

diff --git a/src/NETGENPlugin.xml b/src/NETGENPlugin.xml
new file mode 100644 (file)
index 0000000..3a7409f
--- /dev/null
@@ -0,0 +1,19 @@
+<?xml version='1.0' encoding='us-ascii'?>
+<!DOCTYPE meshers PUBLIC "" "desktop.dtd">
+
+<!--  GUI customization for MESH component  -->
+
+<meshers>
+
+<meshers-group name="NETGEN"
+               resources="NETGENPlugin"
+               server-lib="libNETGENEngine.so"
+               gui-lib="">
+  <algorithms>
+    <algorithm type="NETGEN_3D"
+               label-id="Tetrahedron (Netgen)"
+               icon-id="mesh_algo_tetra.png"/>
+  </algorithms>
+</meshers-group>
+
+</meshers>
diff --git a/src/NETGENPlugin_Algorithm.idl b/src/NETGENPlugin_Algorithm.idl
new file mode 100644 (file)
index 0000000..d8d0263
--- /dev/null
@@ -0,0 +1,45 @@
+//  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+// 
+//  This library is free software; you can redistribute it and/or 
+//  modify it under the terms of the GNU Lesser General Public 
+//  License as published by the Free Software Foundation; either 
+//  version 2.1 of the License. 
+// 
+//  This library is distributed in the hope that it will be useful, 
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+//  Lesser General Public License for more details. 
+// 
+//  You should have received a copy of the GNU Lesser General Public 
+//  License along with this library; if not, write to the Free Software 
+//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+// 
+//  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+//
+//
+//
+//  File   : NETGENPlugin_Algorithm.idl
+//  Author : Julia DOROVSKIKH
+//  $Header$
+
+#ifndef _SMESH_NETGENALGORITHM_IDL_
+#define _SMESH_NETGENALGORITHM_IDL_
+
+#include "SMESH_Hypothesis.idl"
+
+/*!
+ * NETGENPlugin: interfaces to NETGEN related hypotheses and algorithms
+ */
+module NETGENPlugin
+{
+  /*!
+   * NETGENPlugin_NETGEN_3D: interface of "Tetrahedron (Netgen)" algorithm
+   */
+  interface NETGENPlugin_NETGEN_3D : SMESH::SMESH_3D_Algo
+  {
+  };
+
+};
+
+#endif
diff --git a/src/NETGENPlugin_NETGEN_3D_i.hxx b/src/NETGENPlugin_NETGEN_3D_i.hxx
new file mode 100644 (file)
index 0000000..275988e
--- /dev/null
@@ -0,0 +1,58 @@
+//  SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses
+//
+//  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+// 
+//  This library is free software; you can redistribute it and/or 
+//  modify it under the terms of the GNU Lesser General Public 
+//  License as published by the Free Software Foundation; either 
+//  version 2.1 of the License. 
+// 
+//  This library is distributed in the hope that it will be useful, 
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+//  Lesser General Public License for more details. 
+// 
+//  You should have received a copy of the GNU Lesser General Public 
+//  License along with this library; if not, write to the Free Software 
+//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+// 
+//  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+//
+//
+//
+//  File   : NETGENPlugin_NETGEN_3D_i.hxx
+//           Moved here from SMESH_NETGEN_3D_i.hxx
+//  Author : Nadir Bouhamou CEA
+//  Module : SMESH
+//  $Header$
+
+#ifndef _NETGENPlugin_NETGEN_3D_I_HXX_
+#define _NETGENPlugin_NETGEN_3D_I_HXX_
+
+#include <SALOMEconfig.h>
+#include CORBA_SERVER_HEADER(NETGENPlugin_Algorithm)
+
+#include "SMESH_3D_Algo_i.hxx"
+#include "NETGENPlugin_NETGEN_3D.hxx"
+
+// ======================================================
+// NETGEN 3d algorithm
+// ======================================================
+class NETGENPlugin_NETGEN_3D_i:
+  public virtual POA_NETGENPlugin::NETGENPlugin_NETGEN_3D,
+  public virtual SMESH_3D_Algo_i
+{
+public:
+  // Constructor
+  NETGENPlugin_NETGEN_3D_i( PortableServer::POA_ptr thePOA,
+                     int                     theStudyId,
+                     ::SMESH_Gen*            theGenImpl );
+  // Destructor
+  virtual ~NETGENPlugin_NETGEN_3D_i();
+  // Get implementation
+  ::NETGENPlugin_NETGEN_3D* GetImpl();
+};
+
+#endif
diff --git a/src/NETGENPlugin_i.cxx b/src/NETGENPlugin_i.cxx
new file mode 100644 (file)
index 0000000..a08f1be
--- /dev/null
@@ -0,0 +1,57 @@
+//  SMESH NETGENPlugin : implementaion of SMESH idl descriptions
+//
+//  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+// 
+//  This library is free software; you can redistribute it and/or 
+//  modify it under the terms of the GNU Lesser General Public 
+//  License as published by the Free Software Foundation; either 
+//  version 2.1 of the License. 
+// 
+//  This library is distributed in the hope that it will be useful, 
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+//  Lesser General Public License for more details. 
+// 
+//  You should have received a copy of the GNU Lesser General Public 
+//  License along with this library; if not, write to the Free Software 
+//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+// 
+//  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+//
+//
+//
+//  File   : NETGENPlugin.cxx
+//  Author : Julia DOROVSKIKH
+//  Module : SMESH
+//  $Header$
+
+using namespace std;
+#include "utilities.h"
+
+#include "NETGENPlugin_NETGEN_3D_i.hxx"
+
+//=============================================================================
+/*!
+ *
+ */
+//=============================================================================
+
+extern "C"
+{
+  GenericHypothesisCreator_i* GetHypothesisCreator (const char* aHypName)
+  {
+    MESSAGE("GetHypothesisCreator " << aHypName);
+
+    GenericHypothesisCreator_i* aCreator = 0;
+
+    // Hypotheses
+
+    // Algorithms
+    if (strcmp(aHypName, "NETGEN_3D") == 0)
+      aCreator = new HypothesisCreator_i<NETGENPlugin_NETGEN_3D_i>;
+    else ;
+
+    return aCreator;
+  }
+}